Bug 173753 - undo/redo doesn't work correctly and sometimes crashes kword
Summary: undo/redo doesn't work correctly and sometimes crashes kword
Status: RESOLVED FIXED
Alias: None
Product: kword
Classification: Miscellaneous
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Thomas Zander
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-10-28 11:57 UTC by George Kiagiadakis
Modified: 2008-12-14 18:44 UTC (History)
0 users

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 George Kiagiadakis 2008-10-28 11:57:58 UTC
Version:           2.0-beta2 (using Devel)
Compiler:          gcc version 4.3.2 (Debian 4.3.2-1) 
OS:                Linux
Installed from:    Compiled sources

Example #1:
Write a word, click undo, then redo, erase the word, click undo, enter a shape before the word (the word will be moved to make space), click undo until there is no other undo to do. Notice that the word is still there (not removed completely as it should, as the document initially was blank) and it is in the wrong position (it is moved to make space for the shape that has been removed). Now double click the word and click backspace to erase it and.... crash!

Backtrace:
Application: KWord (kword), signal SIGSEGV
0x00007f30f6edcff1 in nanosleep () from /lib/libc.so.6
[Current thread is 0 (LWP 22200)]

Thread 5 (Thread 0x4275c950 (LWP 22207)):
#0  0x00007f30f7942d29 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f30f7bc4d39 in QWaitConditionPrivate::wait (this=0x292d240, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:82
#2  0x00007f30f7bc4896 in QWaitCondition::wait (this=0x292d0c8, mutex=0x292d460, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:154
#3  0x00007f30f393ecb1 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x292d0a0, th=0x1667ca0) at /home/gkiagia/kde/src/KDE/kdelibs/threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007f30f39432a7 in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0x292d540, th=0x1667ca0) at /home/gkiagia/kde/src/KDE/kdelibs/threadweaver/Weaver/WorkingHardState.cpp:80
#5  0x00007f30f393e426 in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0x292d0a0, th=0x1667ca0) at /home/gkiagia/kde/src/KDE/kdelibs/threadweaver/Weaver/WeaverImpl.cpp:356
#6  0x00007f30f394339f in ThreadWeaver::WorkingHardState::applyForWork (this=0x292d540, th=0x1667ca0) at /home/gkiagia/kde/src/KDE/kdelibs/threadweaver/Weaver/WorkingHardState.cpp:71
#7  0x00007f30f393eeed in ThreadWeaver::WeaverImpl::applyForWork (this=0x292d0a0, th=0x1667ca0, previous=0x0) at /home/gkiagia/kde/src/KDE/kdelibs/threadweaver/Weaver/WeaverImpl.cpp:351
#8  0x00007f30f39433c2 in ThreadWeaver::WorkingHardState::applyForWork (this=0x292d540, th=0x1667ca0) at /home/gkiagia/kde/src/KDE/kdelibs/threadweaver/Weaver/WorkingHardState.cpp:74
#9  0x00007f30f393eeed in ThreadWeaver::WeaverImpl::applyForWork (this=0x292d0a0, th=0x1667ca0, previous=0x0) at /home/gkiagia/kde/src/KDE/kdelibs/threadweaver/Weaver/WeaverImpl.cpp:351
#10 0x00007f30f39433c2 in ThreadWeaver::WorkingHardState::applyForWork (this=0x292d540, th=0x1667ca0) at /home/gkiagia/kde/src/KDE/kdelibs/threadweaver/Weaver/WorkingHardState.cpp:74
#11 0x00007f30f393eeed in ThreadWeaver::WeaverImpl::applyForWork (this=0x292d0a0, th=0x1667ca0, previous=0x0) at /home/gkiagia/kde/src/KDE/kdelibs/threadweaver/Weaver/WeaverImpl.cpp:351
#12 0x00007f30f39433c2 in ThreadWeaver::WorkingHardState::applyForWork (this=0x292d540, th=0x1667ca0) at /home/gkiagia/kde/src/KDE/kdelibs/threadweaver/Weaver/WorkingHardState.cpp:74
#13 0x00007f30f393eeed in ThreadWeaver::WeaverImpl::applyForWork (this=0x292d0a0, th=0x1667ca0, previous=0x0) at /home/gkiagia/kde/src/KDE/kdelibs/threadweaver/Weaver/WeaverImpl.cpp:351
#14 0x00007f30f39433c2 in ThreadWeaver::WorkingHardState::applyForWork (this=0x292d540, th=0x1667ca0) at /home/gkiagia/kde/src/KDE/kdelibs/threadweaver/Weaver/WorkingHardState.cpp:74
#15 0x00007f30f393eeed in ThreadWeaver::WeaverImpl::applyForWork (this=0x292d0a0, th=0x1667ca0, previous=0x159d650) at /home/gkiagia/kde/src/KDE/kdelibs/threadweaver/Weaver/WeaverImpl.cpp:351
#16 0x00007f30f39416b8 in ThreadWeaver::ThreadRunHelper::run (this=0x4275c060, parent=0x292d0a0, th=0x1667ca0) at /home/gkiagia/kde/src/KDE/kdelibs/threadweaver/Weaver/Thread.cpp:87
#17 0x00007f30f3941813 in ThreadWeaver::Thread::run (this=0x1667ca0) at /home/gkiagia/kde/src/KDE/kdelibs/threadweaver/Weaver/Thread.cpp:142
#18 0x00007f30f7bc44ed in QThreadPrivate::start (arg=0x1667ca0) at thread/qthread_unix.cpp:185
#19 0x00007f30f793efc7 in start_thread () from /lib/libpthread.so.0
#20 0x00007f30f6f0e5ad in clone () from /lib/libc.so.6
#21 0x0000000000000000 in ?? ()

