Bug 418550

Summary: LabPlot crashes when trying to delete columns from spreadsheets
Product: [Applications] LabPlot2 Reporter: geoffrey+kde
Component: generalAssignee: Alexander Semke <alexander.semke>
Status: RESOLVED DUPLICATE    
Severity: crash Keywords: drkonqi
Priority: NOR    
Version First Reported In: 2.7.0   
Target Milestone: ---   
Platform: Gentoo Packages   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description geoffrey+kde 2020-03-06 15:38:40 UTC
Application: labplot2 (2.7.0)

Qt Version: 5.14.1
Frameworks Version: 5.67.0
Operating System: Linux 5.4.20-gentoo x86_64
Windowing system: X11
Distribution: Gentoo/Linux

-- Information about the crash:
I tried to remove 2 columns from a spreadsheet, just after importing some data in it. LabPlot always crashes after I hit "remove columns" from the contextual menu.

The crash can be reproduced every time.

-- Backtrace:
Application: LabPlot (labplot2), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
29	  return SYSCALL_CANCEL (poll, fds, nfds, timeout);
[Current thread is 1 (Thread 0x7f5a26e91840 (LWP 2618))]

Thread 3 (Thread 0x7f5a24a8c700 (LWP 2620)):
#0  0x00007f5a2ae4ee23 in __GI___poll (fds=0x7f5a1801ae40, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f5a297c13ae in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x00007f5a297c14cf in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007f5a2b875a3b in QEventDispatcherGlib::processEvents (this=0x7f5a18000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#4  0x00007f5a2b82053b in QEventLoop::exec (this=this@entry=0x7f5a24a8bd20, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:136
#5  0x00007f5a2b67533e in QThread::exec (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:118
#6  0x00007f5a2a8b3518 in ?? () from /usr/lib64/libQt5DBus.so.5
#7  0x00007f5a2b67636b in QThreadPrivate::start (arg=0x7f5a2a936da0) at thread/qthread_unix.cpp:342
#8  0x00007f5a2ad383d7 in start_thread (arg=<optimized out>) at pthread_create.c:479
#9  0x00007f5a2ae5af5f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7f5a267b2700 (LWP 2619)):
#0  0x00007f5a2ae4ee23 in __GI___poll (fds=0x7f5a267b1c68, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f5a292f8d02 in ?? () from /usr/lib64/libxcb.so.1
#2  0x00007f5a292fa97a in xcb_wait_for_event () from /usr/lib64/libxcb.so.1
#3  0x00007f5a268fafc0 in QXcbEventQueue::run (this=0x5566234204b0) at qxcbeventqueue.cpp:228
#4  0x00007f5a2b67636b in QThreadPrivate::start (arg=0x5566234204b0) at thread/qthread_unix.cpp:342
#5  0x00007f5a2ad383d7 in start_thread (arg=<optimized out>) at pthread_create.c:479
#6  0x00007f5a2ae5af5f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7f5a26e91840 (LWP 2618)):
[KCrash Handler]
#6  0x000055662201821b in SpreadsheetModel::headerData (this=<optimized out>, section=<optimized out>, orientation=<optimized out>, role=<optimized out>) at /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/g++-v9/bits/atomic_base.h:326
#7  0x00007f5a2c522ea0 in QHeaderView::sectionSizeFromContents(int) const () from /usr/lib64/libQt5Widgets.so.5
#8  0x00007f5a2c5158dc in QHeaderView::sizeHint() const () from /usr/lib64/libQt5Widgets.so.5
#9  0x00005566223c1085 in SpreadsheetHeaderView::sizeHint (this=0x5566238967d0) at /var/tmp/portage/sci-visualization/labplot-2.7.0/work/labplot-2.7.0/src/commonfrontend/spreadsheet/SpreadsheetHeaderView.cpp:89
#10 0x00007f5a2c562749 in QTableView::updateGeometries() () from /usr/lib64/libQt5Widgets.so.5
#11 0x00007f5a2c558a14 in QTableView::columnCountChanged(int, int) () from /usr/lib64/libQt5Widgets.so.5
#12 0x00007f5a2b8545f8 in doActivate<false> (sender=0x5566238967d0, signal_index=20, argv=0x7fffbd061e30) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:391
#13 0x00007f5a2c51522f in QHeaderView::sectionCountChanged(int, int) () from /usr/lib64/libQt5Widgets.so.5
#14 0x00007f5a2c51833b in QHeaderView::initializeSections(int, int) () from /usr/lib64/libQt5Widgets.so.5
#15 0x00007f5a2c51cce4 in QHeaderView::initializeSections() () from /usr/lib64/libQt5Widgets.so.5
#16 0x00007f5a2c520bba in QHeaderView::reset() () from /usr/lib64/libQt5Widgets.so.5
#17 0x00007f5a2c50c731 in ?? () from /usr/lib64/libQt5Widgets.so.5
#18 0x00007f5a2b8545f8 in doActivate<false> (sender=0x556623959020, signal_index=21, argv=0x7fffbd062050) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:391
#19 0x00007f5a2b84f00f in QMetaObject::activate (sender=sender@entry=0x556623959020, m=m@entry=0x7f5a2bae70c0 <QAbstractItemModel::staticMetaObject>, local_signal_index=local_signal_index@entry=18, argv=argv@entry=0x7fffbd062050) at kernel/qobject.cpp:3930
#20 0x00007f5a2b7d18ba in QAbstractItemModel::modelReset (this=this@entry=0x556623959020, _t1=...) at .moc/moc_qabstractitemmodel.cpp:648
#21 0x00007f5a2b7d399b in QAbstractItemModel::endResetModel (this=this@entry=0x556623959020) at itemmodels/qabstractitemmodel.cpp:3274
#22 0x000055662201af48 in SpreadsheetModel::handleAspectRemoved (parent=0x55662383d920, before=<optimized out>, child=<optimized out>, this=0x556623959020) at /var/tmp/portage/sci-visualization/labplot-2.7.0/work/labplot-2.7.0/src/backend/spreadsheet/SpreadsheetModel.cpp:311
#23 SpreadsheetModel::handleAspectRemoved (this=0x556623959020, parent=0x55662383d920, before=<optimized out>, child=<optimized out>) at /var/tmp/portage/sci-visualization/labplot-2.7.0/work/labplot-2.7.0/src/backend/spreadsheet/SpreadsheetModel.cpp:302
#24 0x00007f5a2b8545c5 in QtPrivate::QSlotObjectBase::call (a=0x7fffbd0621a0, r=0x556623959020, this=0x5566239765a0) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:394
#25 doActivate<false> (sender=0x55662383d920, signal_index=8, argv=0x7fffbd0621a0) at kernel/qobject.cpp:3870
#26 0x00007f5a2b84f00f in QMetaObject::activate (sender=<optimized out>, m=m@entry=0x55662255c080 <AbstractAspect::staticMetaObject>, local_signal_index=local_signal_index@entry=5, argv=argv@entry=0x7fffbd0621a0) at kernel/qobject.cpp:3930
#27 0x0000556622197fa9 in AbstractAspect::aspectRemoved (this=<optimized out>, _t1=<optimized out>, _t2=<optimized out>, _t3=<optimized out>) at src/labplot2lib_autogen/RMX4C6EZO6/moc_AbstractAspect.cpp:353
#28 0x00007f5a2c632686 in QUndoStack::push(QUndoCommand*) () from /usr/lib64/libQt5Widgets.so.5
#29 0x0000556621faeece in AbstractAspect::exec (cmd=0x5566240dd810, this=0x55662383d920) at /var/tmp/portage/sci-visualization/labplot-2.7.0/work/labplot-2.7.0/src/backend/core/AbstractAspect.cpp:706
#30 AbstractAspect::exec (this=0x55662383d920, cmd=0x5566240dd810) at /var/tmp/portage/sci-visualization/labplot-2.7.0/work/labplot-2.7.0/src/backend/core/AbstractAspect.cpp:701
#31 0x0000556621faf1ad in AbstractAspect::removeChild (this=0x55662383d920, child=0x556623778b80) at /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/g++-v9/bits/atomic_base.h:326
#32 0x000055662215eb75 in SpreadsheetView::removeSelectedColumns (this=0x556623863560) at /var/tmp/portage/sci-visualization/labplot-2.7.0/work/labplot-2.7.0/src/commonfrontend/spreadsheet/SpreadsheetView.cpp:1927
#33 0x00007f5a2b8545c5 in QtPrivate::QSlotObjectBase::call (a=0x7fffbd062450, r=0x556623863560, this=0x556623734cd0) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:394
#34 doActivate<false> (sender=0x556623824eb0, signal_index=4, argv=0x7fffbd062450) at kernel/qobject.cpp:3870
#35 0x00007f5a2c299aa2 in QAction::triggered(bool) () from /usr/lib64/libQt5Widgets.so.5
#36 0x00007f5a2c29c0b8 in QAction::activate(QAction::ActionEvent) () from /usr/lib64/libQt5Widgets.so.5
#37 0x00007f5a2c41fa62 in ?? () from /usr/lib64/libQt5Widgets.so.5
#38 0x00007f5a2c4270fa in ?? () from /usr/lib64/libQt5Widgets.so.5
#39 0x00007f5a2c4280aa in QMenu::mouseReleaseEvent(QMouseEvent*) () from /usr/lib64/libQt5Widgets.so.5
#40 0x00007f5a2c2e23d8 in QWidget::event(QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#41 0x00007f5a2c42a643 in QMenu::event(QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#42 0x00007f5a2c29fccf in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#43 0x00007f5a2c2a905f in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#44 0x00007f5a2b8216af in QCoreApplication::notifyInternal2 (receiver=0x5566238dd800, event=0x7fffbd062b30) at kernel/qcoreapplication.cpp:1092
#45 0x00007f5a2c2a80e4 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () from /usr/lib64/libQt5Widgets.so.5
#46 0x00007f5a2c2fdc42 in ?? () from /usr/lib64/libQt5Widgets.so.5
#47 0x00007f5a2c300184 in ?? () from /usr/lib64/libQt5Widgets.so.5
#48 0x00007f5a2c29fccf in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#49 0x00007f5a2c2a8e10 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#50 0x00007f5a2b8216af in QCoreApplication::notifyInternal2 (receiver=0x556623856ad0, event=0x7fffbd062fa0) at kernel/qcoreapplication.cpp:1092
#51 0x00007f5a2bcbbc40 in QGuiApplicationPrivate::processMouseEvent (e=e@entry=0x5566238a7850) at kernel/qguiapplication.cpp:2209
#52 0x00007f5a2bcbd445 in QGuiApplicationPrivate::processWindowSystemEvent (e=e@entry=0x5566238a7850) at kernel/qguiapplication.cpp:1941
#53 0x00007f5a2bc98aba in QWindowSystemInterface::sendWindowSystemEvents (flags=flags@entry=...) at kernel/qwindowsysteminterface.cpp:1163
#54 0x00007f5a268fbf7a in xcbSourceDispatch (source=<optimized out>) at qxcbeventdispatcher.cpp:105
#55 0x00007f5a297c11b7 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#56 0x00007f5a297c1440 in ?? () from /usr/lib64/libglib-2.0.so.0
#57 0x00007f5a297c14cf in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#58 0x00007f5a2b875a1d in QEventDispatcherGlib::processEvents (this=0x556623488f90, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#59 0x00007f5a2b82053b in QEventLoop::exec (this=0x7fffbd063340, flags=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:136
#60 0x00007f5a2c424d7d in QMenu::exec(QPoint const&, QAction*) () from /usr/lib64/libQt5Widgets.so.5
#61 0x00005566221668fa in SpreadsheetView::eventFilter (this=0x556623863560, watched=<optimized out>, event=<optimized out>) at /var/tmp/portage/sci-visualization/labplot-2.7.0/work/labplot-2.7.0/src/commonfrontend/spreadsheet/SpreadsheetView.cpp:1089
#62 0x00007f5a2b8214fe in QCoreApplicationPrivate::sendThroughObjectEventFilters (event=<optimized out>, receiver=<optimized out>) at kernel/qcoreapplication.cpp:1218
#63 QCoreApplicationPrivate::sendThroughObjectEventFilters (receiver=0x5566238967d0, event=0x7fffbd0635b0) at kernel/qcoreapplication.cpp:1207
#64 0x00007f5a2c29fcbe in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#65 0x00007f5a2c2a9c5b in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#66 0x00007f5a2b8216af in QCoreApplication::notifyInternal2 (receiver=0x5566238cae50, event=0x7fffbd0637e0) at kernel/qcoreapplication.cpp:1092
#67 0x00007f5a2c2fd894 in ?? () from /usr/lib64/libQt5Widgets.so.5
#68 0x00007f5a2c300184 in ?? () from /usr/lib64/libQt5Widgets.so.5
#69 0x00007f5a2c29fccf in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#70 0x00007f5a2c2a8e10 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#71 0x00007f5a2b8216af in QCoreApplication::notifyInternal2 (receiver=0x5566236b2d50, event=0x7fffbd063c90) at kernel/qcoreapplication.cpp:1092
#72 0x00007f5a2bcbbc40 in QGuiApplicationPrivate::processMouseEvent (e=e@entry=0x556623f939e0) at kernel/qguiapplication.cpp:2209
#73 0x00007f5a2bcbd445 in QGuiApplicationPrivate::processWindowSystemEvent (e=e@entry=0x556623f939e0) at kernel/qguiapplication.cpp:1941
#74 0x00007f5a2bc98aba in QWindowSystemInterface::sendWindowSystemEvents (flags=flags@entry=...) at kernel/qwindowsysteminterface.cpp:1163
#75 0x00007f5a268fbf7a in xcbSourceDispatch (source=<optimized out>) at qxcbeventdispatcher.cpp:105
#76 0x00007f5a297c11b7 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#77 0x00007f5a297c1440 in ?? () from /usr/lib64/libglib-2.0.so.0
#78 0x00007f5a297c14cf in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#79 0x00007f5a2b875a1d in QEventDispatcherGlib::processEvents (this=0x556623488f90, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#80 0x00007f5a2b82053b in QEventLoop::exec (this=this@entry=0x7fffbd064030, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:136
#81 0x00007f5a2b828312 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:118
#82 0x0000556621f78d11 in main (argc=<optimized out>, argv=<optimized out>) at /var/tmp/portage/sci-visualization/labplot-2.7.0/work/labplot-2.7.0/src/kdefrontend/LabPlot.cpp:163
[Inferior 1 (process 2618) detached]

Possible duplicates by query: bug 286360, bug 184867.

Reported using DrKonqi
Comment 1 Alexander Semke 2020-03-07 08:53:39 UTC
It's not reproducible anymore in the current master. This should have been fixed as part of bug 413397. If can compile the current master code which is going to be 2.8 soon and validate this for you, would be great.

*** This bug has been marked as a duplicate of bug 413397 ***