Crash with FreeCAD 1.1.0
Activating the MeshRemodel workbench crashes FreeCAD (FreeCAD 1.1.0, Libs: 1.1.0devR39960 (Git))"
Program received signal SIGSEGV, Segmentation fault.
#0 /lib/x86_64-linux-gnu/libc.so.6(+0x42520) [0x773888e42520]
#1 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(PyType_Ready+0x4) [0x77388ad46334]
#2 /home/gael/.local/lib/python3.10/site-packages/shiboken6/libshiboken6.abi3.so.6.8(+0x19dbe) [0x77385d8a7dbe]
#3 /home/gael/.local/lib/python3.10/site-packages/shiboken6/libshiboken6.abi3.so.6.8(+0x1a04e) [0x77385d8a804e]
#4 /home/gael/.local/lib/python3.10/site-packages/shiboken6/libshiboken6.abi3.so.6.8(FinishSignatureInitBytes+0x1d) [0x77385d8a81bd]
#5 /home/gael/.local/lib/python3.10/site-packages/shiboken6/Shiboken.abi3.so(PyInit_Shiboken+0x144) [0x7738640045c4]
#6 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0x1e9071) [0x77388ade9071]
#7 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0x1287b3) [0x77388ad287b3]
#8 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(_PyEval_EvalFrameDefault+0x4b16) [0x77388ac76776]
#9 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0x1c23af) [0x77388adc23af]
#10 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(_PyEval_EvalFrameDefault+0x9d68) [0x77388ac7b9c8]
#11 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0x1c23af) [0x77388adc23af]
#12 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(_PyEval_EvalFrameDefault+0x829e) [0x77388ac79efe]
#13 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0x1c23af) [0x77388adc23af]
#14 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(_PyEval_EvalFrameDefault+0x69de) [0x77388ac7863e]
#15 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0x1c23af) [0x77388adc23af]
#16 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(_PyEval_EvalFrameDefault+0x69de) [0x77388ac7863e]
#17 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0x1c23af) [0x77388adc23af]
#18 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(_PyEval_EvalFrameDefault+0x69de) [0x77388ac7863e]
#19 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0x1c23af) [0x77388adc23af]
#20 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0xe13f4) [0x77388ace13f4]
#21 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(_PyObject_CallMethodIdObjArgs+0xff) [0x77388ace175f]
#22 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(PyImport_ImportModuleLevelObject+0x2a4) [0x77388adeb2a4]
#23 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0x1be2fe) [0x77388adbe2fe]
#24 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0x128023) [0x77388ad28023]
#25 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(_PyObject_Call+0x5c) [0x77388ace1fec]
#26 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(_PyEval_EvalFrameDefault+0x4b16) [0x77388ac76776]
#27 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0x1c23af) [0x77388adc23af]
#28 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(_PyEval_EvalFrameDefault+0x5bf7) [0x77388ac77857]
#29 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0x1c23af) [0x77388adc23af]
#30 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(PyEval_EvalCode+0xbe) [0x77388adbd3de]
#31 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0x1bd96d) [0x77388adbd96d]
#32 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0x1287b3) [0x77388ad287b3]
#33 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(_PyEval_EvalFrameDefault+0x4b16) [0x77388ac76776]
#34 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0x1c23af) [0x77388adc23af]
#35 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(_PyEval_EvalFrameDefault+0x9d68) [0x77388ac7b9c8]
#36 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0x1c23af) [0x77388adc23af]
#37 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(_PyEval_EvalFrameDefault+0x829e) [0x77388ac79efe]
#38 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0x1c23af) [0x77388adc23af]
#39 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(_PyEval_EvalFrameDefault+0x69de) [0x77388ac7863e]
#40 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0x1c23af) [0x77388adc23af]
#41 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(_PyEval_EvalFrameDefault+0x69de) [0x77388ac7863e]
#42 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0x1c23af) [0x77388adc23af]
#43 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0xe13f4) [0x77388ace13f4]
#44 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(_PyObject_CallMethodIdObjArgs+0xff) [0x77388ace175f]
#45 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(PyImport_ImportModuleLevelObject+0x2a4) [0x77388adeb2a4]
#46 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0x1be2fe) [0x77388adbe2fe]
#47 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0x128023) [0x77388ad28023]
#48 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(_PyObject_Call+0x5c) [0x77388ace1fec]
#49 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(_PyEval_EvalFrameDefault+0x4b16) [0x77388ac76776]
#50 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0x1c23af) [0x77388adc23af]
#51 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(_PyEval_EvalFrameDefault+0x5bf7) [0x77388ac77857]
#52 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0x1c23af) [0x77388adc23af]
#53 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(PyEval_EvalCode+0xbe) [0x77388adbd3de]
#54 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0x1bd96d) [0x77388adbd96d]
#55 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0x1287b3) [0x77388ad287b3]
#56 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(_PyEval_EvalFrameDefault+0x4b16) [0x77388ac76776]
#57 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0x1c23af) [0x77388adc23af]
#58 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(_PyEval_EvalFrameDefault+0x9d68) [0x77388ac7b9c8]
#59 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0x1c23af) [0x77388adc23af]
#60 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(_PyEval_EvalFrameDefault+0x829e) [0x77388ac79efe]
#61 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0x1c23af) [0x77388adc23af]
#62 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(_PyEval_EvalFrameDefault+0x69de) [0x77388ac7863e]
#63 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0x1c23af) [0x77388adc23af]
#64 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(_PyEval_EvalFrameDefault+0x69de) [0x77388ac7863e]
#65 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0x1c23af) [0x77388adc23af]
#66 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0xe13f4) [0x77388ace13f4]
#67 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(_PyObject_CallMethodIdObjArgs+0xff) [0x77388ace175f]
#68 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(PyImport_ImportModuleLevelObject+0x2a4) [0x77388adeb2a4]
#69 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0x1be2fe) [0x77388adbe2fe]
#70 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0x128023) [0x77388ad28023]
#71 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(_PyObject_Call+0x5c) [0x77388ace1fec]
#72 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(_PyEval_EvalFrameDefault+0x4b16) [0x77388ac76776]
#73 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0x1c23af) [0x77388adc23af]
#74 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(_PyEval_EvalFrameDefault+0x5bf7) [0x77388ac77857]
#75 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0x1c23af) [0x77388adc23af]
#76 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0xe246c) [0x77388ace246c]
#77 /usr/lib/freecad-daily-python3/lib/libFreeCADGui.so(+0x4259ae) [0x77388c0259ae]
#78 0x77388c031091 in Gui::Application::activateWorkbench(char const*) from /usr/lib/freecad-daily-python3/lib/libFreeCADGui.so+0x4a1
#79 0x77388c04977f in Gui::ApplicationPy::sActivateWorkbenchHandler(_object*, _object*) from /usr/lib/freecad-daily-python3/lib/libFreeCADGui.so+0x7f
#80 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0x128008) [0x77388ad28008]
#81 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(_PyObject_MakeTpCall+0x8c) [0x77388acdfadc]
#82 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(_PyEval_EvalFrameDefault+0x9dbc) [0x77388ac7ba1c]
#83 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0x1c23af) [0x77388adc23af]
#84 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(PyEval_EvalCode+0xbe) [0x77388adbd3de]
#85 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0x20c4cd) [0x77388ae0c4cd]
#86 /lib/x86_64-linux-gnu/libpython3.10.so.1.0(PyRun_StringFlags+0x79) [0x77388ae0d4f9]
#87 0x77388b2f38dc in Base::InterpreterSingleton::runString[abi:cxx11](char const*) from /usr/lib/freecad-daily-python3/lib/libFreeCADBase.so+0x6c
#88 0x77388c0e0e57 in Gui::Command::_runCommand(char const*, int, Gui::Command::DoCmd_Type, char const*) from /usr/lib/freecad-daily-python3/lib/libFreeCADGui.so+0x97
#89 0x77388c0e0ff7 in Gui::Command::_doCommand(char const*, int, Gui::Command::DoCmd_Type, char const*, ...) from /usr/lib/freecad-daily-python3/lib/libFreeCADGui.so+0xe7
#90 0x77388c102ba3 in StdCmdWorkbench::activated(int) from /usr/lib/freecad-daily-python3/lib/libFreeCADGui.so+0x173
#91 0x77388c0e090f in Gui::Command::_invoke(int, bool) from /usr/lib/freecad-daily-python3/lib/libFreeCADGui.so+0x26f
#92 0x77388c0e0d60 in Gui::Command::invoke(int, Gui::Command::TriggerSource) from /usr/lib/freecad-daily-python3/lib/libFreeCADGui.so+0x110
#93 0x77388c0d501e in Gui::ActionGroup::onActivated(QAction*) from /usr/lib/freecad-daily-python3/lib/libFreeCADGui.so+0x12e
#94 /lib/x86_64-linux-gnu/libQt5Core.so.5(+0x2f1793) [0x7738898f1793]
#95 0x77388a569b03 in QActionGroup::triggered(QAction*) from /lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x43
#96 /lib/x86_64-linux-gnu/libQt5Core.so.5(+0x2f17c8) [0x7738898f17c8]
#97 0x77388a565be6 in QAction::triggered(bool) from /lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x46
#98 0x77388a5688fc in QAction::activate(QAction::ActionEvent) from /lib/x86_64-linux-gnu/libQt5Widgets.so.5+0xac
#99 /usr/lib/freecad-daily-python3/lib/libFreeCADGui.so(+0x8e4ae2) [0x77388c4e4ae2]
#100 /lib/x86_64-linux-gnu/libQt5Core.so.5(+0x2f1793) [0x7738898f1793]
#101 0x77388a674355 in QComboBox::activated(int) from /lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x45
#102 /lib/x86_64-linux-gnu/libQt5Widgets.so.5(+0x2768f2) [0x77388a6768f2]
#103 /lib/x86_64-linux-gnu/libQt5Core.so.5(+0x2f17c8) [0x7738898f17c8]
#104 0x77388a6744c6 in QComboBoxPrivateContainer::itemSelected(QModelIndex const&) from /lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x36
#105 0x77388a674df0 in QComboBoxPrivateContainer::eventFilter(QObject*, QEvent*) from /lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x4f0
#106 0x7738898b9b9a in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) from /lib/x86_64-linux-gnu/libQt5Core.so.5+0xaa
#107 0x77388a56c702 in QApplicationPrivate::notify_helper(QObject*, QEvent*) from /lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x72
#108 0x77388a574364 in QApplication::notify(QObject*, QEvent*) from /lib/x86_64-linux-gnu/libQt5Widgets.so.5+0xa84
#109 0x77388c0af5de in Gui::GUIApplication::notify(QObject*, QEvent*) from /usr/lib/freecad-daily-python3/lib/libFreeCADGui.so+0xde
#110 0x7738898b9e3a in QCoreApplication::notifyInternal2(QObject*, QEvent*) from /lib/x86_64-linux-gnu/libQt5Core.so.5+0x13a
#111 0x77388a572e47 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) from /lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x1b7
#112 /lib/x86_64-linux-gnu/libQt5Widgets.so.5(+0x1c9843) [0x77388a5c9843]
#113 /lib/x86_64-linux-gnu/libQt5Widgets.so.5(+0x1cbfd5) [0x77388a5cbfd5]
#114 0x77388a56c713 in QApplicationPrivate::notify_helper(QObject*, QEvent*) from /lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x83
#115 0x77388c0af5de in Gui::GUIApplication::notify(QObject*, QEvent*) from /usr/lib/freecad-daily-python3/lib/libFreeCADGui.so+0xde
#116 0x7738898b9e3a in QCoreApplication::notifyInternal2(QObject*, QEvent*) from /lib/x86_64-linux-gnu/libQt5Core.so.5+0x13a
#117 0x773889d41307 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) from /lib/x86_64-linux-gnu/libQt5Gui.so.5+0x697
#118 0x773889d16a2c in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) from /lib/x86_64-linux-gnu/libQt5Gui.so.5+0xac
#119 /lib/x86_64-linux-gnu/libQt5XcbQpa.so.5(+0x73d6e) [0x77387faf8d6e]
#120 /lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_dispatch+0x26b) [0x773888d1bd3b]
#121 /lib/x86_64-linux-gnu/libglib-2.0.so.0(+0xab2b8) [0x773888d712b8]
#122 /lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_iteration+0x33) [0x773888d193e3]
#123 0x7738899130b8 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) from /lib/x86_64-linux-gnu/libQt5Core.so.5+0x68
#124 0x7738898b875b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) from /lib/x86_64-linux-gnu/libQt5Core.so.5+0x12b
#125 0x7738898c0cf4 in QCoreApplication::exec() from /lib/x86_64-linux-gnu/libQt5Core.so.5+0x94
OS: Pop!_OS 22.04 LTS (sway-nvidia/xcb) Architecture: x86_64 Version: 1.1.0dev.39960 (Git) Build type: Release Branch: main Hash: 97d4c952af203e628b6451ef8899b877f067d5c7 Python 3.10.12, Qt 5.15.3, Coin 4.0.0, Vtk 9.1.0, OCC 7.8.1 Locale: C/Default (C) [ OS: English/United States (en_US) ] Stylesheet/Theme/QtStyle: FreeCAD Dark.qss/FreeCAD Dark/Fusion Installed mods:
- freecad.startup
- freecad.cross 1.0.0
- Assembly4 0.50.15
- boltsfc 2022.11.5
- freecad.gears 1.3.0
- fasteners 0.5.35
- Freecad-Built-in-themes-beta 1.2.2
- OpenTheme 2024.9.1
- Defeaturing 1.2.3
- RobotDescriptor
- FreeCAD-AI-Toolbar
- MeshRemodel 1.10.35
- MnesarcoUtils 0.2.15
It could be caused by the check for updates function. Go to Tools -> Edit Parameters -> Plugins -> MeshRemodel and create new boolean key "CheckForUpdates" and set it to false.
Another possibility is shiboken6, which I understand to be for PySide6 only, but you are using Qt5, so I'm not sure why that is being listed in the segfault information. MeshRemodel does try to import shiboken6 inside a try/except block, and then imports shiboken2 when that fails. But if you have shiboken6 installed it would pick it up and use it. I should probably try to import shiboken2 first, and then resort to shiboken6 when that fails. I only use shiboken in one place with the GridSurface objects to check if the menu object passed in when creating the context menu is valid because I was getting random errors when debugging with pyzo, which might have been the culprit for the invalid menu objects where that only happened when running inside the pyzo shell. You could comment out the shiboken import and see if that prevents the crash if setting the CheckForUpdates flag to false doesn't solve the issue.
OK, I'll try this. I installed Shiboken6 with pip to try to compile FreeCAD with Qt6.
I'd be interested in seeing if putting the shiboken2 import in the try part of the clause and shiboken6 in the except part would make a difference. If you have both installed it should take shiboken2 first that way.
Deactivating the import completely works. Importing shiboken2 works.
I'd suggest to use PySide.__version_info__[0] to choose whether to import shiboken2 or shiboken6 (PySide from FreeCAD).
Should hopefully be fixed with https://github.com/mwganson/MeshRemodel/commit/9eb02e81e4b2148713f17ec5aa31a5aea97b8628
@galou is this fixed ?
Yes, fixed
@galou ITC please close, TIA!