Bug 252089 - crash on select all followed by font change
Summary: crash on select all followed by font change
Status: RESOLVED WORKSFORME
Alias: None
Product: calligrasheets
Classification: Applications
Component: general (show other bugs)
Version: 2.2
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Calligra Sheets (KSpread) Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-09-23 02:50 UTC by bugs.crash
Modified: 2011-12-20 01:23 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description bugs.crash 2010-09-23 02:50:28 UTC
Application: kword (2.2.2)
KDE Platform Version: 4.5.1 (KDE 4.5.1)
Qt Version: 4.7.0
Operating System: Linux 2.6.32-24-generic i686
Distribution: Ubuntu 10.04.1 LTS

-- Information about the crash:
- What I was doing when the application crashed:

1. start Kword from launcher, from Alt-F2, or from konsole
2. type in some text, e.g., "This is a test."
3. press Ctrl-A to select all
4. select a different font from the drop-down menu and it crashes.

I initially tried selecting Andale Mono (by mistake) and thought the crash was a commentary on that font choice. But was able to repeat it w/ others tried, e.g. Monospace, New Century, Droid Sans, etc.

The crash can be reproduced every time.

-- Backtrace:
Application: KWord (kdeinit4), signal: Segmentation fault
[Current thread is 1 (Thread 0xb78d2710 (LWP 20632))]

