Bug 330284 - crash after selecting more than one table and pressing Ctrl+C
Summary: crash after selecting more than one table and pressing Ctrl+C
Status: RESOLVED FIXED
Alias: None
Product: calligrawords
Classification: Applications
Component: general (show other bugs)
Version: 2.7.5
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Calligra Words Bugs
URL: http://europass.cedefop.europa.eu/sl/...
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2014-01-22 12:21 UTC by Jure Repinc
Modified: 2015-03-29 14:32 UTC (History)
2 users (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 Jure Repinc 2014-01-22 12:21:45 UTC
Application: calligrawords (2.7.5)
KDE Platform Version: 4.12.0 (Compiled from sources)
Qt Version: 4.8.5
Operating System: Linux 3.12.0-rc7+ x86_64
Distribution: "NAME=Gentoo"

-- Information about the crash:
- What I was doing when the application crashed:
I edited Europas CV, then switched away from Calligra Words to Rekonq and after coming back I got a message that Calligra Words crashed.

-- Backtrace:
Application: Calligra Words (calligrawords), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f40287f67c0 (LWP 6479))]

Thread 2 (Thread 0x7f401f12d700 (LWP 7072)):
#0  0x00000038fd0e4efd in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x000000362984bfdc in g_main_context_poll (n_fds=1, fds=0x7f4018034d90, timeout=-1, context=0x7f40181214b0, priority=<optimized out>) at /var/tmp/portage/dev-libs/glib-2.36.4-r1/work/glib-2.36.4/glib/gmain.c:3995
#2  g_main_context_iterate (context=context@entry=0x7f40181214b0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /var/tmp/portage/dev-libs/glib-2.36.4-r1/work/glib-2.36.4/glib/gmain.c:3696
#3  0x000000362984c10c in g_main_context_iteration (context=0x7f40181214b0, may_block=1) at /var/tmp/portage/dev-libs/glib-2.36.4-r1/work/glib-2.36.4/glib/gmain.c:3762
#4  0x00000033b93b44ae in QEventDispatcherGlib::processEvents (this=0x7f4018036200, flags=...) at kernel/qeventdispatcher_glib.cpp:427
#5  0x00000033b93853cf in QEventLoop::processEvents (this=this@entry=0x7f401f12cde0, flags=...) at kernel/qeventloop.cpp:149
#6  0x00000033b938570d in QEventLoop::exec (this=this@entry=0x7f401f12cde0, flags=...) at kernel/qeventloop.cpp:204
#7  0x00000033b928031f in QThread::exec (this=this@entry=0x2d275260) at thread/qthread.cpp:536
#8  0x00000033b93662e3 in QInotifyFileSystemWatcherEngine::run (this=0x2d275260) at io/qfilesystemwatcher_inotify.cpp:256
#9  0x00000033b9282a5f in QThreadPrivate::start (arg=0x2d275260) at thread/qthread_unix.cpp:338
#10 0x00000038fd80901b in start_thread (arg=0x7f401f12d700) at pthread_create.c:308
#11 0x00000038fd0eeb6d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 1 (Thread 0x7f40287f67c0 (LWP 6479)):
[KCrash Handler]
#5  0x00000033bc29e9ac in data (this=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:135
#6  qGetPtrHelper<QScopedPointer<QObjectData> > (p=...) at ../../include/QtCore/../../src/corelib/global/qglobal.h:2457
#7  d_func (this=<optimized out>) at text/qtexttable.h:137
#8  QTextTableCell::column (this=this@entry=0x7fff80360570) at text/qtexttable.cpp:185
#9  0x00000033db50d2f8 in KoTextWriter::write (this=this@entry=0x7fff803605c0, document=0xf4a2270, from=3170, to=3679) at /var/tmp/portage/app-office/calligra-2.7.5/work/calligra-2.7.5/libs/kotext/opendocument/KoTextWriter.cpp:144
#10 0x00000033db45ebc3 in KoTextOdfSaveHelper::writeBody (this=0x7fff80360770) at /var/tmp/portage/app-office/calligra-2.7.5/work/calligra-2.7.5/libs/kotext/KoTextOdfSaveHelper.cpp:79
#11 0x00000033db51fdb2 in KoTextDrag::setOdf (this=this@entry=0x7fff80360710, mimeType=0x33d8ca2da8 "application/vnd.oasis.opendocument.text", helper=...) at /var/tmp/portage/app-office/calligra-2.7.5/work/calligra-2.7.5/libs/kotext/KoTextDrag.cpp:111
#12 0x00007f4023a96397 in TextTool::generateMimeData (this=0x2e408a20) at /var/tmp/portage/app-office/calligra-2.7.5/work/calligra-2.7.5/plugins/textshape/TextTool.cpp:1057
#13 0x00007f4023a965a6 in TextTool::copy (this=<optimized out>) at /var/tmp/portage/app-office/calligra-2.7.5/work/calligra-2.7.5/plugins/textshape/TextTool.cpp:1067
#14 0x00000033b939ac60 in QMetaObject::activate (sender=sender@entry=0x19ad0710, m=m@entry=0x33bca8c160 <QAction::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7fff803608f0) at kernel/qobject.cpp:3547
#15 0x00000033bbfd4cb2 in QAction::triggered (this=this@entry=0x19ad0710, _t1=false) at .moc/release-shared/moc_qaction.cpp:276
#16 0x00000033bbfd6723 in QAction::activate (this=0x19ad0710, event=event@entry=QAction::Trigger) at kernel/qaction.cpp:1257
#17 0x00000033bbfd688c in QAction::event (this=<optimized out>, e=e@entry=0x7fff80360ca0) at kernel/qaction.cpp:1183
#18 0x00000033bd97721f in KAction::event (this=<optimized out>, event=0x7fff80360ca0) at /var/tmp/portage/kde-base/kdelibs-4.12.49.9999/work/kdelibs-4.12.49.9999/kdeui/actions/kaction.cpp:131
#19 0x00000033bbfdb38c in QApplicationPrivate::notify_helper (this=this@entry=0x1ab5850, receiver=receiver@entry=0x19ad0710, e=e@entry=0x7fff80360ca0) at kernel/qapplication.cpp:4562
#20 0x00000033bbfe1b68 in QApplication::notify (this=0x7fff80361930, receiver=receiver@entry=0x19ad0710, e=e@entry=0x7fff80360ca0) at kernel/qapplication.cpp:4348
#21 0x00000033d7065f97 in KoApplication::notify (this=<optimized out>, receiver=0x19ad0710, event=0x7fff80360ca0) at /var/tmp/portage/app-office/calligra-2.7.5/work/calligra-2.7.5/libs/main/KoApplication.cpp:556
#22 0x00000033b938686c in QCoreApplication::notifyInternal (this=0x7fff80361930, receiver=0x19ad0710, event=event@entry=0x7fff80360ca0) at kernel/qcoreapplication.cpp:949
#23 0x00000033bc00de92 in sendEvent (event=0x7fff80360ca0, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#24 QShortcutMap::dispatchEvent (this=this@entry=0x1ab5970, e=e@entry=0x7fff80360ff0) at kernel/qshortcutmap.cpp:884
#25 0x00000033bc00dfec in QShortcutMap::tryShortcutEvent (this=0x1ab5970, o=o@entry=0x2e03ce30, e=e@entry=0x7fff80360ff0) at kernel/qshortcutmap.cpp:364
#26 0x00000033bbfe2e4b in QApplication::notify (this=0x7fff80361930, receiver=receiver@entry=0x2e03ce30, e=e@entry=0x7fff80360ff0) at kernel/qapplication.cpp:3986
#27 0x00000033d7065f97 in KoApplication::notify (this=<optimized out>, receiver=0x2e03ce30, event=0x7fff80360ff0) at /var/tmp/portage/app-office/calligra-2.7.5/work/calligra-2.7.5/libs/main/KoApplication.cpp:556
#28 0x00000033b938686c in QCoreApplication::notifyInternal (this=0x7fff80361930, receiver=receiver@entry=0x2e03ce30, event=event@entry=0x7fff80360ff0) at kernel/qcoreapplication.cpp:949
#29 0x00000033bbfd9be6 in sendSpontaneousEvent (event=event@entry=0x7fff80360ff0, receiver=receiver@entry=0x2e03ce30) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:234
#30 qt_sendSpontaneousEvent (receiver=receiver@entry=0x2e03ce30, event=event@entry=0x7fff80360ff0) at kernel/qapplication.cpp:5560
#31 0x00000033bc0798c9 in QKeyMapper::sendKeyEvent (keyWidget=keyWidget@entry=0x2e03ce30, grab=grab@entry=false, type=QEvent::KeyPress, code=67, modifiers=..., text=..., autorepeat=autorepeat@entry=false, count=1, nativeScanCode=54, nativeVirtualKey=99, nativeModifiers=20) at kernel/qkeymapper_x11.cpp:1866
#32 0x00000033bc079c58 in QKeyMapperPrivate::translateKeyEvent (this=0x1b05ae0, keyWidget=keyWidget@entry=0x2e03ce30, event=event@entry=0x7fff803614f0, grab=grab@entry=false) at kernel/qkeymapper_x11.cpp:1836
#33 0x00000033bc0555ac in QApplication::x11ProcessEvent (this=0x7fff80361930, event=event@entry=0x7fff803614f0) at kernel/qapplication_x11.cpp:3533
#34 0x00000033bc07c3ea in x11EventSourceDispatch (s=s@entry=0x1ab7570, callback=0x0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#35 0x000000362984bcd4 in g_main_dispatch (context=0x1ab3ff0) at /var/tmp/portage/dev-libs/glib-2.36.4-r1/work/glib-2.36.4/glib/gmain.c:3054
#36 g_main_context_dispatch (context=context@entry=0x1ab3ff0) at /var/tmp/portage/dev-libs/glib-2.36.4-r1/work/glib-2.36.4/glib/gmain.c:3630
#37 0x000000362984c044 in g_main_context_iterate (context=context@entry=0x1ab3ff0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /var/tmp/portage/dev-libs/glib-2.36.4-r1/work/glib-2.36.4/glib/gmain.c:3701
#38 0x000000362984c10c in g_main_context_iteration (context=0x1ab3ff0, may_block=1) at /var/tmp/portage/dev-libs/glib-2.36.4-r1/work/glib-2.36.4/glib/gmain.c:3762
#39 0x00000033b93b4483 in QEventDispatcherGlib::processEvents (this=0x1a31b30, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#40 0x00000033bc07c486 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#41 0x00000033b93853cf in QEventLoop::processEvents (this=this@entry=0x7fff803618c0, flags=...) at kernel/qeventloop.cpp:149
#42 0x00000033b938570d in QEventLoop::exec (this=this@entry=0x7fff803618c0, flags=...) at kernel/qeventloop.cpp:204
#43 0x00000033b938aa2b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1221
#44 0x00000033bbfd99bc in QApplication::exec () at kernel/qapplication.cpp:3823
#45 0x00000033fca02d15 in kdemain (argc=<optimized out>, argv=<optimized out>) at /var/tmp/portage/app-office/calligra-2.7.5/work/calligra-2.7.5/words/app/main.cpp:43
#46 0x00000038fd024c15 in __libc_start_main (main=0x400760 <main(int, char**)>, argc=2, ubp_av=0x7fff80361a68, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff80361a58) at libc-start.c:258
#47 0x0000000000400791 in _start ()

