[Issue 9111] New: Parent object getting GCed before the elements of child dynamic array

d-bugmail at puremagic.com d-bugmail at puremagic.com
Mon Dec 3 00:51:59 PST 2012


http://d.puremagic.com/issues/show_bug.cgi?id=9111

           Summary: Parent object getting GCed before the elements of
                    child dynamic array
           Product: D
           Version: D2
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: regression
          Priority: P2
         Component: DMD
        AssignedTo: nobody at puremagic.com
        ReportedBy: puneet at coverify.org


--- Comment #0 from Puneet Goel <puneet at coverify.org> 2012-12-03 00:51:58 PST ---
The following code segfaults when compiled with current DMD github snapshot. It
seems that array elements of "frop" are getting garbage collected after the
parent class Foo's object is collected.

Works fine with dmd-2.059 and dmd-2.060.


class Frop {
  bar _v;
}
struct bar {
  static Foo _root;
  ~this() {
    _root.del();
  }
}
class Foo {
  int _x;
  Frop[] _frop;
  this() {
    bar._root = this;
    _frop = [new Frop()];
  }
  void del() {}
}


void main() {
  auto foo = new Foo ;
}

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------


More information about the Digitalmars-d-bugs mailing list