Thread 2 (Thread 0xb42a6b70 (LWP 20715)):
#0  0x00be2e16 in clock_gettime () from /lib/tls/i686/cmov/librt.so.1
#1  0x00eea48b in do_gettime () at tools/qelapsedtimer_unix.cpp:105
#2  qt_gettime () at tools/qelapsedtimer_unix.cpp:119
#3  0x00fc0965 in QTimerInfoList::updateCurrentTime (this=0xb3713694) at kernel/qeventdispatcher_unix.cpp:339
#4  0x00fc09aa in QTimerInfoList::timerWait (this=0xb3713694, tm=...) at kernel/qeventdispatcher_unix.cpp:442
#5  0x00fbea38 in timerSourcePrepareHelper (src=<value optimized out>, timeout=0xb42a60bc) at kernel/qeventdispatcher_glib.cpp:136
#6  0x00fbeac5 in timerSourcePrepare (source=0x0, timeout=0xbe6ff4) at kernel/qeventdispatcher_glib.cpp:169
#7  0x028b2aca in g_main_context_prepare () from /lib/libglib-2.0.so.0
#8  0x028b2ee9 in ?? () from /lib/libglib-2.0.so.0
#9  0x028b34b8 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#10 0x00fbe82f in QEventDispatcherGlib::processEvents (this=0x9bce978, flags=...) at kernel/qeventdispatcher_glib.cpp:417
#11 0x00f8ea99 in QEventLoop::processEvents (this=0xb42a6290, flags=) at kernel/qeventloop.cpp:149
#12 0x00f8ef1a in QEventLoop::exec (this=0xb42a6290, flags=...) at kernel/qeventloop.cpp:201
#13 0x00e8bc5e in QThread::exec (this=0x9bce8e0) at thread/qthread.cpp:490
#14 0x00f6d9ab in QInotifyFileSystemWatcherEngine::run (this=0x9bce8e0) at io/qfilesystemwatcher_inotify.cpp:248
#15 0x00e8ef39 in QThreadPrivate::start (arg=0x9bce8e0) at thread/qthread_unix.cpp:266
#16 0x0023296e in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#17 0x093aaa4e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 1 (Thread 0xb78d2710 (LWP 20632)):
[KCrash Handler]
#7  KSpread::Sheet::isProtected (this=0x0) at ../../kspread/Sheet.cpp:574
#8  0xb555e0e9 in KSpread::AbstractRegionCommand::isApproved (this=0xaac1188) at ../../kspread/commands/AbstractRegionCommand.cpp:136
#9  0xb555e290 in KSpread::AbstractRegionCommand::execute (this=0xaac1188, canvas=0xa0a4b64) at ../../kspread/commands/AbstractRegionCommand.cpp:75
#10 0xb566e70f in KSpread::CellToolBase::font (this=0xa0ea260, font=...) at ../../kspread/ui/CellToolBase.cpp:1663
#11 0xb53c3c28 in KSpread::CellToolBase::qt_metacall (this=0xa0ea260, _c=QMetaObject::InvokeMetaMethod, _id=19, _a=0xbf9a7658) at moc_CellToolBase.cpp:288
#12 0x05fafcba in KSpread::TableTool::qt_metacall (this=0xa0ea260, _c=QMetaObject::InvokeMetaMethod, _id=33, _a=0xbf9a7658) at ./TableTool.moc:79
#13 0x00f95d4a in QMetaObject::metacall (object=0xa0ea260, cl=155403200, idx=33, argv=0xbf9a7658) at kernel/qmetaobject.cpp:237
#14 0x00fa8ab5 in QMetaObject::activate (sender=0xa0efc50, m=0x8e2ed8, local_signal_index=2, argv=0xbf9a7658) at kernel/qobject.cpp:3280
#15 0x00621973 in KSelectAction::triggered (this=0xa0efc50, _t1=...) at ./kselectaction.moc:190
#16 0x00619b4d in KFontAction::KFontActionPrivate::_k_slotFontChanged (this=0xa0efc50, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0xbf9a77c8) at ../../kdeui/actions/kfontaction.cpp:57
#17 KFontAction::qt_metacall (this=0xa0efc50, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0xbf9a77c8) at ./kfontaction.moc:76
#18 0x00f95d4a in QMetaObject::metacall (object=0xa0efc50, cl=155403200, idx=32, argv=0xbf9a77c8) at kernel/qmetaobject.cpp:237
#19 0x00fa8ab5 in QMetaObject::activate (sender=0xa72a0b8, m=0x8e69c4, local_signal_index=0, argv=0xbf9a77c8) at kernel/qobject.cpp:3280
#20 0x006b5053 in KFontComboBox::currentFontChanged (this=0xa72a0b8, _t1=...) at ./moc_kfontcombobox.moc:122
#21 0x006b74e5 in KFontComboBoxPrivate::_k_currentFontChanged (this=0xa72c240, index=3) at ../../kdeui/fonts/kfontcombobox.cpp:299
#22 0x006b772d in KFontComboBox::qt_metacall (this=0xa72a0b8, _c=QMetaObject::InvokeMetaMethod, _id=-1, _a=0xbf9a7978) at ./moc_kfontcombobox.moc:83
#23 0x00f95d4a in QMetaObject::metacall (object=0xa72a0b8, cl=155403200, idx=69, argv=0xbf9a7978) at kernel/qmetaobject.cpp:237
#24 0x00fa8ab5 in QMetaObject::activate (sender=0xa72a0b8, m=0x711f224, local_signal_index=5, argv=0xbf9a7978) at kernel/qobject.cpp:3280
#25 0x06be5ce3 in QComboBox::currentIndexChanged (this=0xa72a0b8, _t1=3) at .moc/release-shared/moc_qcombobox.cpp:302
#26 0x06be793a in QComboBoxPrivate::_q_emitCurrentIndexChanged (this=0xa72b190, index=...) at widgets/qcombobox.cpp:1264
#27 0x06beb8a9 in QComboBoxPrivate::setCurrentIndex (this=0xa72b190, mi=...) at widgets/qcombobox.cpp:2022
#28 0x06bebc9c in QComboBoxPrivate::_q_itemSelected (this=0xa72b190, item=...) at widgets/qcombobox.cpp:1233
#29 0x06bf1683 in QComboBox::qt_metacall (this=0xa72a0b8, _c=QMetaObject::InvokeMetaMethod, _id=12, _a=0xbf9a7c38) at .moc/release-shared/moc_qcombobox.cpp:191
#30 0x007e2f8a in KComboBox::qt_metacall (this=0xa72a0b8, _c=QMetaObject::InvokeMetaMethod, _id=39, _a=0xbf9a7c38) at ./kcombobox.moc:106
#31 0x006b764a in KFontComboBox::qt_metacall (this=0xa72a0b8, _c=QMetaObject::InvokeMetaMethod, _id=39, _a=0xbf9a7c38) at ./moc_kfontcombobox.moc:76
#32 0x00f95d4a in QMetaObject::metacall (object=0xa72a0b8, cl=155403200, idx=39, argv=0xbf9a7c38) at kernel/qmetaobject.cpp:237
#33 0x00fa8ab5 in QMetaObject::activate (sender=0xa730010, m=0x712db14, local_signal_index=0, argv=0xbf9a7c38) at kernel/qobject.cpp:3280
#34 0x06f0cd53 in QComboBoxPrivateContainer::itemSelected (this=0xa730010, _t1=...) at .moc/release-shared/moc_qcombobox_p.cpp:213
#35 0x06be9d5a in QComboBoxPrivateContainer::eventFilter (this=0xa730010, o=0xa72cbc8, e=0xbf9a8230) at widgets/qcombobox.cpp:687
#36 0x00f8f74a in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=0x9b22ae8, receiver=0xa72cbc8, event=0xbf9a8230) at kernel/qcoreapplication.cpp:847
#37 0x067a0759 in QApplicationPrivate::notify_helper (this=0x9b22ae8, receiver=0xa72cbc8, e=0xbf9a8230) at kernel/qapplication.cpp:4392
#38 0x067a7167 in QApplication::notify (this=0xbf9a8ab0, receiver=0xa72cbc8, e=0xbf9a8230) at kernel/qapplication.cpp:3959
#39 0x00717a9a in KApplication::notify (this=0xbf9a8ab0, receiver=0xa72cbc8, event=0xbf9a8230) at ../../kdeui/kernel/kapplication.cpp:310
#40 0x00f8ffeb in QCoreApplication::notifyInternal (this=0xbf9a8ab0, receiver=0xa72cbc8, event=0xbf9a8230) at kernel/qcoreapplication.cpp:732
#41 0x067a5812 in QCoreApplication::sendEvent (receiver=0xa72cbc8, event=0xbf9a8230, alienWidget=0xa72cbc8, nativeWidget=0xa730010, buttonDown=0x71363c0, lastMouseReceiver=..., spontaneous=true)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#42 QApplicationPrivate::sendMouseEvent (receiver=0xa72cbc8, event=0xbf9a8230, alienWidget=0xa72cbc8, nativeWidget=0xa730010, buttonDown=0x71363c0, lastMouseReceiver=..., spontaneous=true)
    at kernel/qapplication.cpp:3058
