MeshRemodel icon indicating copy to clipboard operation
MeshRemodel copied to clipboard

Crash with FreeCAD 1.1.0

Open galou opened this issue 11 months ago • 5 comments

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

galou avatar Jan 23 '25 10:01 galou

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.

mwganson avatar Jan 23 '25 17:01 mwganson

OK, I'll try this. I installed Shiboken6 with pip to try to compile FreeCAD with Qt6.

galou avatar Jan 24 '25 12:01 galou

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.

mwganson avatar Jan 24 '25 19:01 mwganson

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).

galou avatar Jan 25 '25 10:01 galou

Should hopefully be fixed with https://github.com/mwganson/MeshRemodel/commit/9eb02e81e4b2148713f17ec5aa31a5aea97b8628

mwganson avatar Jan 25 '25 18:01 mwganson

@galou is this fixed ?

luzpaz avatar Jul 30 '25 17:07 luzpaz

Yes, fixed

galou avatar Jul 31 '25 14:07 galou

@galou ITC please close, TIA!

luzpaz avatar Aug 03 '25 09:08 luzpaz