{"action":"created","issue":{"url":"https://api.github.com/repos/google/protobuf/issues/435","repository_url":"https://api.github.com/repos/google/protobuf","labels_url":"https://api.github.com/repos/google/protobuf/issues/435/labels{/name}","comments_url":"https://api.github.com/repos/google/protobuf/issues/435/comments","events_url":"https://api.github.com/repos/google/protobuf/issues/435/events","html_url":"https://github.com/google/protobuf/issues/435","id":81891862,"number":435,"title":"SharedDtor crash","user":{"login":"jswigart","id":4065267,"avatar_url":"https://avatars.githubusercontent.com/u/4065267?v=3","gravatar_id":"","url":"https://api.github.com/users/jswigart","html_url":"https://github.com/jswigart","followers_url":"https://api.github.com/users/jswigart/followers","following_url":"https://api.github.com/users/jswigart/following{/other_user}","gists_url":"https://api.github.com/users/jswigart/gists{/gist_id}","starred_url":"https://api.github.com/users/jswigart/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jswigart/subscriptions","organizations_url":"https://api.github.com/users/jswigart/orgs","repos_url":"https://api.github.com/users/jswigart/repos","events_url":"https://api.github.com/users/jswigart/events{/privacy}","received_events_url":"https://api.github.com/users/jswigart/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/google/protobuf/labels/c++","name":"c++","color":"5319e7"},{"url":"https://api.github.com/repos/google/protobuf/labels/wontfix","name":"wontfix","color":"ffffff"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2015-05-28T11:43:09Z","updated_at":"2016-04-26T22:21:24Z","closed_at":"2016-01-20T23:20:12Z","body":"I have protobuf 2.6.1 in a static library that multiple dlls use.\r\n\r\nIt seems that if you allocate a protobuf object from one dll, string fields will be initialized with an 'empty string' value unique to that DLL, so that if code from the other dll causes the destruction of the proto object, the SharedDtor() comparisons against GetEmptyStringAlreadyInited() will be different than where it was allocated, causing the deletion of a string pointer that is referenced by all 'empty string' fields, and thus a crash when it tries to delete it again(since they all point to the GetEmptyStringAlreadyInited() in the dll that created it)\r\n"},"comment":{"url":"https://api.github.com/repos/google/protobuf/issues/comments/214905497","html_url":"https://github.com/google/protobuf/issues/435#issuecomment-214905497","issue_url":"https://api.github.com/repos/google/protobuf/issues/435","id":214905497,"user":{"login":"xuanvinh2005","id":17859346,"avatar_url":"https://avatars.githubusercontent.com/u/17859346?v=3","gravatar_id":"","url":"https://api.github.com/users/xuanvinh2005","html_url":"https://github.com/xuanvinh2005","followers_url":"https://api.github.com/users/xuanvinh2005/followers","following_url":"https://api.github.com/users/xuanvinh2005/following{/other_user}","gists_url":"https://api.github.com/users/xuanvinh2005/gists{/gist_id}","starred_url":"https://api.github.com/users/xuanvinh2005/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xuanvinh2005/subscriptions","organizations_url":"https://api.github.com/users/xuanvinh2005/orgs","repos_url":"https://api.github.com/users/xuanvinh2005/repos","events_url":"https://api.github.com/users/xuanvinh2005/events{/privacy}","received_events_url":"https://api.github.com/users/xuanvinh2005/received_events","type":"User","site_admin":false},"created_at":"2016-04-26T22:21:24Z","updated_at":"2016-04-26T22:21:24Z","body":"Don't know why this one was closed, but I have encountered same issue"}}