{"action":"closed","issue":{"url":"https://api.github.com/repos/jeaye/color_coded/issues/50","labels_url":"https://api.github.com/repos/jeaye/color_coded/issues/50/labels{/name}","comments_url":"https://api.github.com/repos/jeaye/color_coded/issues/50/comments","events_url":"https://api.github.com/repos/jeaye/color_coded/issues/50/events","html_url":"https://github.com/jeaye/color_coded/issues/50","id":70957857,"number":50,"title":"vim segfault on quit","user":{"login":"UnrealQuester","id":3252092,"avatar_url":"https://avatars.githubusercontent.com/u/3252092?v=3","gravatar_id":"","url":"https://api.github.com/users/UnrealQuester","html_url":"https://github.com/UnrealQuester","followers_url":"https://api.github.com/users/UnrealQuester/followers","following_url":"https://api.github.com/users/UnrealQuester/following{/other_user}","gists_url":"https://api.github.com/users/UnrealQuester/gists{/gist_id}","starred_url":"https://api.github.com/users/UnrealQuester/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/UnrealQuester/subscriptions","organizations_url":"https://api.github.com/users/UnrealQuester/orgs","repos_url":"https://api.github.com/users/UnrealQuester/repos","events_url":"https://api.github.com/users/UnrealQuester/events{/privacy}","received_events_url":"https://api.github.com/users/UnrealQuester/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/jeaye/color_coded/labels/bug","name":"bug","color":"fc2929"}],"state":"closed","locked":false,"assignee":{"login":"jeaye","id":1057635,"avatar_url":"https://avatars.githubusercontent.com/u/1057635?v=3","gravatar_id":"","url":"https://api.github.com/users/jeaye","html_url":"https://github.com/jeaye","followers_url":"https://api.github.com/users/jeaye/followers","following_url":"https://api.github.com/users/jeaye/following{/other_user}","gists_url":"https://api.github.com/users/jeaye/gists{/gist_id}","starred_url":"https://api.github.com/users/jeaye/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jeaye/subscriptions","organizations_url":"https://api.github.com/users/jeaye/orgs","repos_url":"https://api.github.com/users/jeaye/repos","events_url":"https://api.github.com/users/jeaye/events{/privacy}","received_events_url":"https://api.github.com/users/jeaye/received_events","type":"User","site_admin":false},"milestone":null,"comments":1,"created_at":"2015-04-25T19:33:34Z","updated_at":"2015-04-26T04:59:21Z","closed_at":"2015-04-26T04:59:21Z","body":"When trying to quit vim directly after opening a c++ file, it segfaults. This only happens about 50% of the time and I only noticed it today despite using this plugin for serveral days now.\r\n\r\nAttaching a debugger shows that the segfault happens in `std::condition_variable::wait`. The only place where we wait for something is in `async/queue.hpp`. A possible explanation of why this is happening:\r\n* The queue object gets destroyed\r\n* It calls `thread::detach` in the destructor\r\n* The condition variable inside `work()` wakes up and checks `has_work_`\r\n* As the object was already destroyed, the member variable does not exist anymore and causes a segfault"}}