{"action":"created","issue":{"url":"https://api.github.com/repos/dotnet/roslyn/issues/29044","repository_url":"https://api.github.com/repos/dotnet/roslyn","labels_url":"https://api.github.com/repos/dotnet/roslyn/issues/29044/labels{/name}","comments_url":"https://api.github.com/repos/dotnet/roslyn/issues/29044/comments","events_url":"https://api.github.com/repos/dotnet/roslyn/issues/29044/events","html_url":"https://github.com/dotnet/roslyn/pull/29044","id":347221548,"node_id":"MDExOlB1bGxSZXF1ZXN0MjA1ODk4Mjcx","number":29044,"title":"fixed race by making it thread-safe","user":{"login":"heejaechang","id":1333179,"node_id":"MDQ6VXNlcjEzMzMxNzk=","avatar_url":"https://avatars3.githubusercontent.com/u/1333179?v=4","gravatar_id":"","url":"https://api.github.com/users/heejaechang","html_url":"https://github.com/heejaechang","followers_url":"https://api.github.com/users/heejaechang/followers","following_url":"https://api.github.com/users/heejaechang/following{/other_user}","gists_url":"https://api.github.com/users/heejaechang/gists{/gist_id}","starred_url":"https://api.github.com/users/heejaechang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/heejaechang/subscriptions","organizations_url":"https://api.github.com/users/heejaechang/orgs","repos_url":"https://api.github.com/users/heejaechang/repos","events_url":"https://api.github.com/users/heejaechang/events{/privacy}","received_events_url":"https://api.github.com/users/heejaechang/received_events","type":"User","site_admin":false},"labels":[{"id":166377917,"node_id":"MDU6TGFiZWwxNjYzNzc5MTc=","url":"https://api.github.com/repos/dotnet/roslyn/labels/Area-IDE","name":"Area-IDE","color":"5319e7","default":false},{"id":562414521,"node_id":"MDU6TGFiZWw1NjI0MTQ1MjE=","url":"https://api.github.com/repos/dotnet/roslyn/labels/Pending%20director%20approval","name":"Pending director approval","color":"fbca04","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/dotnet/roslyn/milestones/33","html_url":"https://github.com/dotnet/roslyn/milestone/33","labels_url":"https://api.github.com/repos/dotnet/roslyn/milestones/33/labels","id":3020805,"node_id":"MDk6TWlsZXN0b25lMzAyMDgwNQ==","number":33,"title":"15.8","description":null,"creator":{"login":"sharwell","id":1408396,"node_id":"MDQ6VXNlcjE0MDgzOTY=","avatar_url":"https://avatars1.githubusercontent.com/u/1408396?v=4","gravatar_id":"","url":"https://api.github.com/users/sharwell","html_url":"https://github.com/sharwell","followers_url":"https://api.github.com/users/sharwell/followers","following_url":"https://api.github.com/users/sharwell/following{/other_user}","gists_url":"https://api.github.com/users/sharwell/gists{/gist_id}","starred_url":"https://api.github.com/users/sharwell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sharwell/subscriptions","organizations_url":"https://api.github.com/users/sharwell/orgs","repos_url":"https://api.github.com/users/sharwell/repos","events_url":"https://api.github.com/users/sharwell/events{/privacy}","received_events_url":"https://api.github.com/users/sharwell/received_events","type":"User","site_admin":false},"open_issues":21,"closed_issues":611,"state":"open","created_at":"2018-01-08T19:35:57Z","updated_at":"2018-08-03T13:45:52Z","due_on":null,"closed_at":null},"comments":2,"created_at":"2018-08-03T00:49:11Z","updated_at":"2018-08-03T21:31:50Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/dotnet/roslyn/pulls/29044","html_url":"https://github.com/dotnet/roslyn/pull/29044","diff_url":"https://github.com/dotnet/roslyn/pull/29044.diff","patch_url":"https://github.com/dotnet/roslyn/pull/29044.patch"},"body":"### Customer scenario\r\n\r\nsometimes VS crashes after solution load.\r\n\r\n### Bugs this fixes\r\n\r\nhttps://devdiv.visualstudio.com/DevDiv/_workitems/edit/657610\r\n\r\n### Workarounds, if any\r\n\r\nNo workaround\r\n\r\n### Risk\r\n\r\nLow. it removes existing crash.\r\n\r\n### Performance impact\r\n\r\nLow. it doesn't do anything expensive.\r\n\r\n### Is this a regression from a previous update?\r\n\r\nprobably yes. this probably has always run from UI thread but now can run in any thread due to our work to move things BG., not this code explicitly, but probably one that used to call this from UI thread, now no longer does that.\r\n\r\n### Root cause analysis\r\n\r\nthe code was not thread-safe. when called from multiple threads, the data structure (Dictionary) that is not thread-safe got messed up and crash. now those are guarded by a lock.\r\n\r\n### How was the bug found?\r\n\r\ndogfooding."},"comment":{"url":"https://api.github.com/repos/dotnet/roslyn/issues/comments/410381753","html_url":"https://github.com/dotnet/roslyn/pull/29044#issuecomment-410381753","issue_url":"https://api.github.com/repos/dotnet/roslyn/issues/29044","id":410381753,"node_id":"MDEyOklzc3VlQ29tbWVudDQxMDM4MTc1Mw==","user":{"login":"heejaechang","id":1333179,"node_id":"MDQ6VXNlcjEzMzMxNzk=","avatar_url":"https://avatars3.githubusercontent.com/u/1333179?v=4","gravatar_id":"","url":"https://api.github.com/users/heejaechang","html_url":"https://github.com/heejaechang","followers_url":"https://api.github.com/users/heejaechang/followers","following_url":"https://api.github.com/users/heejaechang/following{/other_user}","gists_url":"https://api.github.com/users/heejaechang/gists{/gist_id}","starred_url":"https://api.github.com/users/heejaechang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/heejaechang/subscriptions","organizations_url":"https://api.github.com/users/heejaechang/orgs","repos_url":"https://api.github.com/users/heejaechang/repos","events_url":"https://api.github.com/users/heejaechang/events{/privacy}","received_events_url":"https://api.github.com/users/heejaechang/received_events","type":"User","site_admin":false},"created_at":"2018-08-03T21:31:50Z","updated_at":"2018-08-03T21:31:50Z","author_association":"CONTRIBUTOR","body":"retest windows_debug_vs-integration_prtest  please"}}
{"actor":{"display_login":"heejaechang"}}