Thread 4 (Thread 0x411cf950 (LWP 22208)):
#0  0x00007f30f7942d29 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f30f7bc4d39 in QWaitConditionPrivate::wait (this=0x292d240, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:82
#2  0x00007f30f7bc4896 in QWaitCondition::wait (this=0x292d0c8, mutex=0x292d460, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:154
#3  0x00007f30f393ecb1 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x292d0a0, th=0x7f30d4017710)
    at /home/gkiagia/kde/src/KDE/kdelibs/threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007f30f39432a7 in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0x292d540, th=0x7f30d4017710) at /home/gkiagia/kde/src/KDE/kdelibs/threadweaver/Weaver/WorkingHardState.cpp:80
#5  0x00007f30f393e426 in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0x292d0a0, th=0x7f30d4017710) at /home/gkiagia/kde/src/KDE/kdelibs/threadweaver/Weaver/WeaverImpl.cpp:356
#6  0x00007f30f394339f in ThreadWeaver::WorkingHardState::applyForWork (this=0x292d540, th=0x7f30d4017710) at /home/gkiagia/kde/src/KDE/kdelibs/threadweaver/Weaver/WorkingHardState.cpp:71
#7  0x00007f30f393eeed in ThreadWeaver::WeaverImpl::applyForWork (this=0x292d0a0, th=0x7f30d4017710, previous=0x0) at /home/gkiagia/kde/src/KDE/kdelibs/threadweaver/Weaver/WeaverImpl.cpp:351
#8  0x00007f30f39433c2 in ThreadWeaver::WorkingHardState::applyForWork (this=0x292d540, th=0x7f30d4017710) at /home/gkiagia/kde/src/KDE/kdelibs/threadweaver/Weaver/WorkingHardState.cpp:74
#9  0x00007f30f393eeed in ThreadWeaver::WeaverImpl::applyForWork (this=0x292d0a0, th=0x7f30d4017710, previous=0x0) at /home/gkiagia/kde/src/KDE/kdelibs/threadweaver/Weaver/WeaverImpl.cpp:351
#10 0x00007f30f39433c2 in ThreadWeaver::WorkingHardState::applyForWork (this=0x292d540, th=0x7f30d4017710) at /home/gkiagia/kde/src/KDE/kdelibs/threadweaver/Weaver/WorkingHardState.cpp:74
#11 0x00007f30f393eeed in ThreadWeaver::WeaverImpl::applyForWork (this=0x292d0a0, th=0x7f30d4017710, previous=0x0) at /home/gkiagia/kde/src/KDE/kdelibs/threadweaver/Weaver/WeaverImpl.cpp:351
#12 0x00007f30f39433c2 in ThreadWeaver::WorkingHardState::applyForWork (this=0x292d540, th=0x7f30d4017710) at /home/gkiagia/kde/src/KDE/kdelibs/threadweaver/Weaver/WorkingHardState.cpp:74
#13 0x00007f30f393eeed in ThreadWeaver::WeaverImpl::applyForWork (this=0x292d0a0, th=0x7f30d4017710, previous=0x0) at /home/gkiagia/kde/src/KDE/kdelibs/threadweaver/Weaver/WeaverImpl.cpp:351
#14 0x00007f30f39433c2 in ThreadWeaver::WorkingHardState::applyForWork (this=0x292d540, th=0x7f30d4017710) at /home/gkiagia/kde/src/KDE/kdelibs/threadweaver/Weaver/WorkingHardState.cpp:74
#15 0x00007f30f393eeed in ThreadWeaver::WeaverImpl::applyForWork (this=0x292d0a0, th=0x7f30d4017710, previous=0x0) at /home/gkiagia/kde/src/KDE/kdelibs/threadweaver/Weaver/WeaverImpl.cpp:351
#16 0x00007f30f39433c2 in ThreadWeaver::WorkingHardState::applyForWork (this=0x292d540, th=0x7f30d4017710) at /home/gkiagia/kde/src/KDE/kdelibs/threadweaver/Weaver/WorkingHardState.cpp:74
#17 0x00007f30f393eeed in ThreadWeaver::WeaverImpl::applyForWork (this=0x292d0a0, th=0x7f30d4017710, previous=0x2dbea60) at /home/gkiagia/kde/src/KDE/kdelibs/threadweaver/Weaver/WeaverImpl.cpp:351
#18 0x00007f30f39416b8 in ThreadWeaver::ThreadRunHelper::run (this=0x411cf060, parent=0x292d0a0, th=0x7f30d4017710) at /home/gkiagia/kde/src/KDE/kdelibs/threadweaver/Weaver/Thread.cpp:87
#19 0x00007f30f3941813 in ThreadWeaver::Thread::run (this=0x7f30d4017710) at /home/gkiagia/kde/src/KDE/kdelibs/threadweaver/Weaver/Thread.cpp:142
#20 0x00007f30f7bc44ed in QThreadPrivate::start (arg=0x7f30d4017710) at thread/qthread_unix.cpp:185
#21 0x00007f30f793efc7 in start_thread () from /lib/libpthread.so.0
#22 0x00007f30f6f0e5ad in clone () from /lib/libc.so.6
#23 0x0000000000000000 in ?? ()