#43 0x0683461f in QETWidget::translateMouseEvent (this=0xa730010, event=0xbf9a874c) at kernel/qapplication_x11.cpp:4337
#44 0x06833569 in QApplication::x11ProcessEvent (this=0xbf9a8ab0, event=0xbf9a874c) at kernel/qapplication_x11.cpp:3414
#45 0x0686256a in x11EventSourceDispatch (s=0x9b25ba8, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#46 0x028af5e5 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#47 0x028b32d8 in ?? () from /lib/libglib-2.0.so.0
#48 0x028b34b8 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#49 0x00fbe7f5 in QEventDispatcherGlib::processEvents (this=0x9aa1a10, flags=...) at kernel/qeventdispatcher_glib.cpp:415
#50 0x06861de5 in QGuiEventDispatcherGlib::processEvents (this=0x9aa1a10, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#51 0x00f8ea99 in QEventLoop::processEvents (this=0xbf9a8a44, flags=) at kernel/qeventloop.cpp:149
#52 0x00f8ef1a in QEventLoop::exec (this=0xbf9a8a44, flags=...) at kernel/qeventloop.cpp:201
#53 0x00f934cf in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009
#54 0x0679f5a7 in QApplication::exec () at kernel/qapplication.cpp:3672
#55 0x072cdfed in kdemain (argc=1, argv=0x9ae4158) at ../../../kword/part/main.cpp:38
#56 0x0804eb09 in launch (argc=<value optimized out>, _name=<value optimized out>, args=<value optimized out>, cwd=0x0, envc=1, envs=0x9adb4d7 "DISPLAY=:0.0", reset_env=false, tty=0x0, 
    avoid_loops=false, startup_id_str=0x9adb4e8 "laptop;1285202364;340785;1422_TIME15901355") at ../../kinit/kinit.cpp:723
#57 0x0804f6ad in handle_launcher_request (sock=<value optimized out>, who=<value optimized out>) at ../../kinit/kinit.cpp:1215
#58 0x0804fbd0 in handle_requests (waitForPid=<value optimized out>) at ../../kinit/kinit.cpp:1408
#59 0x0805087f in main (argc=4, argv=0xbf9a9474, envp=0xbf9a9488) at ../../kinit/kinit.cpp:1892

Reported using DrKonqi
Comment 1 Thomas Zander 2010-10-31 16:31:09 UTC
The backtrace shows its kspread that crashed.
Comment 2 Sebastian Sauer 2010-11-26 14:48:40 UTC
Confirmed that there are dragons in kspread/commands/AbstractRegionCommand.cpp where m_sheet can be NULL as indicated by a kWarning but then m_sheet is direct accessed without any NULL-check...
Comment 3 Sebastian Sauer 2011-12-20 01:23:04 UTC
Cannot reproduce with the steps described above. Note that we change *a lot* since 2.2.2 what may mean that the issue was just fixed meanwhile. In any case an investigation and the backtrace shows what could be the problem. My commit 3593609cdefb25 adds additional code to check for that specific problem. But smoke-testing this shows no situation where that problem still occurs so I assume it was fixed meanwhile.

It would be great^fantastic^amazing if you could test yourself with a recent Calligra Tables (successor of KSpread) like one of the 2.4 alpha or beta releases so we can be 100% sure that it was fixed. In any case *if* you can still reproduce the issue *please* reopen the report + attach an updated backtrace. Lot of thanks for your feedback and lot of thank in advance.