Groot icon indicating copy to clipboard operation
Groot copied to clipboard

Segfault when expanding subtree after adding to the graph

Open nathantsoi opened this issue 6 years ago • 3 comments

Note, clicking the expand button after saving and loading the tree works fine.

Backtrace:

Value can't be converted to integer.
0x000055555566852a in GraphicContainer::scene() ()
gdb $ bt
#0  0x000055555566852a in GraphicContainer::scene() ()
#1  0x0000555555661d51 in MainWindow::subTreeExpand(GraphicContainer&, QtNodes::Node&, MainWindow::SubtreeExpandOption) ()
#2  0x0000555555660ea9 in MainWindow::onRequestSubTreeExpand(GraphicContainer&, QtNodes::Node&) ()
#3  0x00005555556826b3 in QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<GraphicContainer&, QtNodes::Node&>, void, void (MainWindow::*)(GraphicContainer&, QtNodes::Node&)>::call(void (MainWindow::*)(GraphicContainer&, QtNodes::Node&), MainWindow*, void**) ()
#4  0x000055555567eff4 in void QtPrivate::FunctionPointer<void (MainWindow::*)(GraphicContainer&, QtNodes::Node&)>::call<QtPrivate::List<GraphicContainer&, QtNodes::Node&>, void>(void (MainWindow::*)(GraphicContainer&, QtNodes::Node&), MainWindow*, void**) ()
#5  0x000055555567abb5 in QtPrivate::QSlotObject<void (MainWindow::*)(GraphicContainer&, QtNodes::Node&), QtPrivate::List<GraphicContainer&, QtNodes::Node&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) ()
#6  0x00007ffff612a75f in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00005555556d64c6 in GraphicContainer::requestSubTreeExpand(GraphicContainer&, QtNodes::Node&) ()
#8  0x00005555556a39da in GraphicContainer::onNodeCreated(QtNodes::Node&)::{lambda()#1}::operator()() const ()
#9  0x00005555556a7d47 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, GraphicContainer::onNodeCreated(QtNodes::Node&)::{lambda()#1}>::call({lambda()#1}&, void**) ()
#10 0x00005555556a7b16 in void QtPrivate::Functor<GraphicContainer::onNodeCreated(QtNodes::Node&)::{lambda()#1}, 0>::call<QtPrivate::List<>, void>({lambda()#1}&, void*, {lambda()#1}&*) ()
#11 0x00005555556a7681 in QtPrivate::QFunctorSlotObject<GraphicContainer::onNodeCreated(QtNodes::Node&)::{lambda()#1}, 0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) ()
#12 0x00007ffff612a75f in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#13 0x00005555556d8f07 in SubtreeNodeModel::expandButtonPushed() ()

nathantsoi avatar Jan 10 '20 17:01 nathantsoi

thanks for reporting. I must find time to address this. Can you provide a way to reproduce it?

facontidavide avatar Jan 12 '20 17:01 facontidavide

Thank you! I can reproduce it reliably by opening Groot, adding a subtree and hitting the expand button.

nathantsoi avatar Jan 12 '20 22:01 nathantsoi

To reproduce it we really just have to add a subtree and click expand. Connecting the subtree is not required.

image

AlexisTM avatar Apr 15 '20 08:04 AlexisTM