Thread 3 (Thread 0x419d0950 (LWP 22209)):
#0  0x00007f30f7942d29 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f30f7bc4d39 in QWaitConditionPrivate::wait (this=0x292d240, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:82
#2  0x00007f30f7bc4896 in QWaitCondition::wait (this=0x292d0c8, mutex=0x292d460, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:154
#3  0x00007f30f393ecb1 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x292d0a0, th=0x1a97590) at /home/gkiagia/kde/src/KDE/kdelibs/threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007f30f39432a7 in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0x292d540, th=0x1a97590) at /home/gkiagia/kde/src/KDE/kdelibs/threadweaver/Weaver/WorkingHardState.cpp:80
#5  0x00007f30f393e426 in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0x292d0a0, th=0x1a97590) at /home/gkiagia/kde/src/KDE/kdelibs/threadweaver/Weaver/WeaverImpl.cpp:356
#6  0x00007f30f394339f in ThreadWeaver::WorkingHardState::applyForWork (this=0x292d540, th=0x1a97590) at /home/gkiagia/kde/src/KDE/kdelibs/threadweaver/Weaver/WorkingHardState.cpp:71
#7  0x00007f30f393eeed in ThreadWeaver::WeaverImpl::applyForWork (this=0x292d0a0, th=0x1a97590, previous=0x7f30d4174b50) at /home/gkiagia/kde/src/KDE/kdelibs/threadweaver/Weaver/WeaverImpl.cpp:351
#8  0x00007f30f39416b8 in ThreadWeaver::ThreadRunHelper::run (this=0x419d0060, parent=0x292d0a0, th=0x1a97590) at /home/gkiagia/kde/src/KDE/kdelibs/threadweaver/Weaver/Thread.cpp:87
#9  0x00007f30f3941813 in ThreadWeaver::Thread::run (this=0x1a97590) at /home/gkiagia/kde/src/KDE/kdelibs/threadweaver/Weaver/Thread.cpp:142
#10 0x00007f30f7bc44ed in QThreadPrivate::start (arg=0x1a97590) at thread/qthread_unix.cpp:185
#11 0x00007f30f793efc7 in start_thread () from /lib/libpthread.so.0
#12 0x00007f30f6f0e5ad in clone () from /lib/libc.so.6
#13 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x42f5d950 (LWP 22210)):
#0  0x00007f30f7942d29 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f30f7bc4d39 in QWaitConditionPrivate::wait (this=0x292d240, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:82
#2  0x00007f30f7bc4896 in QWaitCondition::wait (this=0x292d0c8, mutex=0x292d460, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:154
#3  0x00007f30f393ecb1 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x292d0a0, th=0x1819700) at /home/gkiagia/kde/src/KDE/kdelibs/threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007f30f39432a7 in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0x292d540, th=0x1819700) at /home/gkiagia/kde/src/KDE/kdelibs/threadweaver/Weaver/WorkingHardState.cpp:80
#5  0x00007f30f393e426 in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0x292d0a0, th=0x1819700) at /home/gkiagia/kde/src/KDE/kdelibs/threadweaver/Weaver/WeaverImpl.cpp:356
#6  0x00007f30f394339f in ThreadWeaver::WorkingHardState::applyForWork (this=0x292d540, th=0x1819700) at /home/gkiagia/kde/src/KDE/kdelibs/threadweaver/Weaver/WorkingHardState.cpp:71
#7  0x00007f30f393eeed in ThreadWeaver::WeaverImpl::applyForWork (this=0x292d0a0, th=0x1819700, previous=0x0) at /home/gkiagia/kde/src/KDE/kdelibs/threadweaver/Weaver/WeaverImpl.cpp:351
#8  0x00007f30f39433c2 in ThreadWeaver::WorkingHardState::applyForWork (this=0x292d540, th=0x1819700) at /home/gkiagia/kde/src/KDE/kdelibs/threadweaver/Weaver/WorkingHardState.cpp:74
#9  0x00007f30f393eeed in ThreadWeaver::WeaverImpl::applyForWork (this=0x292d0a0, th=0x1819700, previous=0x0) at /home/gkiagia/kde/src/KDE/kdelibs/threadweaver/Weaver/WeaverImpl.cpp:351
#10 0x00007f30f39433c2 in ThreadWeaver::WorkingHardState::applyForWork (this=0x292d540, th=0x1819700) at /home/gkiagia/kde/src/KDE/kdelibs/threadweaver/Weaver/WorkingHardState.cpp:74
#11 0x00007f30f393eeed in ThreadWeaver::WeaverImpl::applyForWork (this=0x292d0a0, th=0x1819700, previous=0x2174400) at /home/gkiagia/kde/src/KDE/kdelibs/threadweaver/Weaver/WeaverImpl.cpp:351
#12 0x00007f30f39416b8 in ThreadWeaver::ThreadRunHelper::run (this=0x42f5d060, parent=0x292d0a0, th=0x1819700) at /home/gkiagia/kde/src/KDE/kdelibs/threadweaver/Weaver/Thread.cpp:87
#13 0x00007f30f3941813 in ThreadWeaver::Thread::run (this=0x1819700) at /home/gkiagia/kde/src/KDE/kdelibs/threadweaver/Weaver/Thread.cpp:142
#14 0x00007f30f7bc44ed in QThreadPrivate::start (arg=0x1819700) at thread/qthread_unix.cpp:185
#15 0x00007f30f793efc7 in start_thread () from /lib/libpthread.so.0
#16 0x00007f30f6f0e5ad in clone () from /lib/libc.so.6
#17 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f30fa7d16f0 (LWP 22200)):
[KCrash Handler]
#5  0x00007f30ec7d8f5e in KoShapeManager::remove (this=0x22bf870, shape=0x0) at /home/gkiagia/kde/src/koffice/libs/flake/KoShapeManager.cpp:131
#6  0x00007f30ed090ce8 in KWDocument::removeFrameFromViews (this=0x168fca0, frame=0x2a5ad60) at /home/gkiagia/kde/src/koffice/kword/part/KWDocument.cpp:646
#7  0x00007f30ed08897d in KWDocument::qt_metacall (this=0x168fca0, _c=QMetaObject::InvokeMetaMethod, _id=6, _a=0x7fff02905880) at /home/gkiagia/kde/build/koffice/kword/part/moc_KWDocument.cpp:91
#8  0x00007f30f7cc2da8 in QMetaObject::activate (sender=0x2dbe3e0, from_signal_index=5, to_signal_index=5, argv=0x7fff02905880) at kernel/qobject.cpp:3028
#9  0x00007f30f7cc321d in QMetaObject::activate (sender=0x2dbe3e0, m=0x7f30ed2feb40, local_signal_index=1, argv=0x7fff02905880) at kernel/qobject.cpp:3101
#10 0x00007f30ed088171 in KWFrameSet::frameRemoved (this=0x2dbe3e0, _t1=0x2a5ad60) at /home/gkiagia/kde/build/koffice/kword/part/moc_KWFrameSet.cpp:86
#11 0x00007f30ed0c2e3e in KWFrameSet::removeFrame (this=0x2dbe3e0, frame=0x2a5ad60) at /home/gkiagia/kde/src/koffice/kword/part/frames/KWFrameSet.cpp:55
#12 0x00007f30ed0c1f64 in ~KWFrame (this=0x2a5ad60) at /home/gkiagia/kde/src/koffice/kword/part/frames/KWFrame.cpp:54
#13 0x00007f30ec7d48fc in ~Private (this=0x2d791a0) at /home/gkiagia/kde/src/koffice/libs/flake/KoShape.cpp:95
#14 0x00007f30ec7d15d8 in ~KoShape (this=0x2be8fb0) at /home/gkiagia/kde/src/koffice/libs/flake/KoShape.cpp:157
#15 0x00007f30ec7bbb72 in ~KoPathShape (this=0x2be8fb0) at /home/gkiagia/kde/src/koffice/libs/flake/KoPathShape.cpp:63
#16 0x00007f30ec7ef903 in ~KoParameterShape (this=0x2be8fb0) at /home/gkiagia/kde/src/koffice/libs/flake/KoParameterShape.cpp:41
#17 0x00007f30e62a0dbf in ~KoStarShape (this=0x2be8fb0) at /home/gkiagia/kde/src/koffice/plugins/pathshapes/star/KoStarShape.cpp:52
#18 0x00007f30ec827f44 in ~Private (this=0x18d9290) at /home/gkiagia/kde/src/koffice/libs/flake/commands/KoShapeCreateCommand.cpp:39
#19 0x00007f30ec827cf4 in ~KoShapeCreateCommand (this=0x18211d0) at /home/gkiagia/kde/src/koffice/libs/flake/commands/KoShapeCreateCommand.cpp:57
#20 0x00007f30f96b20f5 in QUndoStack::push (this=0x1683df0, cmd=0x2244ba0) at util/qundostack.cpp:552
#21 0x00007f30f9b447ca in KoDocument::addCommand (this=0x168fca0, command=0x2244ba0) at /home/gkiagia/kde/src/koffice/libs/main/KoDocument.cpp:2677
#22 0x00007f30ed08cb57 in KWCanvas::addCommand (this=0x22bf040, command=0x2244ba0) at /home/gkiagia/kde/src/koffice/kword/part/KWCanvas.cpp:100
#23 0x00007f30e7da4d2f in TextTool::addUndoCommand (this=0x2306000) at /home/gkiagia/kde/src/koffice/plugins/textshape/TextTool.cpp:1328
#24 0x00007f30e7daf889 in TextTool::qt_metacall (this=0x2306000, _c=QMetaObject::InvokeMetaMethod, _id=27, _a=0x7fff02905bb0) at /home/gkiagia/kde/build/koffice/plugins/textshape/TextTool.moc:150
#25 0x00007f30f7cc2da8 in QMetaObject::activate (sender=0x18f6b10, from_signal_index=8, to_signal_index=8, argv=0x0) at kernel/qobject.cpp:3028
#26 0x00007f30f7cc321d in QMetaObject::activate (sender=0x18f6b10, m=0x7f30f9ad3080, local_signal_index=4, argv=0x0) at kernel/qobject.cpp:3101
#27 0x00007f30f96b85ea in QTextDocument::undoCommandAdded (this=0x18f6b10) at .moc/debug-shared/moc_qtextdocument.cpp:202
#28 0x00007f30f9322cd7 in QTextDocumentPrivate::appendUndoItem (this=0x1a97960, c=@0x7fff02905d20) at text/qtextdocument_p.cpp:997
#29 0x00007f30f9326bec in QTextDocumentPrivate::move (this=0x1a97960, pos=0, to=-1, length=23, op=QTextUndoCommand::MoveCursor) at text/qtextdocument_p.cpp:619
#30 0x00007f30f9326cf3 in QTextDocumentPrivate::remove (this=0x1a97960, pos=0, length=23, op=QTextUndoCommand::MoveCursor) at text/qtextdocument_p.cpp:639
#31 0x00007f30f93491c2 in QTextCursorPrivate::remove (this=0x1a11e80) at text/qtextcursor.cpp:162
#32 0x00007f30f934b24f in QTextCursor::deletePreviousChar (this=0x2306030) at text/qtextcursor.cpp:1322
#33 0x00007f30e7dafcf1 in TextTool::keyPressEvent (this=0x2306000, event=0x7fff02906c40) at /home/gkiagia/kde/src/koffice/plugins/textshape/TextTool.cpp:809
#34 0x00007f30ec7fe21c in KoToolProxy::keyPressEvent (this=0x175bc40, event=0x7fff02906c40) at /home/gkiagia/kde/src/koffice/libs/flake/KoToolProxy.cpp:268
#35 0x00007f30ed08d2a3 in KWCanvas::keyPressEvent (this=0x22bf040, e=0x7fff02906c40) at /home/gkiagia/kde/src/koffice/kword/part/KWCanvas.cpp:185
#36 0x00007f30f9145936 in QWidget::event (this=0x22bf040, event=0x7fff02906c40) at kernel/qwidget.cpp:7198
#37 0x00007f30f90edd0d in QApplicationPrivate::notify_helper (this=0x1513f80, receiver=0x22bf040, e=0x7fff02906c40) at kernel/qapplication.cpp:3803
#38 0x00007f30f90ee3b1 in QApplication::notify (this=0x7fff02907ce0, receiver=0x22bf040, e=0x7fff02906c40) at kernel/qapplication.cpp:3447
#39 0x00007f30f8ae0722 in KApplication::notify (this=0x7fff02907ce0, receiver=0x22bf040, event=0x7fff02906c40) at /home/gkiagia/kde/src/KDE/kdelibs/kdeui/kernel/kapplication.cpp:307
#40 0x00007f30f7cae92b in QCoreApplication::notifyInternal (this=0x7fff02907ce0, receiver=0x22bf040, event=0x7fff02906c40) at kernel/qcoreapplication.cpp:583
#41 0x00007f30f90f9e53 in QCoreApplication::sendSpontaneousEvent (receiver=0x22bf040, event=0x7fff02906c40) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:212
#42 0x00007f30f9152f90 in qt_sendSpontaneousEvent (receiver=0x22bf040, event=0x7fff02906c40) at kernel/qapplication_x11.cpp:4588
#43 0x00007f30f9189f8c in QKeyMapper::sendKeyEvent (keyWidget=0x22bf040, grab=false, type=QEvent::KeyPress, code=16777219, modifiers={i = 43020640}, text=@0x7fff02907100, autorepeat=false, count=1, 
    nativeScanCode=22, nativeVirtualKey=65288, nativeModifiers=0) at kernel/qkeymapper_x11.cpp:1652
