FreeCAD 0.19 from Ubuntu 21.04 repo crashes with Wayland/Plasma

Having trouble installing or compiling FreeCAD? Get help here.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Post Reply
User avatar
kwahoo
Posts: 680
Joined: Fri Nov 29, 2013 3:09 pm
Contact:

FreeCAD 0.19 from Ubuntu 21.04 repo crashes with Wayland/Plasma

Post by kwahoo »

Hi, all!

So, I was curious how is FreeCAD directly from Ubuntu 21.04 repository. U use KDE, so I ran FreeCAD on Plasma:
* FreeCAD on Plasma/X11 works fine
* FreeCAD on Plasma/Wayland crashes, after a new document creation

Code: Select all

Program received signal SIGSEGV, Segmentation fault.
#0  /lib/x86_64-linux-gnu/libc.so.6(+0x41040) [0x7f6380a3a040]
#1  /lib/x86_64-linux-gnu/libX11.so.6(XDefaultScreenOfDisplay+0x4) [0x7f637e9a4c54]
#2  /lib/x86_64-linux-gnu/libCoin.so.80c(+0x3eeb5e) [0x7f63805a3b5e]
#3  /lib/x86_64-linux-gnu/libCoin.so.80c(glxglue_init+0x40) [0x7f63805a4470]
#4  /lib/x86_64-linux-gnu/libCoin.so.80c(cc_glglue_instance+0x235) [0x7f638059cfb5]
#5  0x7f638043f1a8 in SoGLRenderActionP::isDirectRendering(SoState const*) const from /lib/x86_64-linux-gnu/libCoin.so.80c+0x48
#6  0x7f6380441577 in SoGLRenderActionP::render(SoNode*) from /lib/x86_64-linux-gnu/libCoin.so.80c+0xc7
#7  0x7f63804417c3 in SoGLRenderAction::beginTraversal(SoNode*) from /lib/x86_64-linux-gnu/libCoin.so.80c+0xa3
#8  0x7f638043a71a in SoAction::apply(SoNode*) from /lib/x86_64-linux-gnu/libCoin.so.80c+0x28a
#9  0x7f638347d1ed in Gui::SoBoxSelectionRenderAction::apply(SoNode*) from /usr/lib/freecad-python3/lib/libFreeCADGui.so+0x2d
#10  0x7f63835273a7 in Gui::View3DInventorViewer::renderScene() from /usr/lib/freecad-python3/lib/libFreeCADGui.so+0x147
#11  0x7f63834eda55 in SIM::Coin3D::Quarter::QuarterWidget::paintEvent(QPaintEvent*) from /usr/lib/freecad-python3/lib/libFreeCADGui.so+0x285
#12  0x7f63834f3d26 in SIM::Coin3D::Quarter::SoQTQuarterAdaptor::paintEvent(QPaintEvent*) from /usr/lib/freecad-python3/lib/libFreeCADGui.so+0x46
#13  0x7f6381befd6e in QWidget::event(QEvent*) from /lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x1ce
#14  0x7f6381c999d2 in QFrame::event(QEvent*) from /lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x22
#15  0x7f63810cff9b in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) from /lib/x86_64-linux-gnu/libQt5Core.so.5+0x9b
#16  0x7f6381baf162 in QApplicationPrivate::notify_helper(QObject*, QEvent*) from /lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x72
#17  0x7f6383252050 in Gui::GUIApplication::notify(QObject*, QEvent*) from /usr/lib/freecad-python3/lib/libFreeCADGui.so+0x90
#18  0x7f63810d022a in QCoreApplication::notifyInternal2(QObject*, QEvent*) from /lib/x86_64-linux-gnu/libQt5Core.so.5+0x12a
#19  0x7f6381be7e3a in QWidgetPrivate::sendPaintEvent(QRegion const&) from /lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x3a
#20  0x7f6381be8682 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) from /lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x7f2
#21  0x7f6381be99e3 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) from /lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x513
#22  0x7f6381be839c in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) from /lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x50c
#23  0x7f6381be99e3 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) from /lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x513
#24  0x7f6381be839c in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) from /lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x50c
#25  0x7f6381be99e3 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) from /lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x513
#26  0x7f6381be839c in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) from /lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x50c
#27  0x7f6381be99e3 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) from /lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x513
#28  0x7f6381be839c in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) from /lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x50c
#29  0x7f6381be99e3 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) from /lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x513
#30  0x7f6381be839c in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) from /lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x50c
#31  /lib/x86_64-linux-gnu/libQt5Widgets.so.5(+0x17c9f0) [0x7f6381bbf9f0]
#32  0x7f6381bf0497 in QWidget::event(QEvent*) from /lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x8f7
#33  0x7f6381baf173 in QApplicationPrivate::notify_helper(QObject*, QEvent*) from /lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x83
#34  0x7f6383252050 in Gui::GUIApplication::notify(QObject*, QEvent*) from /usr/lib/freecad-python3/lib/libFreeCADGui.so+0x90
#35  0x7f63810d022a in QCoreApplication::notifyInternal2(QObject*, QEvent*) from /lib/x86_64-linux-gnu/libQt5Core.so.5+0x12a
#36  0x7f63810d2d01 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) from /lib/x86_64-linux-gnu/libQt5Core.so.5+0x171
#37  /lib/x86_64-linux-gnu/libQt5Widgets.so.5(+0x489ae3) [0x7f6381eccae3]
#38  0x7f63810fd2a1 in QObject::event(QEvent*) from /lib/x86_64-linux-gnu/libQt5Core.so.5+0x291
#39  0x7f6381baf173 in QApplicationPrivate::notify_helper(QObject*, QEvent*) from /lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x83
#40  0x7f6383252050 in Gui::GUIApplication::notify(QObject*, QEvent*) from /usr/lib/freecad-python3/lib/libFreeCADGui.so+0x90
#41  0x7f63810d022a in QCoreApplication::notifyInternal2(QObject*, QEvent*) from /lib/x86_64-linux-gnu/libQt5Core.so.5+0x12a
#42  0x7f63810d2d01 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) from /lib/x86_64-linux-gnu/libQt5Core.so.5+0x171
#43  /lib/x86_64-linux-gnu/libQt5Core.so.5(+0x310f37) [0x7f6381129f37]
#44  /lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_dispatch+0x25b) [0x7f637ec7984b]
#45  /lib/x86_64-linux-gnu/libglib-2.0.so.0(+0xa8c68) [0x7f637ecccc68]
#46  /lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_iteration+0x33) [0x7f637ec76f83]
#47  0x7f6381129594 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) from /lib/x86_64-linux-gnu/libQt5Core.so.5+0x64
#48  0x7f63810ceb8b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) from /lib/x86_64-linux-gnu/libQt5Core.so.5+0x12b
#49  0x7f63810d7024 in QCoreApplication::exec() from /lib/x86_64-linux-gnu/libQt5Core.so.5+0x94
#50  0x7f63831c3bb0 in Gui::Application::runApplication() from /usr/lib/freecad-python3/lib/libFreeCADGui.so+0x1970
#51  freecad(+0x4e34) [0x5586020fde34]
#52  /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xd5) [0x7f6380a21565]
#53  freecad(+0x51ae) [0x5586020fe1ae]

Code: Select all

OS: Ubuntu 21.04 (KDE/plasmawayland)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.
Build type: Release
Python version: 3.9.2
Qt version: 5.15.2
Coin version: 4.0.0
OCC version: 7.5.1
Locale: Polish/Poland (pl_PL)
I am curious if this affects vanilla Ubuntu users (Ubuntu 21.04 uses Wayland by default)?
arofarn
Posts: 1
Joined: Thu Apr 29, 2021 9:10 am

Re: FreeCAD 0.19 from Ubuntu 21.04 repo crashes with Wayland/Plasma

Post by arofarn »

I have the exact same problem after upgrading Kubuntu from 20.10 to 21.04.

freeCAD works as usual (great !) with Plasma/X11 but crashes with Plasma/Wayland when I create a new document or if I open an existing one.

Note:
I had to uninstall and reinstall freecad after the upgrade : under kubuntu 20.10, I used the freecad-maintainer (stable) PPA and there is no PPA for Hirsute and I had some broken things.

Code: Select all

OS: Ubuntu 21.04 (KDE/plasma)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.
Build type: Release
Python version: 3.9.2
Qt version: 5.15.2
Coin version: 4.0.0
OCC version: 7.5.1
Locale: French/France (fr_FR)
Post Reply