[Issue 10351] [GC] GC deadlocks in thread_suspendAll()
https://issues.dlang.org/show_bug.cgi?id=10351 Aleksei Preobrazhenskiichanged: What|Removed |Added See Also||https://issues.dlang.org/sh ||ow_bug.cgi?id=15939 --
[Issue 15939] GC.collect causes deadlock in multi-threaded environment
https://issues.dlang.org/show_bug.cgi?id=15939 Aleksei Preobrazhenskiichanged: What|Removed |Added See Also||https://issues.dlang.org/sh ||ow_bug.cgi?id=10351 --
[Issue 15939] GC.collect causes deadlock in multi-threaded environment
https://issues.dlang.org/show_bug.cgi?id=15939 --- Comment #6 from Aleksei Preobrazhenskii--- I think I saw the same behaviour in debug builds, I will try to verify it. As of 32-bit question, due to the nature of the program I can't test it in 32-bit environment. After investigating problem a little further, I think that the issue might be in GC relying on traditional POSIX signals. One way to get such stack traces is if suspend signal (SIGUSR1 by default) wasn't delivered, which could happen for traditional POSIX signals if they occur in quick succession. Like, if thread_suspendAll happens while some threads are still in the thread_suspendHandler (already handled resume signal, but still didn't leave the suspend handler). Real-time POSIX signals (SIGRTMIN .. SIGRTMAX) have stronger delivery guarantees, I'm going to try the same code but with thread_setGCSignals(SIGRTMIN, SIGRTMIN + 1). --
[Issue 15942] bogus "cannot implicitly convert expression" error when using vector notation to copy from immutable to mutable
https://issues.dlang.org/show_bug.cgi?id=15942 ag0ae...@gmail.com changed: What|Removed |Added Summary|bogus "cannot implicitly|bogus "cannot implicitly |convert expression" error |convert expression" error |when using vector notation |when using vector notation |to from immutable to|to copy from immutable to |mutable |mutable --
[Issue 15941] [REG v2.069] rbtree no longer supports classes
https://issues.dlang.org/show_bug.cgi?id=15941 Jack Stoufferchanged: What|Removed |Added CC||j...@jackstouffer.com Summary|Regression: rbtree no |[REG v2.069] rbtree no |longer supports classes |longer supports classes --
[Issue 15941] New: Regression: rbtree no longer supports classes
https://issues.dlang.org/show_bug.cgi?id=15941 Issue ID: 15941 Summary: Regression: rbtree no longer supports classes Product: D Version: D2 Hardware: All OS: All Status: NEW Severity: regression Priority: P1 Component: phobos Assignee: nob...@puremagic.com Reporter: jbc.enge...@gmail.com ``` class A {} RedBlackTree!(A, "cast(void*)a < cast(void*)b") tree; ``` This used to work, but now no longer works because of the addition of rbtree.toString. With a nice instantiation error: /Library/D/dmd/src/phobos/std/format.d(2916): Error: template instance std.format.formatObject!(void delegate(const(char)[]), const(A), char) does not match template declaration formatObject(Writer, T, Char)(ref Writer w, ref T val, ref FormatSpec!Char f) if (hasToString!(T, Char)) /Library/D/dmd/src/phobos/std/format.d(2649): Error: template instance std.format.formatValue!(void delegate(const(char)[]), const(A), char) error instantiating /Library/D/dmd/src/phobos/std/format.d(2435):instantiated from here: formatElement!(void delegate(const(char)[]), const(A), char) /Library/D/dmd/src/phobos/std/format.d(3142):instantiated from here: formatRange!(void delegate(const(char)[]), RBRange!(const(RBNode!(A))*), char) /Library/D/dmd/src/phobos/std/container/rbtree.d(1679):instantiated from here: formatValue!(void delegate(const(char)[]), RBRange!(const(RBNode!(A))*), char) /Users/johan/ldc/johan/ddmd/root/array.d(217):instantiated from here: RedBlackTree!(A, "cast(void*)a < cast(void*)b", false) --
[Issue 13674] ICE(el.c) with simd multiplication of short8
https://issues.dlang.org/show_bug.cgi?id=13674 --- Comment #2 from github-bugzi...@puremagic.com --- Commits pushed to master at https://github.com/dlang/dmd https://github.com/dlang/dmd/commit/89b765778fa46c1cd7eeb5173dbb6f9a5518176d fix Issue 13674 - ICE(el.c) with simd multiplication of short8 https://github.com/dlang/dmd/commit/24b214bdbe54fe478b66b2a1d9d67d0584ac1331 Merge pull request #5687 from WalterBright/fix13674 fix Issue 13674 - ICE(el.c) with simd multiplication of short8 --
[Issue 15144] Bad operand size in asm { movdqa ... } produces bogus ubyte16 initializer error elsewhere.
https://issues.dlang.org/show_bug.cgi?id=15144 Walter Brightchanged: What|Removed |Added OS|Linux |All --- Comment #3 from Walter Bright --- https://github.com/dlang/dmd/pull/5689 --
[Issue 15939] GC.collect causes deadlock in multi-threaded environment
https://issues.dlang.org/show_bug.cgi?id=15939 --- Comment #5 from Sobirari Muhomori--- Also what about 32-bit mode? --
[Issue 15939] GC.collect causes deadlock in multi-threaded environment
https://issues.dlang.org/show_bug.cgi?id=15939 --- Comment #4 from Sobirari Muhomori--- (In reply to Aleksei Preobrazhenskii from comment #0) > dmd 2.071.0 with -O -release -inline -boundscheck=off Do these flags affect the hang? --
[Issue 15940] New: std.variant.Variant: compilation fails if a value is aliased struct
https://issues.dlang.org/show_bug.cgi?id=15940 Issue ID: 15940 Summary: std.variant.Variant: compilation fails if a value is aliased struct Product: D Version: D2 Hardware: x86_64 OS: Linux Status: NEW Severity: normal Priority: P1 Component: phobos Assignee: nob...@puremagic.com Reporter: goldmax3...@gmail.com import std.variant; class C { } struct S { C a; alias a this; } S s = S(new C()); auto v = Variant(s); // compile error /opt/compilers/dmd2/include/std/traits.d(3636): Error: template instance std.traits.BaseClassesTuple!(S) does not match template declaration BaseClassesTuple(T) if (is(T == class)) /opt/compilers/dmd2/include/std/traits.d(4054): Error: template instance std.traits.TransitiveBaseTypeTuple!(S) error instantiating /opt/compilers/dmd2/include/std/variant.d(263):instantiated from here: ImplicitConversionTargets!(S) /opt/compilers/dmd2/include/std/variant.d(632):instantiated from here: handler!(S) /opt/compilers/dmd2/include/std/variant.d(548):instantiated from here: opAssign!(S) /d296/f123.d(10):instantiated from here: __ctor!(S) --