#44 0x00007f30f918b32f in QKeyMapperPrivate::translateKeyEvent (this=0x1543bc0, keyWidget=0x22bf040, event=0x7fff029078a0, grab=false) at kernel/qkeymapper_x11.cpp:1623
#45 0x00007f30f9163ef0 in QApplication::x11ProcessEvent (this=0x7fff02907ce0, event=0x7fff029078a0) at kernel/qapplication_x11.cpp:3053
#46 0x00007f30f918d9a6 in x11EventSourceDispatch (s=0x15176f0, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:142
#47 0x00007f30f484178b in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#48 0x00007f30f4844f5d in ?? () from /usr/lib/libglib-2.0.so.0
#49 0x00007f30f484511b in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#50 0x00007f30f7cdb52e in QEventDispatcherGlib::processEvents (this=0x1513d50, flags={i = 43023200}) at kernel/qeventdispatcher_glib.cpp:319
#51 0x00007f30f918d1cb in QGuiEventDispatcherGlib::processEvents (this=0x1513d50, flags={i = 43023296}) at kernel/qguieventdispatcher_glib.cpp:198
#52 0x00007f30f7cabb8f in QEventLoop::processEvents (this=0x7fff02907c70, flags={i = 43023392}) at kernel/qeventloop.cpp:143
#53 0x00007f30f7cabd8a in QEventLoop::exec (this=0x7fff02907c70, flags={i = 43023488}) at kernel/qeventloop.cpp:190
#54 0x00007f30f7caf190 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:845
#55 0x00007f30f90eda6a in QApplication::exec () at kernel/qapplication.cpp:3331
#56 0x00007f30fa4ecdac in kdemain (argc=1, argv=0x7fff02907e88) at /home/gkiagia/kde/src/koffice/kword/part/main.cpp:36
#57 0x0000000000400817 in main (argc=1, argv=0x7fff02907e88) at /home/gkiagia/kde/build/koffice/kword/part/kword_dummy.cpp:3