Reported using DrKonqi
Comment 1 Jure Repinc 2014-01-22 13:50:41 UTC
I was wrong about what I was doing to cause the crash. What you actually have to do is
1. Open this file http://europass.cedefop.europa.eu/sl/documents/curriculum-vitae/templates-instructions/templates/odt.odt
2. Select 4 table cels from "DODATNI PODATKI" diagonaly to right and down.
3. Press Ctrl+C to try to copy these 4 cells

And with this it always crashes.
Comment 2 Camilla Boemann 2014-01-22 13:54:53 UTC
I can confirm. Thanks for making the description more correct
Comment 3 Camilla Boemann 2014-01-22 13:58:50 UTC
In fact just creating two empty tables in an empty document and selecting them and the "copy" will cause the crash
Comment 4 Pierre Ducroquet 2015-03-23 22:38:30 UTC
This bug has been solved in words since last year, I can not reproduce it with 2.9.
Comment 5 Camilla Boemann 2015-03-24 06:48:50 UTC
I can still reproduce

Application: Calligra Words (calligrawords), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[KCrash Handler]
#5  0x00007f9580955cbc in QTextTableCell::column() const () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#6  0x00007f9584191a0e in KoTextWriter::write (this=0x7fff32f975e0, document=0x1d38400, from=1, to=18) at /home/cbo/devel/calligra/libs/kotext/opendocument/KoTextWriter.cpp:155
#7  0x00007f95840c191b in KoTextOdfSaveHelper::writeBody (this=0x7fff32f97940) at /home/cbo/devel/calligra/libs/kotext/KoTextOdfSaveHelper.cpp:76
#8  0x00007f95841aeafe in KoTextDrag::setOdf (this=0x7fff32f97930, mimeType=0x7f958256aa50 "application/vnd.oasis.opendocument.text", helper=...) at /home/cbo/devel/calligra/libs/kotext/KoTextDrag.cpp:110
#9  0x00007f956659973b in TextTool::generateMimeData (this=0x25919f0) at /home/cbo/devel/calligra/plugins/textshape/TextTool.cpp:1091
#10 0x00007f9566599c7c in TextTool::copy (this=0x25919f0) at /home/cbo/devel/calligra/plugins/textshape/TextTool.cpp:1128
#11 0x00007f9583d4b0af in KoToolProxy::copy (this=0x1e6c910) at /home/cbo/devel/calligra/libs/flake/KoToolProxy.cpp:527
#12 0x00007f9583ccd9c6 in KoCopyControllerPrivate::copy (this=0x291a230) at /home/cbo/devel/calligra/libs/flake/KoCopyController.cpp:63
#13 0x00007f9583ccdd73 in KoCopyController::qt_static_metacall (_o=0x2919fa0, _c=QMetaObject::InvokeMetaMethod, _id=2, _a=0x7fff32f97be0) at /home/cbo/devel/buildcalligra/libs/flake/KoCopyController.moc:58
#14 0x00007f957f7abf4c in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#15 0x00007f9580684af2 in QAction::triggered(bool) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#16 0x00007f9580686677 in QAction::activate(QAction::ActionEvent) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#17 0x00007f9580686bec in QAction::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#18 0x00007f958131cb72 in KAction::event(QEvent*) () from /usr/lib/libkdeui.so.5
#19 0x00007f958068b29c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#20 0x00007f9580691da8 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#21 0x00007f95847b3a20 in KoApplication::notify (this=0x7fff32f98d40, receiver=0x29184e0, event=0x7fff32f98000) at /home/cbo/devel/calligra/libs/main/KoApplication.cpp:623
#22 0x00007f957f796f8d in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#23 0x00007f95806bedfb in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#24 0x00007f95806bef64 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#25 0x00007f958069357e in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#26 0x00007f95847b3a20 in KoApplication::notify (this=0x7fff32f98d40, receiver=0x1e63040, event=0x7fff32f98390) at /home/cbo/devel/calligra/libs/main/KoApplication.cpp:623
#27 0x00007f957f796f8d in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#28 0x00007f958072cf63 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#29 0x00007f958072d402 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#30 0x00007f9580706e0f in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#31 0x00007f958072fad2 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#32 0x00007f957a5f7c5d in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#33 0x00007f957a5f7f48 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#34 0x00007f957a5f7ffc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#35 0x00007f957f7c64ed in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#36 0x00007f958072fb96 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#37 0x00007f957f795ae1 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#38 0x00007f957f795e45 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#39 0x00007f957f79b8b9 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#40 0x00007f9584a97394 in kdemain (argc=1, argv=0x7fff32f98f38) at /home/cbo/devel/calligra/words/app/main.cpp:44
#41 0x0000000000400968 in main (argc=1, argv=0x7fff32f98f38) at /home/cbo/devel/buildcalligra/words/app/calligrawords_dummy.cpp:3


It may be a qt thing though
Comment 6 Camilla Boemann 2015-03-29 14:32:53 UTC
Git commit 3e5052b560d8cdf5ccfdd40101dc16363e31af0b by C. Boemann.
Committed on 29/03/2015 at 13:37.
Pushed by boemann into branch 'calligra/2.9'.

When copying two tables we would get a crash as we were assuming it was all one table.
But trying to fix that it turns out we had a bigger issue. We couldn't copy a part of a table,
so I fixed that instead keeping in mind that we could have selected more than on table.
Related: bug 275990

M  +13   -27   libs/kotext/opendocument/KoTextWriter.cpp
M  +17   -6    libs/kotext/opendocument/KoTextWriter_p.cpp
M  +1    -1    libs/kotext/opendocument/KoTextWriter_p.h

http://commits.kde.org/calligra/3e5052b560d8cdf5ccfdd40101dc16363e31af0b