{"action":"created","issue":{"url":"https://api.github.com/repos/ReactWindows/react-native-windows/issues/712","repository_url":"https://api.github.com/repos/ReactWindows/react-native-windows","labels_url":"https://api.github.com/repos/ReactWindows/react-native-windows/issues/712/labels{/name}","comments_url":"https://api.github.com/repos/ReactWindows/react-native-windows/issues/712/comments","events_url":"https://api.github.com/repos/ReactWindows/react-native-windows/issues/712/events","html_url":"https://github.com/ReactWindows/react-native-windows/pull/712","id":178910785,"number":712,"title":"fix(ReactContext): Dispose path for ReactContext created deadlock","user":{"login":"rozele","id":1106239,"avatar_url":"https://avatars.githubusercontent.com/u/1106239?v=3","gravatar_id":"","url":"https://api.github.com/users/rozele","html_url":"https://github.com/rozele","followers_url":"https://api.github.com/users/rozele/followers","following_url":"https://api.github.com/users/rozele/following{/other_user}","gists_url":"https://api.github.com/users/rozele/gists{/gist_id}","starred_url":"https://api.github.com/users/rozele/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rozele/subscriptions","organizations_url":"https://api.github.com/users/rozele/orgs","repos_url":"https://api.github.com/users/rozele/repos","events_url":"https://api.github.com/users/rozele/events{/privacy}","received_events_url":"https://api.github.com/users/rozele/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2016-09-23T15:46:55Z","updated_at":"2016-09-23T15:48:23Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/ReactWindows/react-native-windows/pulls/712","html_url":"https://github.com/ReactWindows/react-native-windows/pull/712","diff_url":"https://github.com/ReactWindows/react-native-windows/pull/712.diff","patch_url":"https://github.com/ReactWindows/react-native-windows/pull/712.patch"},"body":"Basic overview of the deadlock:\r\n1) CSS layout operation in progress\r\n2) Text node measurement started on native module thread\r\n3) ReactContext disposed on dispatcher thread\r\n4) ReactContext disposal blocks on completion of native module thread\r\n5) Native module thread blocks on dispatcher operation for text measurement\r\n6) We have deadlock\r\n\r\nThe best way to get around this is to not block from the native module thread, but this is a limitation we haven't figured out how to work around yet.  In the meantime, it actually makes sense to make the teardown process for the React context asynchronous, which is what this changeset does.\r\n\r\nFixes #702"},"comment":{"url":"https://api.github.com/repos/ReactWindows/react-native-windows/issues/comments/249229050","html_url":"https://github.com/ReactWindows/react-native-windows/pull/712#issuecomment-249229050","issue_url":"https://api.github.com/repos/ReactWindows/react-native-windows/issues/712","id":249229050,"user":{"login":"rozele","id":1106239,"avatar_url":"https://avatars.githubusercontent.com/u/1106239?v=3","gravatar_id":"","url":"https://api.github.com/users/rozele","html_url":"https://github.com/rozele","followers_url":"https://api.github.com/users/rozele/followers","following_url":"https://api.github.com/users/rozele/following{/other_user}","gists_url":"https://api.github.com/users/rozele/gists{/gist_id}","starred_url":"https://api.github.com/users/rozele/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rozele/subscriptions","organizations_url":"https://api.github.com/users/rozele/orgs","repos_url":"https://api.github.com/users/rozele/repos","events_url":"https://api.github.com/users/rozele/events{/privacy}","received_events_url":"https://api.github.com/users/rozele/received_events","type":"User","site_admin":false},"created_at":"2016-09-23T15:48:23Z","updated_at":"2016-09-23T15:48:23Z","body":"cc @mpodwysocki @andrewwebber @matthargett \r\n\r\nThis is not a trivial change so I'd love to get some feedback."}}
{"actor":{"display_login":"rozele"}}