coredump when loadin path workbench

Here's the place for discussion related to CAM/CNC and the development of the Path module.
mattes
Posts: 9
Joined: Tue Mar 26, 2019 4:28 am

coredump when loadin path workbench

Postby mattes » Tue Jan 14, 2020 12:02 am

Not a fan of upgrade, but sometime its hard to avoid. Had FreeCAD v0.18 working nicely with Fedora 29 mainly using Part and Path workbench.

Had to re-install OS and installed Fedora31 (Cinnamon) which installs FreeCad 0.18.4. The part workbench works fine. But the moment I switch to PATH workbench, FreeCad faults. Here the coredump stackback trace:

#0 0x000000000000efe0 in ?? ()
#1 0x00007ffff7fe1d5a in call_init.part () from /lib64/ld-linux-x86-64.so.2
#2 0x00007ffff7fe1e61 in _dl_init () from /lib64/ld-linux-x86-64.so.2
#3 0x00007ffff7fe5dbe in dl_open_worker () from /lib64/ld-linux-x86-64.so.2
#4 0x00007ffff5a43919 in _dl_catch_exception () from /lib64/libc.so.6
#5 0x00007ffff7fe563e in _dl_open () from /lib64/ld-linux-x86-64.so.2
#6 0x00007ffff401239c in dlopen_doit () from /lib64/libdl.so.2
#7 0x00007ffff5a43919 in _dl_catch_exception () from /lib64/libc.so.6
#8 0x00007ffff5a439b3 in _dl_catch_error () from /lib64/libc.so.6
#9 0x00007ffff4012b09 in _dlerror_run () from /lib64/libdl.so.2
#10 0x00007ffff401242a in dlopen@@GLIBC_2.2.5 () from /lib64/libdl.so.2
#11 0x00007ffff5f4723f in QLibraryPrivate::load_sys() () from /lib64/libQt5Core.so.5
#12 0x00007ffff5f41f4d in QLibraryPrivate::load() () from /lib64/libQt5Core.so.5
#13 0x00007ffff5f42287 in QLibraryPrivate::loadPlugin() () from /lib64/libQt5Core.so.5
#14 0x00007ffff7965446 in QFormInternal::QFormBuilder::updateCustomWidgets() () from /usr/lib64/freecad/lib/libFreeCADGui.so
#15 0x00007ffff7964419 in QFormInternal::QFormBuilder::setPluginPath(QStringList const&) ()
from /usr/lib64/freecad/lib/libFreeCADGui.so
#16 0x00007ffff794465d in QUiLoader::QUiLoader(QObject*) () from /usr/lib64/freecad/lib/libFreeCADGui.so
#17 0x00007ffff78ee344 in Gui::UiLoader::UiLoader(QObject*) () from /usr/lib64/freecad/lib/libFreeCADGui.so
#18 0x00007ffff78ee43c in Gui::UiLoaderPy::UiLoaderPy() () from /usr/lib64/freecad/lib/libFreeCADGui.so
#19 0x00007ffff78ee535 in Gui::UiLoaderPy::PyMake(_typeobject*, _object*, _object*) ()
from /usr/lib64/freecad/lib/libFreeCADGui.so
#20 0x00007ffff69e5175 in _PyObject_FastCallKeywords () from /lib64/libpython3.7m.so.1.0
#21 0x00007ffff69e6ce9 in call_function () from /lib64/libpython3.7m.so.1.0
#22 0x00007ffff6a22182 in _PyEval_EvalFrameDefault () from /lib64/libpython3.7m.so.1.0
#23 0x00007ffff69d504a in _PyFunction_FastCallDict () from /lib64/libpython3.7m.so.1.0
#24 0x00007ffff69a93c6 in _PyObject_Call_Prepend () from /lib64/libpython3.7m.so.1.0
#25 0x00007ffff69e4163 in slot_tp_init () from /lib64/libpython3.7m.so.1.0
#26 0x00007ffff69e51d7 in _PyObject_FastCallKeywords () from /lib64/libpython3.7m.so.1.0

