View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000545 | FreeCAD | Bug | public | 2011-12-18 13:11 | 2012-09-21 09:06 |
Reporter | sliptonic | Assigned To | |||
Priority | normal | Severity | crash | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Fixed in Version | 0.13 | ||||
Summary | 0000545: Undo revolve causes crash 'illegal storage' | ||||
Description | Create a closed sketch in part design. Switch to the part workbench. Click the 'revolve a selected shape' icon in the toolbar. In the dialog, select the sketch and set X to something greater than zero. Click 'ok'. Now undo the previous operation. FreeCAD crashes with 'illegal storage' error | ||||
Additional Information | FreeCAD 0.13, Libs: 0.13R5322 Linux Mint 'Lisa' | ||||
Tags | No tags attached. | ||||
FreeCAD Information | |||||
|
Taken from forum related to this report: http://forum.freecadweb.org/viewtopic.php?f=10&t=2060&p=14662&hilit=revolve#p14658 |
|
Stqck trace on Linux: Starting program: /usr/bin/freecad [Thread debugging using libthread_db enabled] FreeCAD 0.13, Libs: 0.13R4963 (Launchpad) © Juergen Riegel, Werner Mayer, Yorik van Havre 2001-2011 ##### #### ### #### # # # # # # # ## #### #### # # # # # #### # # # # # # # ##### # # # # #### #### # # # # # # # # # # # # # # ## ## ## # # #### #### ### # # #### ## ## ## [New Thread 0xb6d29b70 (LWP 4942)] [New Thread 0xb6528b70 (LWP 4943)] failed to create drawable [New Thread 0xb5c06b70 (LWP 4944)] [Thread 0xb6d29b70 (LWP 4942) exited] Program received signal SIGSEGV, Segmentation fault. 0x04be6f94 in ?? () from /usr/lib/i386-linux-gnu/dri/libdricore.so (gdb) bt #0 0x04be6f94 in ?? () from /usr/lib/i386-linux-gnu/dri/libdricore.so #1 0x02e03cf9 in SoGLCoordinateElement::send(int) const () from /usr/lib/libCoin.so.60 0000002 0x02ee3075 in ?? () from /usr/lib/libCoin.so.60 0000003 0x02f50f4a in sogl_render_pointset(SoGLCoordinateElement const*, SbVec3f const*, SoMaterialBundle*, SoTextureCoordinateBundle const*, int, int) () from /usr/lib/libCoin.so.60 0000004 0x030392fc in SoPointSet::GLRender(SoGLRenderAction*) () from /usr/lib/libCoin.so.60 0000005 0x07f0cfeb in PartGui::SoBrepPointSet::GLRender(SoGLRenderAction*) () from /usr/lib/freecad/Mod/Part/libPartGui.so.2 0000006 0x02fd2e27 in SoNode::GLRenderBelowPath(SoGLRenderAction*) () from /usr/lib/libCoin.so.60 0000007 0x07f09c93 in PartGui::SoBrepPointSet::GLRenderBelowPath(SoGLRenderAction*) () from /usr/lib/freecad/Mod/Part/libPartGui.so.2 0000008 0x02feb57b in SoSeparator::GLRenderBelowPath(SoGLRenderAction*) () from /usr/lib/libCoin.so.60 0000009 0x02feb57b in SoSeparator::GLRenderBelowPath(SoGLRenderAction*) () from /usr/lib/libCoin.so.60 0000010 0x02fe9ab8 in SoSeparator::GLRender(SoGLRenderAction*) () from /usr/lib/libCoin.so.60 0000011 0x02fd3790 in SoNode::GLRenderS(SoAction*, SoNode*) () from /usr/lib/libCoin.so.60 ---Type <return> to continue, or q <return> to quit--- 0000012 0x02d684a0 in SoAction::traverse(SoNode*) () from /usr/lib/libCoin.so.60 0000013 0x02ee0e7c in SoChildList::traverse(SoAction*, int, int) () from /usr/lib/libCoin.so.60 0000014 0x02ee1108 in SoChildList::traverse(SoAction*, int) () from /usr/lib/libCoin.so.60 0000015 0x02fefeab in SoSwitch::doAction(SoAction*) () from /usr/lib/libCoin.so.60 0000016 0x02fef867 in SoSwitch::GLRender(SoGLRenderAction*) () from /usr/lib/libCoin.so.60 0000017 0x02fd2e27 in SoNode::GLRenderBelowPath(SoGLRenderAction*) () from /usr/lib/libCoin.so.60 0000018 0x02feb57b in SoSeparator::GLRenderBelowPath(SoGLRenderAction*) () from /usr/lib/libCoin.so.60 0000019 0x02feb57b in SoSeparator::GLRenderBelowPath(SoGLRenderAction*) () from /usr/lib/libCoin.so.60 0000020 0x02feb57b in SoSeparator::GLRenderBelowPath(SoGLRenderAction*) () from /usr/lib/libCoin.so.60 0000021 0x02feb57b in SoSeparator::GLRenderBelowPath(SoGLRenderAction*) () from /usr/lib/libCoin.so.60 0000022 0x02fe9ab8 in SoSeparator::GLRender(SoGLRenderAction*) () from /usr/lib/libCoin.so.60 0000023 0x02fd3790 in SoNode::GLRenderS(SoAction*, SoNode*) () from /usr/lib/libCoin.so.60 0000024 0x02d684a0 in SoAction::traverse(SoNode*) () from /usr/lib/libCoin.so.60 ---Type <return> to continue, or q <return> to quit--- 0000025 0x02d687d3 in SoAction::beginTraversal(SoNode*) () from /usr/lib/libCoin.so.60 0000026 0x02d71b80 in SoGLRenderAction::beginTraversal(SoNode*) () from /usr/lib/libCoin.so.60 0000027 0x02d71242 in SoGLRenderActionP::renderSingle(SoNode*) () from /usr/lib/libCoin.so.60 0000028 0x02d719c8 in SoGLRenderActionP::render(SoNode*) () from /usr/lib/libCoin.so.60 0000029 0x02d71c37 in SoGLRenderAction::beginTraversal(SoNode*) () from /usr/lib/libCoin.so.60 0000030 0x02d6926a in SoAction::apply(SoNode*) () from /usr/lib/libCoin.so.60 0000031 0x017139dc in Gui::SoBoxSelectionRenderAction::apply(SoNode*) () from /usr/lib/freecad/lib/libFreeCADGui.so.2 0000032 0x02f781f8 in SoRenderManager::renderScene(SoGLRenderAction*, SoNode*, unsigned int) () from /usr/lib/libCoin.so.60 0000033 0x02f79593 in SoRenderManager::actuallyRender(SoGLRenderAction*, int, int, int) () from /usr/lib/libCoin.so.60 0000034 0x02f797b0 in SoRenderManager::renderSingle(SoGLRenderAction*, int, int, int) () from /usr/lib/libCoin.so.60 0000035 0x02f79fd4 in SoRenderManager::render(SoGLRenderAction*, int, int, int) () from /usr/lib/libCoin.so.60 0000036 0x02f778e3 in SoRenderManager::render(int, int) () from /usr/lib/libCoin.so.60 ---Type <return> to continue, or q <return> to quit--- 0000037 0x02f76ad5 in SoSceneManager::render(int, int) () from /usr/lib/libCoin.so.60 0000038 0x02a8c5d8 in SoQtViewerP::reallyRedraw(int, int) () from /usr/lib/libSoQt4.so.20 #39 0x02a8cd6a in SoQtViewer::actualRedraw() () from /usr/lib/libSoQt4.so.20 #40 0x0175127b in Gui::View3DInventorViewer::actualRedraw() () from /usr/lib/freecad/lib/libFreeCADGui.so.2 0000041 0x02a59a80 in SoQtRenderArea::redraw() () from /usr/lib/libSoQt4.so.20 0000042 0x02a5b78f in SoQtRenderArea::render() () from /usr/lib/libSoQt4.so.20 0000043 0x02a5b828 in SoQtRenderAreaP::renderCB(void*, SoSceneManager*) () from /usr/lib/libSoQt4.so.20 0000044 0x02f777fd in SoSceneManagerP::renderCB(void*, SoRenderManager*) () from /usr/lib/libCoin.so.60 0000045 0x02f78cf3 in SoRenderManager::redraw() () from /usr/lib/libCoin.so.60 0000046 0x02f7a975 in SoRenderManagerP::redrawshotTriggeredCB(void*, SoSensor*) () from /usr/lib/libCoin.so.60 0000047 0x0306544a in SoSensor::trigger() () from /usr/lib/libCoin.so.60 0000048 0x03064542 in SoDelayQueueSensor::trigger() () from /usr/lib/libCoin.so.60 0000049 0x0306654a in SoSensorManager::processDelayQueue(int) () from /usr/lib/libCoin.so.60 0000050 0x02a520d1 in SoQtP::slot_idleSensor() () from /usr/lib/libSoQt4.so.20 0000051 0x02a521b4 in SoQtP::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libSoQt4.so.20 ---Type <return> to continue, or q <return> to quit--- 0000052 0x0029db7d in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/i386-linux-gnu/libQtCore.so.4 0000053 0x002aca6a in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/i386-linux-gnu/libQtCore.so.4 0000054 0x002fb7d5 in QTimer::timeout() () from /usr/lib/i386-linux-gnu/libQtCore.so.4 0000055 0x002b4286 in QTimer::timerEvent(QTimerEvent*) () from /usr/lib/i386-linux-gnu/libQtCore.so.4 0000056 0x002af994 in QObject::event(QEvent*) () from /usr/lib/i386-linux-gnu/libQtCore.so.4 0000057 0x00529d54 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/i386-linux-gnu/libQtGui.so.4 0000058 0x0052f103 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/i386-linux-gnu/libQtGui.so.4 0000059 0x0165f20a in Gui::GUIApplicationNativeEventAware::processSpaceballEvent(QObject*, QEvent*) () from /usr/lib/freecad/lib/libFreeCADGui.so.2 0000060 0x0157b838 in Gui::GUIApplication::notify(QObject*, QEvent*) () from /usr/lib/freecad/lib/libFreeCADGui.so.2 0000061 0x0029719e in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/i386-linux-gnu/libQtCore.so.4 0000062 0x002c7c10 in ?? () from /usr/lib/i386-linux-gnu/libQtCore.so.4 0000063 0x002c5122 in ?? () from /usr/lib/i386-linux-gnu/libQtCore.so.4 0000064 0x01dac25f in g_main_context_dispatch () ---Type <return> to continue, or q <return> to quit--- from /lib/i386-linux-gnu/libglib-2.0.so.0 0000065 0x01dac990 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0 0000066 0x01dacc2a in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0 0000067 0x002c5ada in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/i386-linux-gnu/libQtCore.so.4 0000068 0x005e1e3a in ?? () from /usr/lib/i386-linux-gnu/libQtGui.so.4 0000069 0x002961dd in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/i386-linux-gnu/libQtCore.so.4 0000070 0x00296421 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/i386-linux-gnu/libQtCore.so.4 0000071 0x0029b19d in QCoreApplication::exec() () from /usr/lib/i386-linux-gnu/libQtCore.so.4 0000072 0x005278f4 in QApplication::exec() () from /usr/lib/i386-linux-gnu/libQtGui.so.4 0000073 0x01578347 in Gui::Application::runApplication() () from /usr/lib/freecad/lib/libFreeCADGui.so.2 0000074 0x0804ae19 in ?? () 0000075 0x01bdd113 in __libc_start_main () from /lib/i386-linux-gnu/libc.so.6 0000076 0x0804bc1d in ?? () Backtrace stopped: Not enough registers or memory available to unwind further (gdb) |
|
This is the function in Coin3d where it crashes somewhere in the send() methods: static void sogl_render_pointset_m0n0t0(const SoGLCoordinateElement * coords, const SbVec3f * normals, SoMaterialBundle * mb, const SoTextureCoordinateBundle * tb, int32_t numpts, int32_t idx) { int i; const int unroll = numpts >> 2; const int rest = numpts & 3; // manually unroll this common loop glBegin(GL_POINTS); for (i = 0; i < unroll; i++) { coords->send(idx++); coords->send(idx++); coords->send(idx++); coords->send(idx++); } for (i = 0; i < rest; i++) { coords->send(idx++); } glEnd(); } |
|
Some more infos: SoPointSet::GLRender: this->numPoints.getValue() returns -1 (instead of 0) coords->getNum() returns 0 startIndex.getValue() returns 66 ==> numpts will be -66 this causes to run the rendering functions and thus causes the crash. |
|
git show 08e6bc0 and git show 065213f |
Date Modified | Username | Field | Change |
---|---|---|---|
2011-12-18 13:11 | sliptonic | New Issue | |
2011-12-18 15:01 | wmayer | Status | new => confirmed |
2011-12-21 16:25 | wmayer | Note Added: 0001509 | |
2011-12-22 10:25 | wmayer | Note Added: 0001510 | |
2011-12-22 11:14 | wmayer | Note Added: 0001511 | |
2012-09-21 07:35 | wmayer | Note Added: 0002413 | |
2012-09-21 09:06 | wmayer | Note Added: 0002414 | |
2012-09-21 09:06 | wmayer | Status | confirmed => closed |
2012-09-21 09:06 | wmayer | Resolution | open => fixed |
2012-09-21 09:06 | wmayer | Fixed in Version | => 0.13 |