Bug 16386 – std.concurrency: destructors called twice on objects passed as Message

Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P1
Component
phobos
Product
D
Version
D2
Platform
x86
OS
Windows
Creation time
2016-08-14T09:50:00Z
Last change time
2016-10-01T11:46:41Z
Assigned to
nobody
Creator
r.sagitario

Comments

Comment #0 by r.sagitario — 2016-08-14T09:50:08Z
I don't have a reduced repro case, but the unittests for std.concurrency crashed for me on Win32 when enabling the precise GC in https://github.com/dlang/druntime/pull/1603. This is caused by the destructor of a Variant being called twice when a Node of the Message List is reused by the MessageBox.
Comment #1 by github-bugzilla — 2016-08-15T01:44:45Z
Commits pushed to master at https://github.com/dlang/phobos https://github.com/dlang/phobos/commit/17d064e23456d0fb0c2b41a3dbf4da399707db94 fix issue 16386: avoid the assignment operator on an object that has been destroyed https://github.com/dlang/phobos/commit/30400700d6326704c8e4756ec34630e8b4b07d57 Merge pull request #4730 from rainers/issue16386 fix issue 16386: std.concurrency: destructors called twice on objects passed as Message
Comment #2 by github-bugzilla — 2016-10-01T11:46:41Z
Commits pushed to stable at https://github.com/dlang/phobos https://github.com/dlang/phobos/commit/17d064e23456d0fb0c2b41a3dbf4da399707db94 fix issue 16386: avoid the assignment operator on an object that has been destroyed https://github.com/dlang/phobos/commit/30400700d6326704c8e4756ec34630e8b4b07d57 Merge pull request #4730 from rainers/issue16386