{"action":"created","issue":{"url":"https://api.github.com/repos/sbt/sbt/issues/4028","repository_url":"https://api.github.com/repos/sbt/sbt","labels_url":"https://api.github.com/repos/sbt/sbt/issues/4028/labels{/name}","comments_url":"https://api.github.com/repos/sbt/sbt/issues/4028/comments","events_url":"https://api.github.com/repos/sbt/sbt/issues/4028/events","html_url":"https://github.com/sbt/sbt/pull/4028","id":307092660,"number":4028,"title":"Use Vector for EventHandler","user":{"login":"eatkins","id":2658825,"avatar_url":"https://avatars3.githubusercontent.com/u/2658825?v=4","gravatar_id":"","url":"https://api.github.com/users/eatkins","html_url":"https://github.com/eatkins","followers_url":"https://api.github.com/users/eatkins/followers","following_url":"https://api.github.com/users/eatkins/following{/other_user}","gists_url":"https://api.github.com/users/eatkins/gists{/gist_id}","starred_url":"https://api.github.com/users/eatkins/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eatkins/subscriptions","organizations_url":"https://api.github.com/users/eatkins/orgs","repos_url":"https://api.github.com/users/eatkins/repos","events_url":"https://api.github.com/users/eatkins/events{/privacy}","received_events_url":"https://api.github.com/users/eatkins/received_events","type":"User","site_admin":false},"labels":[{"id":123867812,"url":"https://api.github.com/repos/sbt/sbt/labels/ready","name":"ready","color":"ededed","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2018-03-21T01:15:52Z","updated_at":"2018-03-21T11:31:25Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/sbt/sbt/pulls/4028","html_url":"https://github.com/sbt/sbt/pull/4028","diff_url":"https://github.com/sbt/sbt/pull/4028.diff","patch_url":"https://github.com/sbt/sbt/pull/4028.patch"},"body":"ArrayList::add is not thread safe. I ran into cases where async tests\r\nusing utests would fail even when all of the individual tests passed.\r\nThis was because multiple threads called back into the handle method of\r\nthe handler instance variable, which just delegated to eventList::add.\r\nWhen this happened, one of the events would get added to the list as a\r\nnull reference, which would manifest as an NPE upstream on the master\r\nprocess. After this change, my tests stopped failing.\r\n\r\n(See the guidelines for contributing, linked above)\r\n"},"comment":{"url":"https://api.github.com/repos/sbt/sbt/issues/comments/374907269","html_url":"https://github.com/sbt/sbt/pull/4028#issuecomment-374907269","issue_url":"https://api.github.com/repos/sbt/sbt/issues/4028","id":374907269,"user":{"login":"retronym","id":65551,"avatar_url":"https://avatars0.githubusercontent.com/u/65551?v=4","gravatar_id":"","url":"https://api.github.com/users/retronym","html_url":"https://github.com/retronym","followers_url":"https://api.github.com/users/retronym/followers","following_url":"https://api.github.com/users/retronym/following{/other_user}","gists_url":"https://api.github.com/users/retronym/gists{/gist_id}","starred_url":"https://api.github.com/users/retronym/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/retronym/subscriptions","organizations_url":"https://api.github.com/users/retronym/orgs","repos_url":"https://api.github.com/users/retronym/repos","events_url":"https://api.github.com/users/retronym/events{/privacy}","received_events_url":"https://api.github.com/users/retronym/received_events","type":"User","site_admin":false},"created_at":"2018-03-21T11:31:25Z","updated_at":"2018-03-21T11:31:25Z","author_association":"OWNER","body":"But I also recently discovered #4010 in the context of Scalacheck forked tests, which has the same symptom you're reporting: a single test failure doesn't fail the entire suite. @eatkins How sure are you that this change fixes the problem you saw?"}}
{"actor":{"display_login":"retronym"}}