$ ldd /usr/bin/FreeCAD
linux-vdso.so.1 (0x00007ffee7ba0000)
libFreeCADGui.so => /usr/lib64/freecad/lib/libFreeCADGui.so (0x00007f8c957c6000)
libFreeCADApp.so => /usr/lib64/freecad/lib/libFreeCADApp.so (0x00007f8c953e4000)
libFreeCADBase.so => /usr/lib64/freecad/lib/libFreeCADBase.so (0x00007f8c95247000)
libpython3.7m.so.1.0 => /lib64/libpython3.7m.so.1.0 (0x00007f8c94ed3000)
libQt5Widgets.so.5 => /lib64/libQt5Widgets.so.5 (0x00007f8c94832000)
libQt5Core.so.5 => /lib64/libQt5Core.so.5 (0x00007f8c94314000)
libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f8c94118000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f8c940fe000)
libc.so.6 => /lib64/libc.so.6 (0x00007f8c93f35000)
libCoin.so.80 => /lib64/libCoin.so.80 (0x00007f8c9365d000)
libboost_regex.so.1.69.0 => /lib64/libboost_regex.so.1.69.0 (0x00007f8c93562000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f8c93540000)
libGL.so.1 => /lib64/libGL.so.1 (0x00007f8c934aa000)
libQt5PrintSupport.so.5 => /lib64/libQt5PrintSupport.so.5 (0x00007f8c93432000)
libQt5Svg.so.5 => /lib64/libQt5Svg.so.5 (0x00007f8c933d5000)
libQt5Network.so.5 => /lib64/libQt5Network.so.5 (0x00007f8c93217000)
libQt5X11Extras.so.5 => /lib64/libQt5X11Extras.so.5 (0x00007f8c93210000)
libspnav.so.0 => /lib64/libspnav.so.0 (0x00007f8c93209000)
libshiboken2.cpython-37m-x86_64-linux-gnu.so.5.12 => /lib64/libshiboken2.cpython-37m-x86_64-linux-gnu.so.5.12 (0x00007f8c931c5000)
libpyside2.cpython-37m-x86_64-linux-gnu.so.5.12 => /lib64/libpyside2.cpython-37m-x86_64-linux-gnu.so.5.12 (0x00007f8c93199000)
libxerces-c-3.2.so => /lib64/libxerces-c-3.2.so (0x00007f8c92dc5000)
libzipios.so.0 => /lib64/libzipios.so.0 (0x00007f8c92d91000)
libQt5Xml.so.5 => /lib64/libQt5Xml.so.5 (0x00007f8c92d4e000)
libQt5Gui.so.5 => /lib64/libQt5Gui.so.5 (0x00007f8c92813000)
libm.so.6 => /lib64/libm.so.6 (0x00007f8c926cb000)
libboost_program_options.so.1.69.0 => /lib64/libboost_program_options.so.1.69.0 (0x00007f8c92645000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f8c9263e000)
libz.so.1 => /lib64/libz.so.1 (0x00007f8c92624000)
libutil.so.1 => /lib64/libutil.so.1 (0x00007f8c9261f000)
libsystemd.so.0 => /lib64/libsystemd.so.0 (0x00007f8c9256a000)
libicui18n.so.63 => /lib64/libicui18n.so.63 (0x00007f8c92287000)
libicuuc.so.63 => /lib64/libicuuc.so.63 (0x00007f8c920b4000)
libpcre2-16.so.0 => /lib64/libpcre2-16.so.0 (0x00007f8c92033000)
libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x00007f8c91f0b000)
/lib64/ld-linux-x86-64.so.2 (0x00007f8c96606000)
libexpat.so.1 => /lib64/libexpat.so.1 (0x00007f8c91edd000)
libOpenGL.so.0 => /lib64/libOpenGL.so.0 (0x00007f8c91eaa000)
librt.so.1 => /lib64/librt.so.1 (0x00007f8c91e9f000)
libicudata.so.63 => /lib64/libicudata.so.63 (0x00007f8c904ae000)
libGLX.so.0 => /lib64/libGLX.so.0 (0x00007f8c9047a000)
libX11.so.6 => /lib64/libX11.so.6 (0x00007f8c90334000)
libXext.so.6 => /lib64/libXext.so.6 (0x00007f8c9031f000)
libGLdispatch.so.0 => /lib64/libGLdispatch.so.0 (0x00007f8c90260000)
libssl.so.1.1 => /lib64/libssl.so.1.1 (0x00007f8c901ca000)
libcrypto.so.1.1 => /lib64/libcrypto.so.1.1 (0x00007f8c8feea000)
libQt5Qml.so.5 => /lib64/libQt5Qml.so.5 (0x00007f8c8fa09000)
libpng16.so.16 => /lib64/libpng16.so.16 (0x00007f8c8f9d3000)
libharfbuzz.so.0 => /lib64/libharfbuzz.so.0 (0x00007f8c8f8d9000)
liblzma.so.5 => /lib64/liblzma.so.5 (0x00007f8c8f8b0000)
liblz4.so.1 => /lib64/liblz4.so.1 (0x00007f8c8f88f000)
libgcrypt.so.20 => /lib64/libgcrypt.so.20 (0x00007f8c8f771000)
libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f8c8f6fd000)
libxcb.so.1 => /lib64/libxcb.so.1 (0x00007f8c8f6d0000)
libfreetype.so.6 => /lib64/libfreetype.so.6 (0x00007f8c8f60f000)
libgraphite2.so.3 => /lib64/libgraphite2.so.3 (0x00007f8c8f5ea000)
libgpg-error.so.0 => /lib64/libgpg-error.so.0 (0x00007f8c8f5c7000)
libXau.so.6 => /lib64/libXau.so.6 (0x00007f8c8f5c1000)
libbz2.so.1 => /lib64/libbz2.so.1 (0x00007f8c8f5ab000)

