Details
-
Bug
-
Resolution: Unresolved
-
P2: Important
-
None
-
5.15.2, 6.4.0 FF
-
None
-
# cat /etc/os-release
NAME="openSUSE Tumbleweed"
# VERSION="20220501"
ID="opensuse-tumbleweed"
ID_LIKE="opensuse suse"
VERSION_ID="20220501"
PRETTY_NAME="openSUSE Tumbleweed"
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:opensuse:tumbleweed:20220501"
BUG_REPORT_URL="https://bugs.opensuse.org"
HOME_URL="https://www.opensuse.org/"
DOCUMENTATION_URL="https://en.opensuse.org/Portal:Tumbleweed"
LOGO="distributor-logo-Tumbleweed"
# rpm -qa | grep qt | grep base
libqt5-qtbase-platformtheme-gtk3-5.15.2+kde294-5.2.x86_64
libqt5-qtbase-common-devel-5.15.2+kde294-5.2.x86_64
libqt5-qtbase-devel-5.15.2+kde294-5.2.x86_64
libqt5-qtbase-debugsource-5.15.2+kde294-5.2.x86_64# cat /etc/os-release NAME="openSUSE Tumbleweed" # VERSION="20220501" ID="opensuse-tumbleweed" ID_LIKE="opensuse suse" VERSION_ID="20220501" PRETTY_NAME="openSUSE Tumbleweed" ANSI_COLOR="0;32" CPE_NAME="cpe:/o:opensuse:tumbleweed:20220501" BUG_REPORT_URL=" https://bugs.opensuse.org " HOME_URL=" https://www.opensuse.org/ " DOCUMENTATION_URL=" https://en.opensuse.org/Portal:Tumbleweed " LOGO="distributor-logo-Tumbleweed" # rpm -qa | grep qt | grep base libqt5-qtbase-platformtheme-gtk3-5.15.2+kde294-5.2.x86_64 libqt5-qtbase-common-devel-5.15.2+kde294-5.2.x86_64 libqt5-qtbase-devel-5.15.2+kde294-5.2.x86_64 libqt5-qtbase-debugsource-5.15.2+kde294-5.2.x86_64
Description
Hy,
while working in FreeCAD changing some parameters I almost always get either a SIGSEGV or a SIGBUS signal crashing the app. The one time it didn't crash it produced the following output:
QObject::installEventFilter(): Cannot filter events for objects in a different thread.
The backtrace for the SIGSEGV is:
FreeCAD 0.20, Libs: 0.20R28809 (Git) Thread 1 "FreeCAD" received signal SIGSEGV, Segmentation fault. QObject::installEventFilter (this=0x45bbb40, obj=0x23947850) at kernel/qobject.cpp:2221 2221 if (d->threadData != obj->d_func()->threadData) { (gdb) bt #0 QObject::installEventFilter(QObject*) (this=0x45bbb40, obj=0x23947850) at kernel/qobject.cpp:2221 #1 0x00007ffff2f036aa in QAbstractItemView::commitData(QWidget*) (this=<optimized out>, editor=0x45bbb40) at itemviews/qabstractitemview.cpp:2909 #2 0x00007ffedab072a1 in SpreadsheetGui::SheetTableView::commitData(QWidget*) (this=0x2208f970, editor=0x45bbb40) at /home/system/usr/FreeCAD/src/src/Mod/Spreadsheet/Gui/SheetTableView.cpp:478 #3 0x00007ffedab0bad5 in SpreadsheetGui::SheetTableView::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=0x2208f970, _c=QMetaObject::InvokeMetaMethod, _id=9, _a=0x7fffffffb180) at /home/system/usr/FreeCAD/bin/build/src/Mod/Spreadsheet/Gui/SpreadsheetGui_autogen/include/moc_SheetTableView.cpp:272 #4 0x00007ffff2115488 in doActivate<false>(QObject*, int, void**) (sender=0x23947850, signal_index=3, argv=0x7fffffffb180) at kernel/qobject.cpp:3898 #5 0x00007ffff210e7af in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=sender@entry=0x23947850, m=m@entry=0x7ffff31c8da0 <QAbstractItemDelegate::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fffffffb180) at kernel/qobject.cpp:3946 #6 0x00007ffff2f2143f in QAbstractItemDelegate::commitData(QWidget*) (this=this@entry=0x23947850, _t1=<optimized out>, _t1@entry=0x45bbb40) at .moc/moc_qabstractitemdelegate.cpp:205 #7 0x00007ffff2f21fda in QAbstractItemDelegatePrivate::_q_commitDataAndCloseEditor(QWidget*) (editor=0x45bbb40, this=<optimized out>) at itemviews/qabstractitemdelegate.cpp:634 #8 QAbstractItemDelegate::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at .moc/moc_qabstractitemdelegate.cpp:100 #9 0x00007ffff210b28e in QObject::event(QEvent*) (this=0x23947850, e=0x212b5970) at kernel/qobject.cpp:1314 #10 0x00007ffff2c8fb0f in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x23947850, e=0x212b5970) at kernel/qapplication.cpp:3632 #11 0x00007ffff6aaf3ce in Gui::GUIApplication::notify(QObject*, QEvent*) (this=0x7fffffffc1d0, receiver=0x23947850, event=0x212b5970) at /home/system/usr/FreeCAD/src/src/Gui/GuiApplication.cpp:84 #12 0x00007ffff20deb5a in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x23947850, event=0x212b5970) at kernel/qcoreapplication.cpp:1064 #13 0x00007ffff20e1b97 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x0, event_type=0, data=0x6995e0) at kernel/qcoreapplication.cpp:1821 #14 0x00007ffff2136c33 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=s@entry=0x8011b0) at kernel/qeventdispatcher_glib.cpp:277 #15 0x00007ffff08ca122 in g_main_dispatch (context=0x7fffe4005010) at ../glib/gmain.c:3417 #16 g_main_context_dispatch (context=0x7fffe4005010) at ../glib/gmain.c:4135 #17 0x00007ffff08ca4b8 in g_main_context_iterate --Type <RET> for more, q to quit, c to continue without paging-- (context=context@entry=0x7fffe4005010, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4211 #18 0x00007ffff08ca56f in g_main_context_iteration (context=0x7fffe4005010, may_block=1) at ../glib/gmain.c:4276 #19 0x00007ffff21362b4 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x80c990, flags=...) at kernel/qeventdispatcher_glib.cpp:423 #20 0x00007ffff20dd55b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fffffffb7b0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69 #21 0x00007ffff20e5820 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121 #22 0x00007ffff695d8ef in Gui::Application::runApplication() () at /home/system/usr/FreeCAD/src/src/Gui/Application.cpp:2277 #23 0x000000000040c43f in main(int, char**) (argc=3, argv=0x7fffffffd408) at /home/system/usr/FreeCAD/src/src/Main/MainGui.cpp:290 (gdb)
The one for the SIGBUS is:
{{}}
Thread 1 "FreeCAD" received signal SIGBUS, Bus error. QObject::installEventFilter (this=0x5b7a870, obj=0x53816e0) at kernel/qobject.cpp:2221 2221 if (d->threadData != obj->d_func()->threadData) { (gdb) bt #0 QObject::installEventFilter(QObject*) (this=0x5b7a870, obj=0x53816e0) at kernel/qobject.cpp:2221 #1 0x00007ffff2f036aa in QAbstractItemView::commitData(QWidget*) (this=<optimized out>, editor=0x5b7a870) at itemviews/qabstractitemview.cpp:2909 #2 0x00007ffed67662a1 in SpreadsheetGui::SheetTableView::commitData(QWidget*) (this=0x2602bc0, editor=0x5b7a870) at /home/system/usr/FreeCAD/src/src/Mod/Spreadsheet/Gui/SheetTableView.cpp:478 #3 0x00007ffed676aad5 in SpreadsheetGui::SheetTableView::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=0x2602bc0, _c=QMetaObject::InvokeMetaMethod, _id=9, _a=0x7fffffffb180) at /home/system/usr/FreeCAD/bin/build/src/Mod/Spreadsheet/Gui/SpreadsheetGui_autogen/include/moc_SheetTableView.cpp:272 #4 0x00007ffff2115488 in doActivate<false>(QObject*, int, void**) (sender=0x53816e0, signal_index=3, argv=0x7fffffffb180) at kernel/qobject.cpp:3898 #5 0x00007ffff210e7af in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=sender@entry=0x53816e0, m=m@entry=0x7ffff31c8da0 <QAbstractItemDelegate::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fffffffb180) at kernel/qobject.cpp:3946 #6 0x00007ffff2f2143f in QAbstractItemDelegate::commitData(QWidget*) (this=this@entry=0x53816e0, _t1=<optimized out>, _t1@entry=0x5b7a870) at .moc/moc_qabstractitemdelegate.cpp:205 #7 0x00007ffff2f21fda in QAbstractItemDelegatePrivate::_q_commitDataAndCloseEditor(QWidget*) (editor=0x5b7a870, this=<optimized out>) at itemviews/qabstractitemdelegate.cpp:634 #8 QAbstractItemDelegate::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at .moc/moc_qabstractitemdelegate.cpp:100 #9 0x00007ffff210b28e in QObject::event(QEvent*) (this=0x53816e0, e=0xd13520) at kernel/qobject.cpp:1314 #10 0x00007ffff2c8fb0f in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x53816e0, e=0xd13520) at kernel/qapplication.cpp:3632 #11 0x00007ffff6aaf3ce in Gui::GUIApplication::notify(QObject*, QEvent*) (this=0x7fffffffc1d0, receiver=0x53816e0, event=0xd13520) at /home/system/usr/FreeCAD/src/src/Gui/GuiApplication.cpp:84 #12 0x00007ffff20deb5a in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x53816e0, event=0xd13520) at kernel/qcoreapplication.cpp:1064 #13 0x00007ffff20e1b97 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x0, event_type=0, data=0x684880) at kernel/qcoreapplication.cpp:1821 #14 0x00007ffff2136c33 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=s@entry=0x801db0) at kernel/qeventdispatcher_glib.cpp:277 #15 0x00007ffff08ca122 in g_main_dispatch (context=0x7fffe4005010) at ../glib/gmain.c:3417 #16 g_main_context_dispatch (context=0x7fffe4005010) at ../glib/gmain.c:4135 #17 0x00007ffff08ca4b8 in g_main_context_iterate --Type <RET> for more, q to quit, c to continue without paging-- (context=context@entry=0x7fffe4005010, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4211 #18 0x00007ffff08ca56f in g_main_context_iteration (context=0x7fffe4005010, may_block=1) at ../glib/gmain.c:4276 #19 0x00007ffff21362b4 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x80d6d0, flags=...) at kernel/qeventdispatcher_glib.cpp:423 #20 0x00007ffff20dd55b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fffffffb7b0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69 #21 0x00007ffff20e5820 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121 #22 0x00007ffff695d8ef in Gui::Application::runApplication() () at /home/system/usr/FreeCAD/src/src/Gui/Application.cpp:2277 #23 0x000000000040c43f in main(int, char**) (argc=3, argv=0x7fffffffd408) at /home/system/usr/FreeCAD/src/src/Main/MainGui.cpp:290 (gdb) q
Unfortunitely I'm not able to provide a testcase or simple instructions to reproduce. But I'm able to reproduce it here and I'd help to track the problem down if desired.
Link to the corresponding bugreport in the FreeCAD Forum: https://forum.freecadweb.org/viewtopic.php?f=8&t=68529
Thanks,
Frank