{"action":"created","issue":{"url":"https://api.github.com/repos/multiplay/wmi/issues/8","repository_url":"https://api.github.com/repos/multiplay/wmi","labels_url":"https://api.github.com/repos/multiplay/wmi/issues/8/labels{/name}","comments_url":"https://api.github.com/repos/multiplay/wmi/issues/8/comments","events_url":"https://api.github.com/repos/multiplay/wmi/issues/8/events","html_url":"https://github.com/multiplay/wmi/pull/8","id":156966397,"number":8,"title":"Correct threading model used by wmi calls","user":{"login":"stevenh","id":104239,"avatar_url":"https://avatars.githubusercontent.com/u/104239?v=3","gravatar_id":"","url":"https://api.github.com/users/stevenh","html_url":"https://github.com/stevenh","followers_url":"https://api.github.com/users/stevenh/followers","following_url":"https://api.github.com/users/stevenh/following{/other_user}","gists_url":"https://api.github.com/users/stevenh/gists{/gist_id}","starred_url":"https://api.github.com/users/stevenh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stevenh/subscriptions","organizations_url":"https://api.github.com/users/stevenh/orgs","repos_url":"https://api.github.com/users/stevenh/repos","events_url":"https://api.github.com/users/stevenh/events{/privacy}","received_events_url":"https://api.github.com/users/stevenh/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":7,"created_at":"2016-05-26T11:52:31Z","updated_at":"2016-07-27T21:20:30Z","closed_at":"2016-06-08T14:43:14Z","pull_request":{"url":"https://api.github.com/repos/multiplay/wmi/pulls/8","html_url":"https://github.com/multiplay/wmi/pull/8","diff_url":"https://github.com/multiplay/wmi/pull/8.diff","patch_url":"https://github.com/multiplay/wmi/pull/8.patch"},"body":"WbemScripting is apartment threaded according to its registry entries so switch multi-threaded OLE to apartment threaded enabling the global lock to be removed.\r\n\r\nCorrect missing CoUninitialize call when CoInitializeEx returns S_FALSE as documented here:\r\nhttps://msdn.microsoft.com/en-us/library/windows/desktop/ms695279(v=vs.85).aspx\r\n\r\nAlso:\r\n* Cleanup OleError checking in Query.\r\n* Handle nil return from CreateObject by returning ErrNilCreateObject before it causes a panic. This has been seen in rare cases in production when built under go v1.6."},"comment":{"url":"https://api.github.com/repos/multiplay/wmi/issues/comments/235724778","html_url":"https://github.com/multiplay/wmi/pull/8#issuecomment-235724778","issue_url":"https://api.github.com/repos/multiplay/wmi/issues/8","id":235724778,"user":{"login":"stevenh","id":104239,"avatar_url":"https://avatars.githubusercontent.com/u/104239?v=3","gravatar_id":"","url":"https://api.github.com/users/stevenh","html_url":"https://github.com/stevenh","followers_url":"https://api.github.com/users/stevenh/followers","following_url":"https://api.github.com/users/stevenh/following{/other_user}","gists_url":"https://api.github.com/users/stevenh/gists{/gist_id}","starred_url":"https://api.github.com/users/stevenh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stevenh/subscriptions","organizations_url":"https://api.github.com/users/stevenh/orgs","repos_url":"https://api.github.com/users/stevenh/repos","events_url":"https://api.github.com/users/stevenh/events{/privacy}","received_events_url":"https://api.github.com/users/stevenh/received_events","type":"User","site_admin":false},"created_at":"2016-07-27T21:20:30Z","updated_at":"2016-07-27T21:20:30Z","body":"Yes the check and ErrNilCreateObject return should protect against the panic on 1.6.2.\r\n\r\nIt sounds like COINIT_APARTMENTTHREADED creating a per thread apartment is indeed causing a leak in the in the provider. Searching in the web there seem to be a number of reports of this, strange that we never saw it though"}}
{"actor":{"display_login":"stevenh"}}