Bug 358525 - Crash when deleting text in linked frames (complex document layout)
Summary: Crash when deleting text in linked frames (complex document layout)
Status: RESOLVED FIXED
Alias: None
Product: calligrawords
Classification: Applications
Component: general (show other bugs)
Version: 2.9.7
Platform: Kubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Calligra Words Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-01-25 10:02 UTC by Martin Tlustos
Modified: 2018-10-08 08:34 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments
Testcase (31.22 KB, application/vnd.oasis.opendocument.text)
2016-01-25 10:02 UTC, Martin Tlustos
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Tlustos 2016-01-25 10:02:16 UTC
Calligra crashes when I try to delete all text from a complex document with multiple linked frames.

gdb backtrace:
#0  QFragmentMapData<QTextBlockData>::next (this=this@entry=0x12ddf18, n=251658240) at ../../include/QtGui/private/../../../src/gui/text/qfragmentmap_p.h:298
#1  0x00007ffff6c59a2b in QFragmentMap<QTextBlockData>::next (n=<optimized out>, this=0x12ddf18) at ../../include/QtGui/private/../../../src/gui/text/qfragmentmap_p.h:862
#2  QTextFrame::iterator::operator++ (this=0x7fffffffcdc0) at text/qtextobject.cpp:732
#3  0x00007ffff55732ac in KoTextLayoutArea::hitTest(QPointF const&, Qt::HitTestAccuracy) const () from /usr/lib/libkotextlayout.so.14
#4  0x00007fffdfbcfe20 in ?? () from /usr/lib/kde4/calligra_shape_text.so
#5  0x00007fffdfbdbcf2 in ?? () from /usr/lib/kde4/calligra_shape_text.so
#6  0x00007ffff4cf6469 in KoToolProxy::mousePressEvent(KoPointerEvent*) () from /usr/lib/libflake.so.14
#7  0x00007ffff4cf64ec in KoToolProxy::mousePressEvent(QMouseEvent*, QPointF const&) () from /usr/lib/libflake.so.14
#8  0x00007fffe20d3c4a in ?? () from /usr/lib/libwordsprivate.so.14
#9  0x00007ffff6a2b9e0 in QWidget::event (this=0x10b5f00, event=0x7fffffffd640) at kernel/qwidget.cpp:8385
#10 0x00007ffff69d6cdc in QApplicationPrivate::notify_helper (this=this@entry=0x690870, receiver=receiver@entry=0x10b5f00, e=e@entry=0x7fffffffd640) at kernel/qapplication.cpp:4570
#11 0x00007ffff69dddd6 in QApplication::notify (this=<optimized out>, receiver=0x10b5f00, e=0x7fffffffd640) at kernel/qapplication.cpp:4113
#12 0x00007ffff754de55 in KoApplication::notify(QObject*, QEvent*) () from /usr/lib/libkomain.so.14
#13 0x00007ffff5fc785d in QCoreApplication::notifyInternal (this=0x7fffffffde00, receiver=receiver@entry=0x10b5f00, event=event@entry=0x7fffffffd640) at kernel/qcoreapplication.cpp:955
#14 0x00007ffff69dd3dd in QCoreApplication::sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#15 QApplicationPrivate::sendMouseEvent (receiver=receiver@entry=0x10b5f00, event=event@entry=0x7fffffffd640, alienWidget=alienWidget@entry=0x10b5f00, nativeWidget=nativeWidget@entry=0xa00190, buttonDown=buttonDown@entry=0x7ffff74ff318 <qt_button_down>, 
    lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3178
#16 0x00007ffff6a589bb in QETWidget::translateMouseEvent (this=this@entry=0xa00190, event=event@entry=0x7fffffffd9a0) at kernel/qapplication_x11.cpp:4632
#17 0x00007ffff6a58223 in QApplication::x11ProcessEvent (this=0x7fffffffde00, event=event@entry=0x7fffffffd9a0) at kernel/qapplication_x11.cpp:3626
---Type <return> to continue, or q <return> to quit---
#18 0x00007ffff6a81b52 in x11EventSourceDispatch (s=0x6920b0, callback=0x0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#19 0x00007ffff27e6ff7 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#20 0x00007ffff27e7250 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#21 0x00007ffff27e72fc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#22 0x00007ffff5ff81ee in QEventDispatcherGlib::processEvents (this=0x6240e0, flags=...) at kernel/qeventdispatcher_glib.cpp:450
#23 0x00007ffff6a81c26 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#24 0x00007ffff5fc60d1 in QEventLoop::processEvents (this=this@entry=0x7fffffffdd80, flags=...) at kernel/qeventloop.cpp:149
#25 0x00007ffff5fc6445 in QEventLoop::exec (this=this@entry=0x7fffffffdd80, flags=...) at kernel/qeventloop.cpp:204
#26 0x00007ffff5fcc429 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1227
#27 0x00007ffff7bd73f5 in kdemain () from /usr/lib/kde4/libkdeinit/libkdeinit4_calligrawords.so
#28 0x00007ffff782aa40 in __libc_start_main (main=0x4006e0, argc=1, argv=0x7fffffffdf48, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffdf38) at libc-start.c:289
#29 0x0000000000400719 in _start ()

