View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000887 | Draft | Bug | public | 2012-11-23 06:03 | 2012-11-23 19:45 |
Reporter | darthfrodo | Assigned To | yorik | ||
Priority | normal | Severity | crash | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Platform | Arch Linux | OS | Gnu/Linux | OS Version | updated 11/22/12 |
Fixed in Version | 0.13 | ||||
Summary | 0000887: Clicking to close b-spline causes seg-fault | ||||
Description | When closing a b-spline in the drafting module by clicking on the first point, the program seg-faults. The error doesn't occur if the spline is closed with the button in the draft command bar, or by pressing 'c'. This bug also appears in 0.12 Revision 5382 | ||||
Steps To Reproduce | -Create a new document -Click the 'multipoint b-spline' button in the drafting bar -Click out two or more points and close it by clicking on the initial point. | ||||
Additional Information | Output to command line: $ freecad-git FreeCAD 0.13, Libs: 0.13R1665 (Git) © Juergen Riegel, Werner Mayer, Yorik van Havre 2001-2011 ##### #### ### #### # # # # # # # ## #### #### # # # # # #### # # # # # # # ##### # # # # #### #### # # # # # # # # # # # # # # ## ## ## # # #### #### ### # # #### ## ## ## matplotlib not found, Plot module will be disabled pycollada not found, collada support will be disabled. Pick first point: Pick next point: Pick next point, or (F)inish or (C)lose: Pick next point, or (F)inish or (C)lose: Pick next point, or (F)inish or (C)lose: Last point has been removed Spline has been closed Segmentation fault $ I've attached a gdb backtrace. Let me know if anything else could be useful. | ||||
Tags | No tags attached. | ||||
FreeCAD Information | |||||
2012-11-23 06:03
|
backtrace.txt (4,506 bytes)
(gdb) backtrace #0 0x00007ffff0ec3673 in SoAction::traverse(SoNode*) () from /usr/lib/libCoin.so.60 #1 0x00007ffff0fd3677 in SoChildList::traverse(SoAction*, int, int) () from /usr/lib/libCoin.so.60 #2 0x00007ffff109687b in SoGroup::doAction(SoAction*) () from /usr/lib/libCoin.so.60 #3 0x00007ffff10aef4f in SoSeparator::doAction(SoAction*) () from /usr/lib/libCoin.so.60 #4 0x00007ffff7785f4d in Gui::SoFCUnifiedSelection::handleEvent(SoHandleEventAction*) () from /usr/lib/freecad-git/lib/libFreeCADGui.so.2 #5 0x00007ffff0ec36b4 in SoAction::traverse(SoNode*) () from /usr/lib/libCoin.so.60 #6 0x00007ffff0fd3677 in SoChildList::traverse(SoAction*, int, int) () from /usr/lib/libCoin.so.60 #7 0x00007ffff109687b in SoGroup::doAction(SoAction*) () from /usr/lib/libCoin.so.60 #8 0x00007ffff10aef4f in SoSeparator::doAction(SoAction*) () from /usr/lib/libCoin.so.60 #9 0x00007ffff0ec36b4 in SoAction::traverse(SoNode*) () from /usr/lib/libCoin.so.60 #10 0x00007ffff0fd3677 in SoChildList::traverse(SoAction*, int, int) () from /usr/lib/libCoin.so.60 #11 0x00007ffff109687b in SoGroup::doAction(SoAction*) () from /usr/lib/libCoin.so.60 #12 0x00007ffff10aef4f in SoSeparator::doAction(SoAction*) () from /usr/lib/libCoin.so.60 #13 0x00007ffff0ec36b4 in SoAction::traverse(SoNode*) () from /usr/lib/libCoin.so.60 #14 0x00007ffff0ecc618 in SoHandleEventAction::beginTraversal(SoNode*) () from /usr/lib/libCoin.so.60 #15 0x00007ffff0ec4209 in SoAction::apply(SoNode*) () from /usr/lib/libCoin.so.60 #16 0x00007ffff105d080 in SoEventManager::actuallyProcessEvent(SoEvent const*) () from /usr/lib/libCoin.so.60 #17 0x00007ffff1db5b8c in SoQtRenderArea::processSoEvent(SoEvent const*) () from /usr/lib/libSoQt.so.20 #18 0x00007ffff1dda89b in SoQtViewer::processSoEvent(SoEvent const*) () from /usr/lib/libSoQt.so.20 #19 0x00007ffff7627952 in Gui::CADNavigationStyle::processSoEvent(SoEvent const*) () from /usr/lib/freecad-git/lib/libFreeCADGui.so.2 #20 0x00007ffff7715c05 in Gui::NavigationStyle::processEvent(SoEvent const*) () from /usr/lib/freecad-git/lib/libFreeCADGui.so.2 #21 0x00007ffff77c0044 in Gui::View3DInventorViewer::processSoEvent(SoEvent const*) () from /usr/lib/freecad-git/lib/libFreeCADGui.so.2 #22 0x00007ffff1db60d0 in SoQtRenderArea::processEvent(QEvent*) () from /usr/lib/libSoQt.so.20 #23 0x00007ffff77c2171 in Gui::View3DInventorViewer::processEvent(QEvent*) () from /usr/lib/freecad-git/lib/libFreeCADGui.so.2 #24 0x00007ffff1db2dd5 in SoQtGLWidgetP::eventFilter(QObject*, QEvent*) () from /usr/lib/libSoQt.so.20 #25 0x00007ffff5aca736 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4 #26 0x00007ffff66a905c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4 #27 0x00007ffff66add6b in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4 #28 0x00007ffff761664f in Gui::GUIApplication::notify(QObject*, QEvent*) () from /usr/lib/freecad-git/lib/libFreeCADGui.so.2 #29 0x00007ffff5aca5ce in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4 #30 0x00007ffff66a9ecb in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/libQtGui.so.4 #31 0x00007ffff6724994 in ?? () from /usr/lib/libQtGui.so.4 #32 0x00007ffff6723721 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/libQtGui.so.4 #33 0x00007ffff67498b2 in ?? () from /usr/lib/libQtGui.so.4 #34 0x00007fffee32e845 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #35 0x00007fffee32eb78 in ?? () from /usr/lib/libglib-2.0.so.0 #36 0x00007fffee32ec34 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #37 0x00007ffff5af8736 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #38 0x00007ffff674952e in ?? () from /usr/lib/libQtGui.so.4 #39 0x00007ffff5ac931f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #40 0x00007ffff5ac95a8 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #41 0x00007ffff5ace248 in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4 #42 0x00007ffff7613cdb in Gui::Application::runApplication() () from /usr/lib/freecad-git/lib/libFreeCADGui.so.2 #43 0x0000000000404003 in ?? () #44 0x00007ffff4adf725 in __libc_start_main () from /usr/lib/libc.so.6 #45 0x0000000000405241 in ?? () |
|
Ok, I'll look into it... |
|
When finish creating the b-spline with a double click in debug mode this message comes up: Coin warning in SoChildList::traverse(): Detected modification of scene graph layout during action traversal. This is considered to be hazardous and error prone, and we strongly advice you to change your code and/or reorganize your scene graph so that this is not necessary. I guess that's why it crashes in release mode. |
|
Ok I committed a fix in a2a7f41 that removes the unwanted scene traversal. That should indeed solve the problem (the scene traversal error message appears in the same conditions as when the OP says the crash occurs). I'll close this bug report, don't hesitate to reopen if the crash still occurs. |
Date Modified | Username | Field | Change |
---|---|---|---|
2012-11-23 06:03 | darthfrodo | New Issue | |
2012-11-23 06:03 | darthfrodo | File Added: backtrace.txt | |
2012-11-23 11:18 | yorik | Status | new => assigned |
2012-11-23 11:18 | yorik | Assigned To | => yorik |
2012-11-23 11:18 | yorik | Note Added: 0002577 | |
2012-11-23 16:40 | wmayer | Note Added: 0002580 | |
2012-11-23 19:45 | yorik | Note Added: 0002582 | |
2012-11-23 19:45 | yorik | Status | assigned => closed |
2012-11-23 19:45 | yorik | Resolution | open => fixed |
2012-11-23 19:45 | yorik | Fixed in Version | => 0.13 |