[Issue 1164] Wrong order of memory deallocation

2016-12-27 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=1164 --- Comment #15 from safety0ff.bugz --- (In reply to Pieter Penninckx from comment #14) > > This just runs normally for me. But if I understand comment #13 correctly, > this is just luck and I shouldn't count on it,

[Issue 1164] Wrong order of memory deallocation

2016-12-26 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=1164 --- Comment #13 from safety0ff.bugz --- (In reply to Pieter Penninckx from comment #9) > > Am I right that the garbage collector currently works as follows: It currently works as follows: * Mark * For each unmarked

[Issue 1164] Wrong order of memory deallocation

2016-12-26 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=1164 --- Comment #12 from safety0ff.bugz --- (In reply to Pieter Penninckx from comment #7) > > invariant() { > if(sibling !is null) { > if (sibling.fun()) > {

[Issue 1164] Wrong order of memory deallocation

2016-12-26 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=1164 safety0ff.bugz changed: What|Removed |Added CC|

[Issue 1164] Wrong order of memory deallocation

2016-12-26 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=1164 --- Comment #10 from Andrei Alexandrescu --- (In reply to Pieter Penninckx from comment #9) > Just to be sure I understand you correctly. > > Am I right that the garbage collector currently works as follows: > > * Mark (= mark

[Issue 1164] Wrong order of memory deallocation

2016-12-26 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=1164 --- Comment #9 from Pieter Penninckx --- Just to be sure I understand you correctly. Am I right that the garbage collector currently works as follows: * Mark (= mark all reachable objects as reachable) * For each

[Issue 1164] Wrong order of memory deallocation

2016-12-25 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=1164 --- Comment #8 from Andrei Alexandrescu --- Cool, was able to repro. Fortunately we have a couple of cards in our sleeve. What we could do is: * Mark * For each collectable object: * Call dtor * (NEW) Obliterate with .init *

[Issue 1164] Wrong order of memory deallocation

2016-12-25 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=1164 --- Comment #7 from Pieter Penninckx --- The following code still segfaults with DMD 2.072.1-0. class X { double a, b, c, d, e, f, g, h; X sibling; bool fun() const { return true;} invariant() {

[Issue 1164] Wrong order of memory deallocation

2016-12-22 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=1164 Andrei Alexandrescu changed: What|Removed |Added CC||and...@erdani.com

[Issue 1164] Wrong order of memory deallocation

2015-06-08 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=1164 Andrei Alexandrescu and...@erdani.com changed: What|Removed |Added Version|2.040 |D2 --

[Issue 1164] Wrong order of memory deallocation

2014-07-04 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=1164 Pieter Penninckx pieter.pennin...@scarlet.be changed: What|Removed |Added CC|