After force close another backtrace:
#0  QFragmentMapData<QTextBlockData>::next (this=this@entry=0x12ddf18, n=251658240) at ../../include/QtGui/private/../../../src/gui/text/qfragmentmap_p.h:298
#1  0x00007ffff6c59a2b in QFragmentMap<QTextBlockData>::next (n=<optimized out>, this=0x12ddf18) at ../../include/QtGui/private/../../../src/gui/text/qfragmentmap_p.h:862
#2  QTextFrame::iterator::operator++ (this=0x7fffffffcdc0) at text/qtextobject.cpp:732
#3  0x00007ffff55732ac in KoTextLayoutArea::hitTest(QPointF const&, Qt::HitTestAccuracy) const () from /usr/lib/libkotextlayout.so.14
#4  0x00007fffdfbcfe20 in ?? () from /usr/lib/kde4/calligra_shape_text.so
#5  0x00007fffdfbdbcf2 in ?? () from /usr/lib/kde4/calligra_shape_text.so
#6  0x00007ffff4cf6469 in KoToolProxy::mousePressEvent(KoPointerEvent*) () from /usr/lib/libflake.so.14
#7  0x00007ffff4cf64ec in KoToolProxy::mousePressEvent(QMouseEvent*, QPointF const&) () from /usr/lib/libflake.so.14
#8  0x00007fffe20d3c4a in ?? () from /usr/lib/libwordsprivate.so.14
#9  0x00007ffff6a2b9e0 in QWidget::event (this=<Fehler beim Lesen der Variable: Cannot access memory at address 0x7fffffffd148>, event=<Fehler beim Lesen der Variable: Cannot access memory at address 0x7fffffffd140>) at kernel/qwidget.cpp:8385
#10 0x00007ffff69d6cdc in QApplicationPrivate::notify_helper (this=<Fehler beim Lesen der Variable: Cannot access memory at address 0x7fffffffd208>, this@entry=<Fehler beim Lesen der Variable: Cannot access memory at address 0x7fffffffd240>, 
    receiver=<Fehler beim Lesen der Variable: Cannot access memory at address 0x7fffffffd1f8>, receiver@entry=<Fehler beim Lesen der Variable: Cannot access memory at address 0x7fffffffd248>, 
    e=<Fehler beim Lesen der Variable: Cannot access memory at address 0x7fffffffd200>, e@entry=<Fehler beim Lesen der Variable: Cannot access memory at address 0x7fffffffd220>) at kernel/qapplication.cpp:4570
#11 0x00007ffff69dddd6 in QApplication::notify (this=<optimized out>, receiver=<Fehler beim Lesen der Variable: Cannot access memory at address 0x7fffffffd218>, e=<Fehler beim Lesen der Variable: Cannot access memory at address 0x7fffffffd220>)
    at kernel/qapplication.cpp:4113
#12 0x00007ffff754de55 in KoApplication::notify(QObject*, QEvent*) () from /usr/lib/libkomain.so.14
#13 0x00007ffff5fc785d in QCoreApplication::notifyInternal (this=<Fehler beim Lesen der Variable: Cannot access memory at address 0x7fffffffd458>, receiver=<Fehler beim Lesen der Variable: Cannot access memory at address 0x7fffffffd448>, 
    receiver@entry=<Fehler beim Lesen der Variable: Cannot access memory at address 0x7fffffffd4d8>, event=<Fehler beim Lesen der Variable: Cannot access memory at address 0x7fffffffd450>, 
    event@entry=<Fehler beim Lesen der Variable: Cannot access memory at address 0x7fffffffd4b0>) at kernel/qcoreapplication.cpp:955