Anyone has an idea?
I assume it is just some simple thing, possible one of the librarys/sub packages not up-to-date (or dependency)

Mat
mattes
Posts: 9
Joined: Tue Mar 26, 2019 4:28 am

Re: coredump when loadin path workbench

Postby mattes » Tue Jan 14, 2020 12:07 am

forgot to add this

OS: Fedora 31 (Workstation Edition)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.18.Unknown
Build type: Unknown
Python version: 3.7.5
Qt version: 5.12.5
Coin version: 4.0.0a
OCC version: 7.4.0.beta
Locale: English/United States (en_US)
chrisb
Posts: 22422
Joined: Tue Mar 17, 2015 9:14 am

Re: coredump when loadin path workbench

Postby chrisb » Tue Jan 14, 2020 12:20 am

Please retry with the AppImage., preferably 0.19 from https://github.com/FreeCAD/FreeCAD/rele ... g/0.19_pre. There has been done very much in Path workbench.
vocx
Posts: 3336
Joined: Thu Oct 18, 2018 9:18 pm

Re: coredump when loadin path workbench

Postby vocx » Tue Jan 14, 2020 12:47 am

mattes wrote:
Tue Jan 14, 2020 12:02 am
...
Had to re-install OS and installed Fedora31 (Cinnamon) which installs FreeCad 0.18.4.
...
That I know of, users of Fedora often have problems with the version of FreeCAD in their repositories. Richard Hobbes, the maintainer, is looking into new packages for Fedora 30 and 31, but I'm not sure if everything is working well.

For example, see
FreeCAD 0.18 crash every times on Fedora 30
SEGFAULT/SIGABRT on Fedora 31
Always add the important information to your posts if you need help.
To support the documentation effort, and code development, your donation is appreciated: paypal.
mlampert
Posts: 1460
Joined: Fri Sep 16, 2016 9:28 pm

Re: coredump when loadin path workbench

Postby mlampert » Tue Jan 14, 2020 12:59 am

I don't know Fedora, so can't really help. The only thing ever having as drastic consequences was the xml library mismatch in libcoin. This was an issue in Debian for quite a while, don't know about Fedora.
wmayer
Site Admin
Posts: 15483
Joined: Thu Feb 19, 2009 10:32 am

Re: coredump when loadin path workbench

Postby wmayer » Tue Jan 14, 2020 1:59 pm

According to the posted stack trace there might be a problem with your Qt5 installation. Can you please open a bash and start a Python3 session?
Then post this code and check if the Python interpreter crashes, too:

Code: Select all

from PySide2 import QtUiTools
ui=QtUiTools.QUiLoader()
The creation of a QUiLoader object internally creates a QLibraryPrivate which I assume loads some Qt Designer plugins https://code.woboq.org/qt5/qtbase/src/c ... x.cpp.html. In case it crashes you should find out the path where the (designer) plugins are located. Then move all of them to another directory and try the Python code again.
In case it doesn't crash any more you can be sure that one of the plugins is corrupted. Move them back one by one and for each one run the Python code again to see if it works or not.
mattes
Posts: 9
Joined: Tue Mar 26, 2019 4:28 am

Re: coredump when loadin path workbench

Postby mattes » Fri Jan 17, 2020 2:23 am

FYI, I installed flatpak freecad and that seems to work with the PATH workspace:

flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install flathub org.freecadweb.FreeCAD
flatpak run org.freecadweb.FreeCAD

setup a simple contour path and that seems to work without problems with Fedora 31

Not sure how I can help fixing the package inside the fedora31 repos.
Would be nice to get that working again.

Mat
mattes
Posts: 9
Joined: Tue Mar 26, 2019 4:28 am

Re: coredump when loadin path workbench

Postby mattes » Fri Jan 17, 2020 2:55 am

wmayer,

I followed up on some of your suggestions:

a) python 3 bails indeed when I execute :
from PySide2 import QtUiTools
ui=QtUiTools.QUiLoader()

b) renamed the designer path
sudo mv /usr/lib64/qt5/plugins/designer /usr/lib64/qt5/plugins/designer.UNUSED
now the the python3 sample survives without crashing

c) started now FreeCAD and was able to switch to PATH-workshop now without coredump. But the moment I move the mouse it crashes hard again.
Here the coredump. hope that helps to narrow it down.

