[Segfault] Crash on recompute

About the development of the Part Design module/workbench. PLEASE DO NOT POST HELP REQUESTS HERE!
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Post Reply
cos4
Posts: 15
Joined: Wed Feb 05, 2020 8:37 pm

[Segfault] Crash on recompute

Post by cos4 »

I noticed a reproducible segfault when trying to fix an older, broken model. The file contains a link to a file containing my global_dimensions which are used by multiple parts. Interestingly the model renders fine, if I import the link.

Steps to reproduce:
  1. Download both attached files
  2. Open the attached model (xy_motor_mount)
  3. click recompute
  4. segfault occurs
Segfault:

Code: Select all

Program received signal SIGSEGV, Segmentation fault.
#0  /usr/lib/libc.so.6(+0x3cf80) [0x7fd73510ef80]
#1  0x7fd7106f5b98 in Geom2d_Curve::Value(double) const from /tmp/.mount_freecagF6eiu/usr/lib/./libTKG2d.so.7+0x18
#2  0x7fd711bf6340 in BOPAlgo_PaveFiller::FillPaves(int, int, int, NCollection_List<opencascade::handle<BOPDS_PaveBlock> > const&, opencascade::handle<BOPDS_PaveBlock> const&) from /tmp/.mount_freecagF6eiu/usr/lib/./libTKBO.so.7+0x180
#3  0x7fd711bf8227 in BOPAlgo_PaveFiller::ProcessDE() from /tmp/.mount_freecagF6eiu/usr/lib/./libTKBO.so.7+0x6f7
#4  0x7fd711bb5670 in BOPAlgo_PaveFiller::PerformInternal() from /tmp/.mount_freecagF6eiu/usr/lib/./libTKBO.so.7+0x230
#5  0x7fd711bb5fb8 in BOPAlgo_PaveFiller::Perform() from /tmp/.mount_freecagF6eiu/usr/lib/./libTKBO.so.7+0x48
#6  0x7fd711b2a92c in BRepAlgoAPI_BuilderAlgo::IntersectShapes(NCollection_List<TopoDS_Shape> const&) from /tmp/.mount_freecagF6eiu/usr/lib/./libTKBO.so.7+0x1bc
#7  0x7fd711b289d4 in BRepAlgoAPI_BooleanOperation::Build() from /tmp/.mount_freecagF6eiu/usr/lib/./libTKBO.so.7+0x514
#8  0x7fd711b2df25 in BRepAlgoAPI_Cut::BRepAlgoAPI_Cut(TopoDS_Shape const&, TopoDS_Shape const&) from /tmp/.mount_freecagF6eiu/usr/lib/./libTKBO.so.7+0x35
#9  0x7fd6e8d2947a in PartDesign::Pocket::execute() from /tmp/.mount_freecagF6eiu/usr/lib/_PartDesign.so+0xfba
#10  0x7fd736ebf0a2 in App::DocumentObject::recompute() from /tmp/.mount_freecagF6eiu/usr/bin/../lib/libFreeCADApp.so+0x122
#11  0x7fd71377221c in Part::Feature::recompute() from /tmp/.mount_freecagF6eiu/usr/lib/Part.so+0xc
#12  0x7fd736e511cc in App::Document::_recomputeFeature(App::DocumentObject*) from /tmp/.mount_freecagF6eiu/usr/bin/../lib/libFreeCADApp.so+0x31c
#13  0x7fd736eaaa5a in App::Document::recompute(std::vector<App::DocumentObject*, std::allocator<App::DocumentObject*> > const&, bool, bool*, int) from /tmp/.mount_freecagF6eiu/usr/bin/../lib/libFreeCADApp.so+0x5fa
#14  0x7fd736f125c2 in App::DocumentPy::recompute(_object*) from /tmp/.mount_freecagF6eiu/usr/bin/../lib/libFreeCADApp.so+0x382
#15  0x7fd736f12a74 in App::DocumentPy::staticCallback_recompute(_object*, _object*) from /tmp/.mount_freecagF6eiu/usr/bin/../lib/libFreeCADApp.so+0x24
#16  /tmp/.mount_freecagF6eiu/usr/bin/../lib/libpython3.8.so.1.0(PyCFunction_Call+0xf5) [0x7fd737314725]
#17  /tmp/.mount_freecagF6eiu/usr/bin/../lib/libpython3.8.so.1.0(_PyObject_MakeTpCall+0x230) [0x7fd7372bc550]
#18  /tmp/.mount_freecagF6eiu/usr/bin/../lib/libpython3.8.so.1.0(_PyEval_EvalFrameDefault+0x4ddd) [0x7fd73732628d]
#19  /tmp/.mount_freecagF6eiu/usr/bin/../lib/libpython3.8.so.1.0(_PyEval_EvalCodeWithName+0x2ea) [0x7fd7372bdd9a]
#20  /tmp/.mount_freecagF6eiu/usr/bin/../lib/libpython3.8.so.1.0(PyEval_EvalCodeEx+0x3a) [0x7fd73734b40a]
#21  /tmp/.mount_freecagF6eiu/usr/bin/../lib/libpython3.8.so.1.0(PyEval_EvalCode+0x1c) [0x7fd73734b42c]
#22  /tmp/.mount_freecagF6eiu/usr/bin/../lib/libpython3.8.so.1.0(+0x1e05aa) [0x7fd7373705aa]
#23  /tmp/.mount_freecagF6eiu/usr/bin/../lib/libpython3.8.so.1.0(+0x224225) [0x7fd7373b4225]
#24  /tmp/.mount_freecagF6eiu/usr/bin/../lib/libpython3.8.so.1.0(PyRun_StringFlags+0x80) [0x7fd7373b42c0]
#25  0x7fd736be1f1a in Base::InterpreterSingleton::runString[abi:cxx11](char const*) from /tmp/.mount_freecagF6eiu/usr/bin/../lib/libFreeCADBase.so+0x6a
#26  0x7fd737954198 in Gui::Command::_runCommand(char const*, int, Gui::Command::DoCmd_Type, char const*) from /tmp/.mount_freecagF6eiu/usr/bin/../lib/libFreeCADGui.so+0x98
#27  0x7fd737954382 in Gui::Command::_doCommand(char const*, int, Gui::Command::DoCmd_Type, char const*, ...) from /tmp/.mount_freecagF6eiu/usr/bin/../lib/libFreeCADGui.so+0x102
#28  0x7fd73796263c in StdCmdRefresh::activated(int) from /tmp/.mount_freecagF6eiu/usr/bin/../lib/libFreeCADGui.so+0x6c
#29  0x7fd73795d4cf in Gui::Command::invoke(int, Gui::Command::TriggerSource) from /tmp/.mount_freecagF6eiu/usr/bin/../lib/libFreeCADGui.so+0x55f
#30  0x7fd735625a18 in QMetaObject::activate(QObject*, int, int, void**) from /tmp/.mount_freecagF6eiu/usr/bin/../lib/libQt5Core.so.5+0x6c0
#31  0x7fd735e30928 in QAction::triggered(bool) from /tmp/.mount_freecagF6eiu/usr/bin/../lib/libQt5Widgets.so.5+0x32
#32  0x7fd735e322b2 in QAction::activate(QAction::ActionEvent) from /tmp/.mount_freecagF6eiu/usr/bin/../lib/libQt5Widgets.so.5+0xc6
#33  /tmp/.mount_freecagF6eiu/usr/bin/../lib/libQt5Widgets.so.5(+0x20dc3c) [0x7fd735ecec3c]
#34  0x7fd735eced19 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) from /tmp/.mount_freecagF6eiu/usr/bin/../lib/libQt5Widgets.so.5+0x79
#35  0x7fd735f6541c in QToolButton::mouseReleaseEvent(QMouseEvent*) from /tmp/.mount_freecagF6eiu/usr/bin/../lib/libQt5Widgets.so.5+0xa
#36  0x7fd735e604ed in QWidget::event(QEvent*) from /tmp/.mount_freecagF6eiu/usr/bin/../lib/libQt5Widgets.so.5+0x133
#37  0x7fd735f654a9 in QToolButton::event(QEvent*) from /tmp/.mount_freecagF6eiu/usr/bin/../lib/libQt5Widgets.so.5+0x45
#38  0x7fd735e357f2 in QApplicationPrivate::notify_helper(QObject*, QEvent*) from /tmp/.mount_freecagF6eiu/usr/bin/../lib/libQt5Widgets.so.5+0xdc
#39  0x7fd735e39f5e in QApplication::notify(QObject*, QEvent*) from /tmp/.mount_freecagF6eiu/usr/bin/../lib/libQt5Widgets.so.5+0x70a
#40  0x7fd737920169 in Gui::GUIApplication::notify(QObject*, QEvent*) from /tmp/.mount_freecagF6eiu/usr/bin/../lib/libFreeCADGui.so+0x89
#41  0x7fd73560f606 in QCoreApplication::notifyInternal2(QObject*, QEvent*) from /tmp/.mount_freecagF6eiu/usr/bin/../lib/libQt5Core.so.5+0x86
#42  0x7fd735e394c4 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) from /tmp/.mount_freecagF6eiu/usr/bin/../lib/libQt5Widgets.so.5+0x286
#43  /tmp/.mount_freecagF6eiu/usr/bin/../lib/libQt5Widgets.so.5(+0x1aefd4) [0x7fd735e6ffd4]
#44  /tmp/.mount_freecagF6eiu/usr/bin/../lib/libQt5Widgets.so.5(+0x1aff7c) [0x7fd735e70f7c]
#45  0x7fd735e357f2 in QApplicationPrivate::notify_helper(QObject*, QEvent*) from /tmp/.mount_freecagF6eiu/usr/bin/../lib/libQt5Widgets.so.5+0xdc
#46  0x7fd735e3b31d in QApplication::notify(QObject*, QEvent*) from /tmp/.mount_freecagF6eiu/usr/bin/../lib/libQt5Widgets.so.5+0x1ac9
#47  0x7fd737920169 in Gui::GUIApplication::notify(QObject*, QEvent*) from /tmp/.mount_freecagF6eiu/usr/bin/../lib/libFreeCADGui.so+0x89
#48  0x7fd73560f606 in QCoreApplication::notifyInternal2(QObject*, QEvent*) from /tmp/.mount_freecagF6eiu/usr/bin/../lib/libQt5Core.so.5+0x86
#49  0x7fd7359b3ec5 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) from /tmp/.mount_freecagF6eiu/usr/bin/../lib/libQt5Gui.so.5+0x677
#50  0x7fd7359b491f in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) from /tmp/.mount_freecagF6eiu/usr/bin/../lib/libQt5Gui.so.5+0x5f
#51  0x7fd7359a1c65 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) from /tmp/.mount_freecagF6eiu/usr/bin/../lib/libQt5Gui.so.5+0x63
#52  /tmp/.mount_freecagF6eiu/usr/plugins/platforms/../../lib/libQt5XcbQpa.so.5(+0x5b010) [0x7fd7312f8010]
#53  /tmp/.mount_freecagF6eiu/usr/bin/../lib/./libglib-2.0.so.0(g_main_context_dispatch+0x27d) [0x7fd73256d98d]
#54  /tmp/.mount_freecagF6eiu/usr/bin/../lib/./libglib-2.0.so.0(+0x54c21) [0x7fd73256dc21]
#55  /tmp/.mount_freecagF6eiu/usr/bin/../lib/./libglib-2.0.so.0(g_main_context_iteration+0x31) [0x7fd73256dcc1]
#56  0x7fd73563e0e8 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) from /tmp/.mount_freecagF6eiu/usr/bin/../lib/libQt5Core.so.5+0x5e
#57  0x7fd73560c019 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) from /tmp/.mount_freecagF6eiu/usr/bin/../lib/libQt5Core.so.5+0x187
#58  0x7fd73560fe8f in QCoreApplication::exec() from /tmp/.mount_freecagF6eiu/usr/bin/../lib/libQt5Core.so.5+0xfd
#59  0x7fd7378966b1 in Gui::Application::runApplication() from /tmp/.mount_freecagF6eiu/usr/bin/../lib/libFreeCADGui.so+0x1631
#60  /tmp/.mount_freecagF6eiu/usr/bin/freecad(+0x37cd) [0x557aea08c7cd]
#61  /usr/lib/libc.so.6(__libc_start_main+0xd5) [0x7fd7350f9b25]
#62  /tmp/.mount_freecagF6eiu/usr/bin/freecad(+0x4559) [0x557aea08d559]
FC Version Info

Code: Select all

OS: Arch Linux (GNOME/gnome)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.24267 (Git) AppImage
Build type: Release
Branch: master
Hash: b2ca86d8d72b636011a73394bf9bcdedb3b109b7
Python version: 3.8.6
Qt version: 5.12.5
Coin version: 4.0.0
OCC version: 7.4.0
Locale: English/United States (en_US)
Attachments
xy_motor_mount.FCStd
(55.09 KiB) Downloaded 56 times
global_dimensions.FCStd
(2.87 KiB) Downloaded 59 times
Post Reply