---Type <return> to continue, or q <return> to quit---
#14 0x00007ffff69dd3dd in QCoreApplication::sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#15 QApplicationPrivate::sendMouseEvent (receiver=<Fehler beim Lesen der Variable: Cannot access memory at address 0x7fffffffd4d8>, receiver@entry=<Fehler beim Lesen der Variable: Cannot access memory at address 0x7fffffffd560>, 
    event=<Fehler beim Lesen der Variable: Cannot access memory at address 0x7fffffffd4b0>, event@entry=<Fehler beim Lesen der Variable: Cannot access memory at address 0x7fffffffd560>, 
    alienWidget=<Fehler beim Lesen der Variable: Cannot access memory at address 0x7fffffffd4a8>, alienWidget@entry=<Fehler beim Lesen der Variable: Cannot access memory at address 0x7fffffffd560>, 
    nativeWidget=<Fehler beim Lesen der Variable: Cannot access memory at address 0x7fffffffd4b8>, nativeWidget@entry=<Fehler beim Lesen der Variable: Cannot access memory at address 0x7fffffffd580>, buttonDown=buttonDown@entry=0x7ffff74ff318 <qt_button_down>, 
    lastMouseReceiver=<Fehler beim Lesen der Variable: Cannot access memory at address 0x7fffffffd4e0>, spontaneous=<Fehler beim Lesen der Variable: Cannot access memory at address 0x7fffffffd590>) at kernel/qapplication.cpp:3178
#16 0x00007ffff6a589bb in QETWidget::translateMouseEvent (this=<Fehler beim Lesen der Variable: Cannot access memory at address 0x7fffffffd580>, this@entry=<Fehler beim Lesen der Variable: Cannot access memory at address 0x7fffffffd788>, 
    event=<Fehler beim Lesen der Variable: Cannot access memory at address 0x7fffffffd778>) at kernel/qapplication_x11.cpp:4632
#17 0x00007ffff6a58223 in QApplication::x11ProcessEvent (this=<Fehler beim Lesen der Variable: Cannot access memory at address 0x7fffffffd7a0>, event=<Fehler beim Lesen der Variable: Cannot access memory at address 0x7fffffffd778>, 
    event@entry=<Fehler beim Lesen der Variable: Cannot access memory at address 0x7fffffffd970>) at kernel/qapplication_x11.cpp:3626
#18 0x00007ffff6a81b52 in x11EventSourceDispatch (s=<Fehler beim Lesen der Variable: Cannot access memory at address 0x7fffffffd948>, callback=<Fehler beim Lesen der Variable: Cannot access memory at address 0x7fffffffd990>, 
    user_data=<Fehler beim Lesen der Variable: Cannot access memory at address 0x7fffffffd998>) at kernel/qguieventdispatcher_glib.cpp:146
#19 0x00007ffff27e6ff7 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#20 0x00007ffff27e7250 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#21 0x00007ffff27e72fc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#22 0x00007ffff5ff81ee in QEventDispatcherGlib::processEvents (this=<Fehler beim Lesen der Variable: Cannot access memory at address 0x7fffffffdc48>, flags=<Fehler beim Lesen der Variable: Cannot access memory at address 0x7fffffffdc50>)
    at kernel/qeventdispatcher_glib.cpp:450
#23 0x00007ffff6a81c26 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#24 0x00007ffff5fc60d1 in QEventLoop::processEvents (this=<Fehler beim Lesen der Variable: Cannot access memory at address 0x7fffffffdd10>, flags=<Fehler beim Lesen der Variable: Cannot access memory at address 0x7fffffffdce0>) at kernel/qeventloop.cpp:149
---Type <return> to continue, or q <return> to quit---
#25 0x00007ffff5fc6445 in QEventLoop::exec (this=<Fehler beim Lesen der Variable: Cannot access memory at address 0x7fffffffdd10>, this@entry=<Fehler beim Lesen der Variable: Cannot access memory at address 0x7fffffffdd58>, 
    flags=<Fehler beim Lesen der Variable: Cannot access memory at address 0x7fffffffdc98>) at kernel/qeventloop.cpp:204
#26 0x00007ffff5fcc429 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1227
#27 0x00007ffff7bd73f5 in kdemain () from /usr/lib/kde4/libkdeinit/libkdeinit4_calligrawords.so
#28 0x00007ffff782aa40 in __libc_start_main (main=<Fehler beim Lesen der Variable: Cannot access memory at address 0x7fffffffde88>, argc=<Fehler beim Lesen der Variable: Cannot access memory at address 0x7fffffffde84>, 
    argv=<Fehler beim Lesen der Variable: Cannot access memory at address 0x7fffffffde78>, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=<Fehler beim Lesen der Variable: Cannot access memory at address 0x7fffffffdf30>)
    at libc-start.c:289
#29 0x0000000000400719 in _start ()


Reproducible: Always
Comment 1 Martin Tlustos 2016-01-25 10:02:42 UTC
Created attachment 96827 [details]
Testcase
Comment 2 Martin Tlustos 2018-10-08 08:34:45 UTC
Works in current version (although layout is still messed up, but that's another questions). Closing