Program received signal SIGSEGV, Segmentation fault.
#0 /lib64/libc.so.6(+0x3c6b0) [0x7f96ddb9f6b0]
#1 0x7f96dd739ecf in SoState::getElement(int) from /lib64/libCoin.so.80+0x15f
#2 0x7f96dd66494c in SoViewportRegionElement::set(SoState*, SbViewportRegion const&) from /lib64/libCoin.so.80+0x2c
#3 0x7f96dd598efd in SoHandleEventAction::beginTraversal(SoNode*) from /lib64/libCoin.so.80+0x3d
#4 0x7f96dd58fcda in SoAction::apply(SoNode*) from /lib64/libCoin.so.80+0x28a
#5 0x7f96dfaa379c in Gui::NavigationStyle::handleEventInForeground(SoEvent const*) from /usr/lib64/freecad/lib/libFreeCADGui.so+0x8c
#6 0x7f96dfaa56f9 in Gui::CADNavigationStyle::processSoEvent(SoEvent const*) from /usr/lib64/freecad/lib/libFreeCADGui.so+0x159
#7 0x7f96dfaa21a9 in Gui::NavigationStyle::processEvent(SoEvent const*) from /usr/lib64/freecad/lib/libFreeCADGui.so+0x79
#8 0x7f96dfabe9a0 in Gui::View3DInventorViewer::processSoEvent(SoEvent const*) from /usr/lib64/freecad/lib/libFreeCADGui.so+0x70
#9 0x7f96dfa88e0f in SIM::Coin3D::Quarter::EventFilter::eventFilter(QObject*, QEvent*) from /usr/lib64/freecad/lib/libFreeCADGui.so+0xaf
#10 0x7f96de1a6c2e in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) from /lib64/libQt5Core.so.5+0x9e
#11 0x7f96de5cfac5 in QApplicationPrivate::notify_helper(QObject*, QEvent*) from /lib64/libQt5Widgets.so.5+0x75
#12 0x7f96de5d93a3 in QApplication::notify(QObject*, QEvent*) from /lib64/libQt5Widgets.so.5+0x583
#13 0x7f96df8674e8 in Gui::GUIApplication::notify(QObject*, QEvent*) from /usr/lib64/freecad/lib/libFreeCADGui.so+0x88
#14 0x7f96de1a6de8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) from /lib64/libQt5Core.so.5+0x88
#15 0x7f96de5d84b7 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) from /lib64/libQt5Widgets.so.5+0x1b7
#16 /lib64/libQt5Widgets.so.5(+0x1ce0dd) [0x7f96de62e0dd]
#17 /lib64/libQt5Widgets.so.5(+0x1d0f6c) [0x7f96de630f6c]
#18 0x7f96de5cfad6 in QApplicationPrivate::notify_helper(QObject*, QEvent*) from /lib64/libQt5Widgets.so.5+0x86
#19 0x7f96de5d9150 in QApplication::notify(QObject*, QEvent*) from /lib64/libQt5Widgets.so.5+0x330
#20 0x7f96df8674e8 in Gui::GUIApplication::notify(QObject*, QEvent*) from /usr/lib64/freecad/lib/libFreeCADGui.so+0x88
#21 0x7f96de1a6de8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) from /lib64/libQt5Core.so.5+0x88
#22 0x7f96dc559723 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) from /lib64/libQt5Gui.so.5+0x6f3
#23 0x7f96dc55af4b in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) from /lib64/libQt5Gui.so.5+0x26b
#24 0x7f96dc53754b in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) from /lib64/libQt5Gui.so.5+0xbb
#25 /lib64/libQt5XcbQpa.so.5(+0x76b5e) [0x7f96cb4b3b5e]
#26 /lib64/libglib-2.0.so.0(g_main_context_dispatch+0x160) [0x7f96dbb8a510]
#27 /lib64/libglib-2.0.so.0(+0x518a0) [0x7f96dbb8a8a0]
#28 /lib64/libglib-2.0.so.0(g_main_context_iteration+0x33) [0x7f96dbb8a943]
#29 0x7f96de1fbcb5 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) from /lib64/libQt5Core.so.5+0x65
#30 0x7f96de1a5ceb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) from /lib64/libQt5Core.so.5+0x12b
#31 0x7f96de1ada16 in QCoreApplication::exec() from /lib64/libQt5Core.so.5+0x96
#32 0x7f96df7ee3a5 in Gui::Application::runApplication() from /usr/lib64/freecad/lib/libFreeCADGui.so+0x16f5
#33 FreeCAD(main+0x6a6) [0x55f285c40be6]
#34 /lib64/libc.so.6(__libc_start_main+0xf3) [0x7f96ddb8a1a3]
#35 FreeCAD(_start+0x2e) [0x55f285c40f4e]

thanks for all the help so far.
Mat