##################################
Example #2:
Copy paste a text that takes two pages at least (eg, the backtrace above) in a blank document. Click undo once and notice that it doesn't remove everything. Cick undo again and.... crash!

Backtrace:
Application: KWord (kword), signal SIGSEGV
0x00007f81f9966ff1 in nanosleep () from /lib/libc.so.6

Thread 1 (Thread 0x7f81fd25b6f0 (LWP 22187)):
[KCrash Handler]
#5  0x00007f81efb2f77e in KWPageStyle::pageLayout (this=0x2815df0) at /home/gkiagia/kde/src/koffice/kword/part/KWPageStyle.cpp:113
#6  0x00007f81efb2acb2 in KWPage::height (this=0x3d08310) at /home/gkiagia/kde/src/koffice/kword/part/KWPage.cpp:112
#7  0x00007f81efb31145 in KWViewModeNormal::updatePageCache (this=0x31b0990) at /home/gkiagia/kde/src/koffice/kword/part/KWViewModeNormal.cpp:130
#8  0x00007f81efb3026e in KWViewMode::pageSetupChanged (this=0x31b0990) at /home/gkiagia/kde/src/koffice/kword/part/KWViewMode.cpp:57
#9  0x00007f81efb1803d in KWCanvas::pageSetupChanged (this=0x31ae700) at /home/gkiagia/kde/src/koffice/kword/part/KWCanvas.cpp:72
#10 0x00007f81efb124ed in KWCanvas::qt_metacall (this=0x31ae700, _c=QMetaObject::InvokeMetaMethod, _id=2, _a=0x7fff053919e0) at /home/gkiagia/kde/build/koffice/kword/part/moc_KWCanvas.cpp:75
#11 0x00007f81fa74cda8 in QMetaObject::activate (sender=0x258cca0, from_signal_index=43, to_signal_index=43, argv=0x0) at kernel/qobject.cpp:3028
#12 0x00007f81fa74d21d in QMetaObject::activate (sender=0x258cca0, m=0x7f81efd88c20, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3101
#13 0x00007f81efb120ea in KWDocument::pageSetupChanged (this=0x258cca0) at /home/gkiagia/kde/build/koffice/kword/part/moc_KWDocument.cpp:104
#14 0x00007f81efb1b1c2 in KWDocument::firePageSetupChanged (this=0x258cca0) at /home/gkiagia/kde/src/koffice/kword/part/KWDocument.cpp:212
#15 0x00007f81efb69087 in KWPageInsertCommand::undo (this=0x28955d0) at /home/gkiagia/kde/src/koffice/kword/part/commands/KWPageInsertCommand.cpp:104
#16 0x00007f81fc13bf7d in QUndoStack::undo (this=0x2580df0) at util/qundostack.cpp:657
#17 0x00007f81fc14d555 in QUndoStack::qt_metacall (this=0x2580df0, _c=QMetaObject::InvokeMetaMethod, _id=8, _a=0x7fff05391cf0) at .moc/debug-shared/moc_qundostack.cpp:98
#18 0x00007f81fb5f93e7 in KUndoStack::qt_metacall (this=0x2580df0, _c=QMetaObject::InvokeMetaMethod, _id=12, _a=0x7fff05391cf0) at /home/gkiagia/kde/build/KDE/kdelibs/kdeui/kundostack.moc:57
#19 0x00007f81fa74cda8 in QMetaObject::activate (sender=0x25811a0, from_signal_index=5, to_signal_index=6, argv=0x7fff05391cf0) at kernel/qobject.cpp:3028
#20 0x00007f81fa74cfcf in QMetaObject::activate (sender=0x25811a0, m=0x7f81fc53ccc0, from_local_signal_index=1, to_local_signal_index=2, argv=0x7fff05391cf0) at kernel/qobject.cpp:3121
#21 0x00007f81fbb706db in QAction::triggered (this=0x25811a0, _t1=false) at .moc/debug-shared/moc_qaction.cpp:216
#22 0x00007f81fbb7217a in QAction::activate (this=0x25811a0, event=QAction::Trigger) at kernel/qaction.cpp:1125
#23 0x00007f81fbb75ea2 in QAction::trigger (this=0x25811a0) at ../../include/QtGui/../../src/gui/kernel/qaction.h:195
#24 0x00007f81fbf9c0a6 in QToolButton::nextCheckState (this=0x3cc9010) at widgets/qtoolbutton.cpp:1097
#25 0x00007f81fbec8840 in QAbstractButtonPrivate::click (this=0x3cd8040) at widgets/qabstractbutton.cpp:520
#26 0x00007f81fbec8b36 in QAbstractButton::mouseReleaseEvent (this=0x3cc9010, e=0x7fff05392860) at widgets/qabstractbutton.cpp:1110
#27 0x00007f81fbf9d29c in QToolButton::mouseReleaseEvent (this=0x3cc9010, e=0x7fff05392860) at widgets/qtoolbutton.cpp:671
#28 0x00007f81fbbcf739 in QWidget::event (this=0x3cc9010, event=0x7fff05392860) at kernel/qwidget.cpp:7163
#29 0x00007f81fbec7698 in QAbstractButton::event (this=0x3cc9010, e=0x7fff05392860) at widgets/qabstractbutton.cpp:1072
#30 0x00007f81fbf9c05f in QToolButton::event (this=0x3cc9010, e=0x7fff05392860) at widgets/qtoolbutton.cpp:1103
#31 0x00007f81fbb77d0d in QApplicationPrivate::notify_helper (this=0x2410f80, receiver=0x3cc9010, e=0x7fff05392860) at kernel/qapplication.cpp:3803
#32 0x00007f81fbb788f9 in QApplication::notify (this=0x7fff05393760, receiver=0x3cc9010, e=0x7fff05392860) at kernel/qapplication.cpp:3528
#33 0x00007f81fb56a722 in KApplication::notify (this=0x7fff05393760, receiver=0x3cc9010, event=0x7fff05392860) at /home/gkiagia/kde/src/KDE/kdelibs/kdeui/kernel/kapplication.cpp:307
#34 0x00007f81fa73892b in QCoreApplication::notifyInternal (this=0x7fff05393760, receiver=0x3cc9010, event=0x7fff05392860) at kernel/qcoreapplication.cpp:583
#35 0x00007f81fbb83e53 in QCoreApplication::sendSpontaneousEvent (receiver=0x3cc9010, event=0x7fff05392860) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:212
#36 0x00007f81fbb7c5a9 in QApplicationPrivate::sendMouseEvent (receiver=0x3cc9010, event=0x7fff05392860, alienWidget=0x3cc9010, nativeWidget=0x2582140, buttonDown=0x7f81fc578068, 
    lastMouseReceiver=@0x7f81fc578070) at kernel/qapplication.cpp:2793
