Archived

This forum has been archived. Please start a new discussion on GitHub.

dumpdb overflows stack

Hi,

dumpdb is overflowing the stack when it tries to read a record from an evictor database. It looks to me like the visitor isn't handling cycles in the object references:

...
#2921 0x00000000004628e0 in FreezeScript::SequenceData::visit ()
#2922 0x000000000041bdd9 in FreezeScript::DumpVisitor::visitObject ()
#2923 0x00000000004617e0 in FreezeScript::ObjectRef::visit ()
#2924 0x000000000041c20d in FreezeScript::DumpVisitor::visitSequence ()
#2925 0x00000000004628e0 in FreezeScript::SequenceData::visit ()
#2926 0x000000000041bdd9 in FreezeScript::DumpVisitor::visitObject ()
#2927 0x00000000004617e0 in FreezeScript::ObjectRef::visit ()
#2928 0x000000000041c20d in FreezeScript::DumpVisitor::visitSequence ()
#2929 0x00000000004628e0 in FreezeScript::SequenceData::visit ()
#2930 0x000000000041bdd9 in FreezeScript::DumpVisitor::visitObject ()
#2931 0x00000000004617e0 in FreezeScript::ObjectRef::visit ()
#2932 0x000000000041c20d in FreezeScript::DumpVisitor::visitSequence ()
#2933 0x00000000004628e0 in FreezeScript::SequenceData::visit ()
#2934 0x000000000041bdd9 in FreezeScript::DumpVisitor::visitObject ()
#2935 0x00000000004617e0 in FreezeScript::ObjectRef::visit ()
...

The object being dumped is an instance of ScheduleVersionI.

The relevant slice definition is:

struct StringPair
{
string key;
string value;
};
sequence<StringPair> StringPairSeq;

class StageInfoI;
sequence<StageInfoI> StageInfoISeq;
class StageInfoI
{
int id;
string name;
string longname;
StageInfoISeq parents;
StageInfoISeq children;
StringPairSeq rules;
StringPairSeq attributes;
};

class ScheduleVersionI implements ScheduleVersionIF
{
int id;
StageInfoISeq stageInfo;

nonmutating bool equals(ScheduleVersionI ver);
};

I'll work on debugging, but thought someone else might see something obvious that will take me a while to discover.

Thanks,

Comments

  • mes
    mes California
    Hi Andrew,
    acbell wrote:
    It looks to me like the visitor isn't handling cycles in the object references
    Thanks for reporting this, we'll add it to our TODO list.

    Take care,
    - Mark
  • mes
    mes California
    Andrew,

    I wanted to follow up to let you know that this bug was fixed in Ice 3.1.0.

    Thanks again,
    - Mark