Bug 286102

Summary: Crash of Calligra Tables when removing columns
Product: [Applications] calligrasheets Reporter: jos poortvliet <jospoortvliet>
Component: generalAssignee: Calligra Sheets (KSpread) Bugs <calligra-sheets-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: sebsauer
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: OpenSUSE   
OS: Linux   
Latest Commit: Version Fixed In:

Description jos poortvliet 2011-11-08 12:51:00 UTC
Application: calligratables (2.4 Beta 3)
KDE Platform Version: 4.7.2 (4.7.2) "release 5"
Qt Version: 4.7.4
Operating System: Linux 3.1.0-1.2-desktop x86_64
Distribution: "openSUSE 12.1 (x86_64)"

-- Information about the crash:
- What I was doing when the application crashed:
opened up a spreadsheet (ODS file, I'd be happy to share it if required) and tried to remove some columns to make it a bit more readable.  Boom, reliable crash :D

This is Beta 3, openSUSE 12.1 packages from KDE:UpdatedAppsUnstable

The crash can be reproduced every time.

-- Backtrace:
Application: Tables (kdeinit4), signal: Segmentation fault
[Current thread is 1 (Thread 0x7fadcbf9b760 (LWP 3680))]

Thread 2 (Thread 0x7fadbecf5700 (LWP 3681)):
#0  0x0000003003046ff7 in g_main_context_check () from /usr/lib64/libglib-2.0.so.0
#1  0x0000003003047ab2 in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x0000003003047f59 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x000000300958c576 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#4  0x0000003009560a22 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#5  0x0000003009560c1f in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#6  0x00000030094785df in QThread::exec() () from /usr/lib64/libQtCore.so.4
#7  0x0000003009543aef in ?? () from /usr/lib64/libQtCore.so.4
#8  0x000000300947b025 in ?? () from /usr/lib64/libQtCore.so.4
#9  0x0000003001007f05 in start_thread () from /lib64/libpthread.so.0
#10 0x00000030004d953d in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7fadcbf9b760 (LWP 3680)):
[KCrash Handler]
#6  0x00007fadc488c82a in QMap<int, bool>::remove (this=0x130afb0, akey=@0x454545454545453d) at /usr/include/QtCore/qmap.h:668
#7  0x00007fadc48888f2 in Calligra::Tables::StyleStorage::removeColumns (this=0x130ac30, position=3, number=6) at /usr/src/debug/calligra-2.3.83/tables/StyleStorage.cpp:551
#8  0x00007fadc478e161 in Calligra::Tables::CellStorage::removeColumns (this=<optimized out>, position=<optimized out>, number=<optimized out>) at /usr/src/debug/calligra-2.3.83/tables/CellStorage.cpp:1026
#9  0x00007fadc4bf4d7b in Calligra::Tables::InsertDeleteColumnManipulator::process (this=0xe7d5c0, element=<optimized out>) at /usr/src/debug/calligra-2.3.83/tables/commands/RowColumnManipulators.cpp:618
#10 0x00007fadc4bdeb35 in Calligra::Tables::AbstractRegionCommand::mainProcessing (this=0xe7d5c0) at /usr/src/debug/calligra-2.3.83/tables/commands/AbstractRegionCommand.cpp:168
#11 0x00007fadc4bde1fa in Calligra::Tables::AbstractRegionCommand::redo (this=0xe7d5c0) at /usr/src/debug/calligra-2.3.83/tables/commands/AbstractRegionCommand.cpp:105
#12 0x00007fadc8f9f98d in KUndo2QStack::push (this=0xb51a70, cmd=0xe7d5d0) at /usr/src/debug/calligra-2.3.83/libs/kundo2/kundo2stack.cpp:562
#13 0x00007fadc4bdea62 in execute (canvas=0x1743d68, this=0xe7d5c0) at /usr/src/debug/calligra-2.3.83/tables/commands/AbstractRegionCommand.cpp:81
#14 Calligra::Tables::AbstractRegionCommand::execute (this=0xe7d5c0, canvas=0x1743d68) at /usr/src/debug/calligra-2.3.83/tables/commands/AbstractRegionCommand.cpp:73
#15 0x00007fadc4bd764d in Calligra::Tables::CellToolBase::qt_metacall (this=0x1a53170, _c=QMetaObject::InvokeMetaMethod, _id=57, _a=0x7fff75451470) at /usr/src/debug/calligra-2.3.83/build/tables/moc_CellToolBase.cpp:330
#16 0x00007fadc4c6b460 in Calligra::Tables::CellTool::qt_metacall (this=0x1a53170, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0x7fff75451470) at /usr/src/debug/calligra-2.3.83/build/tables/CellTool.moc:71
#17 0x000000300957459a in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/libQtCore.so.4
#18 0x000000300b9ca5d2 in QAction::triggered(bool) () from /usr/lib64/libQtGui.so.4
#19 0x000000300b9ca7bf in QAction::activate(QAction::ActionEvent) () from /usr/lib64/libQtGui.so.4
#20 0x000000300be00969 in ?? () from /usr/lib64/libQtGui.so.4
#21 0x000000300be065a2 in ?? () from /usr/lib64/libQtGui.so.4
#22 0x000000300dd05d40 in KMenu::mouseReleaseEvent(QMouseEvent*) () from /usr/lib64/libkdeui.so.5
#23 0x000000300ba212b6 in QWidget::event(QEvent*) () from /usr/lib64/libQtGui.so.4
#24 0x000000300be07b0b in QMenu::event(QEvent*) () from /usr/lib64/libQtGui.so.4
#25 0x000000300b9d0be4 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#26 0x000000300b9d636b in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#27 0x000000300dc43e36 in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5
#28 0x000000300956181c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/libQtCore.so.4
#29 0x000000300b9d1bb2 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib64/libQtGui.so.4
#30 0x000000300ba4e201 in ?? () from /usr/lib64/libQtGui.so.4
#31 0x000000300ba4ca2a in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib64/libQtGui.so.4
#32 0x000000300ba742a2 in ?? () from /usr/lib64/libQtGui.so.4
#33 0x000000300304758d in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#34 0x0000003003047d88 in ?? () from /usr/lib64/libglib-2.0.so.0
#35 0x0000003003047f59 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#36 0x000000300958c50f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#37 0x000000300ba73f2e in ?? () from /usr/lib64/libQtGui.so.4
#38 0x0000003009560a22 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#39 0x0000003009560c1f in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#40 0x000000300be03a81 in QMenu::exec(QPoint const&, QAction*) () from /usr/lib64/libQtGui.so.4
#41 0x00007fadc4c6838a in Calligra::Tables::Canvas::showContextMenu (this=<optimized out>, globalPos=...) at /usr/src/debug/calligra-2.3.83/tables/part/Canvas.cpp:215
#42 0x00007fadc4c63d99 in Calligra::Tables::CanvasBase::mousePressed (this=0x1743d68, event=0xd01c50) at /usr/src/debug/calligra-2.3.83/tables/part/CanvasBase.cpp:342
#43 0x00007fadc4c758ae in Calligra::Tables::ColumnHeader::mousePress (this=0xb8b0a8, _ev=0x7fff75453080) at /usr/src/debug/calligra-2.3.83/tables/part/Headers.cpp:680
#44 0x00007fadc4c7832d in Calligra::Tables::ColumnHeaderWidget::mousePressEvent (this=0xb8b080, _ev=<optimized out>) at /usr/src/debug/calligra-2.3.83/tables/part/HeaderWidgets.cpp:266
#45 0x000000300ba21599 in QWidget::event(QEvent*) () from /usr/lib64/libQtGui.so.4
#46 0x000000300b9d0be4 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#47 0x000000300b9d636b in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#48 0x000000300dc43e36 in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5
#49 0x000000300956181c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/libQtCore.so.4
#50 0x000000300b9d1bb2 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib64/libQtGui.so.4
#51 0x000000300ba4db55 in ?? () from /usr/lib64/libQtGui.so.4
#52 0x000000300ba4ca2a in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib64/libQtGui.so.4
#53 0x000000300ba742a2 in ?? () from /usr/lib64/libQtGui.so.4
#54 0x000000300304758d in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#55 0x0000003003047d88 in ?? () from /usr/lib64/libglib-2.0.so.0
#56 0x0000003003047f59 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#57 0x000000300958c50f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#58 0x000000300ba73f2e in ?? () from /usr/lib64/libQtGui.so.4
#59 0x0000003009560a22 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#60 0x0000003009560c1f in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#61 0x0000003009564de7 in QCoreApplication::exec() () from /usr/lib64/libQtCore.so.4
#62 0x00007fadca381805 in kdemain (argc=<optimized out>, argv=0x8d4220) at /usr/src/debug/calligra-2.3.83/tables/part/Main.cpp:43
#63 0x0000000000408897 in _start ()

Reported using DrKonqi
Comment 1 Sebastian Sauer 2011-12-19 02:39:09 UTC
Fixed with commit bd5afafa89b. Lot of thanks for the feedback!