#37 0x00007f81fbbed05f in QETWidget::translateMouseEvent (this=0x2582140, event=0x7fff05393320) at kernel/qapplication_x11.cpp:4042
#38 0x00007f81fbbede65 in QApplication::x11ProcessEvent (this=0x7fff05393760, event=0x7fff05393320) at kernel/qapplication_x11.cpp:3038
#39 0x00007f81fbc179a6 in x11EventSourceDispatch (s=0x24146f0, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:142
#40 0x00007f81f72cb78b in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#41 0x00007f81f72cef5d in ?? () from /usr/lib/libglib-2.0.so.0
#42 0x00007f81f72cf11b in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#43 0x00007f81fa76552e in QEventDispatcherGlib::processEvents (this=0x2410d50, flags={i = 87635424}) at kernel/qeventdispatcher_glib.cpp:319
#44 0x00007f81fbc171cb in QGuiEventDispatcherGlib::processEvents (this=0x2410d50, flags={i = 87635520}) at kernel/qguieventdispatcher_glib.cpp:198
#45 0x00007f81fa735b8f in QEventLoop::processEvents (this=0x7fff053936f0, flags={i = 87635616}) at kernel/qeventloop.cpp:143
#46 0x00007f81fa735d8a in QEventLoop::exec (this=0x7fff053936f0, flags={i = 87635712}) at kernel/qeventloop.cpp:190
#47 0x00007f81fa739190 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:845
#48 0x00007f81fbb77a6a in QApplication::exec () at kernel/qapplication.cpp:3331
#49 0x00007f81fcf76dac in kdemain (argc=1, argv=0x7fff05393908) at /home/gkiagia/kde/src/koffice/kword/part/main.cpp:36
#50 0x0000000000400817 in main (argc=1, argv=0x7fff05393908) at /home/gkiagia/kde/build/koffice/kword/part/kword_dummy.cpp:3

############################
Example #3:
Enter a word, wait a few seconds, erase it with backspace. Click undo. Notice that it doesn't change anything (the document is still blank), although the expected behavior would be to show the erased word (as I *did* wait a few seconds before erasing it...). No crash here (fortunately)...