Download Reference Manual
The Developer's Library for D
About Wiki Forums Source Search Contact

tango.util.container.* GarbageCollector problems?

Moderators: kris

Posted: 07/17/09 12:50:11

hi,

I ran into a quite strange problems using tango 0.99.8. I just used the container classes, created for instance some LinkedLists (i just finished porting our code from the old collections to the new container interfaces), but within our testsuite the programm then segfaulted very often. I haven't analysed it very deep, because with the new dmd v1.046 I do not have debug symbols, so I hope somebody run into the same problem and we at least could share this experience. :-)

The solution for me was to remove Changeset 4312 [http://www.dsource.org/projects/tango/changeset/4312]. This Changeset was somehow an improvement http://www.dsource.org/projects/tango/ticket/1180 ported from dcollections, but at least for me it doesn't work that well. Without this Changeset I didn't get any problems.

Here the last frames before the program finally crashed. In this case it seemed to be an LinkedList, whose SLink got into trouble with some GarbageCollectorChunks.

Program terminated with signal 11, Segmentation fault.
#0  0x081010c4 in _D5tango4util9container9Container9Container119__
                   T7GCChunkTS5tango4util9container5Slink65__
                   T5SlinkTC6common9xmlparser3src14GenericElement14GenericElementZ5SlinkVk339Z7GCChunk7collectMFP
                   S5tango4util9container5Slink65__
                   T5SlinkTC6common9xmlparser3src14GenericElement14GenericElementZ5SlinkZv ()
(gdb) bt
#0  0x081010c4 in _D5tango4util9container9Container9Container119__
                   T7GCChunkTS5tango4util9container5Slink65__
                   T5SlinkTC6common9xmlparser3src14GenericElement14GenericElementZ5SlinkVk339Z7GCChunk7collectMFP
                   S5tango4util9container5Slink65__
                   T5SlinkTC6common9xmlparser3src14GenericElement14GenericElementZ5SlinkZv ()
#1  0xab5a3000 in ?? ()
#2  0xbfacd3e4 in ?? ()
#3  0x081001c6 in _D5tango4util9container10LinkedList71__
                  T10LinkedListTC6common9xmlparser3src14GenericElement14GenericElementZ10LinkedList9decrementMFP
                  S5tango4util9container5Slink65__
                  T5SlinkTC6common9xmlparser3src14GenericElement14GenericElementZ5SlinkZv ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Sorry that I didn't have the time to analyze it deeply. I'll do it, when the DMD will provide debug informations again, because this possible problem is still even in tango-trunk.

best regards

Stefan

There are no responses to display.