View Issue Details

IDProjectCategoryView StatusLast Update
0014770ScribusUndo/Redopublic2018-04-30 13:28
ReporterPeterBenedek Assigned To 
PrioritynormalSeveritycrashReproducibilityalways
Status confirmedResolutionopen 
Product Version1.5.3.svn 
Target Version1.5.5Fixed in Version 
Summary0014770: Scribus crashes when undoing last Paragraph deletion in Story Editor
DescriptionScribus crashes when undoing last Paragraph deletion in Story Editor.
Crash is not reproducible if the same steps are repeated not using the Story Editor.
Steps To Reproduce0) Create a new document
1) Insert a Text Frame
2) Write two Paragraphs inside the Text Frame, for example:
      AAAAAAA
      BBBBBBB

3) Open the Story Editor to edit the Text Frame
4) Delete the last Paragraph, the result is something like this:
      AAAAAAABBBBBBB

Scribus crashes due to signal 6.
Additional Information(gdb) bt
#0 0x00007ffff287f428 in __GI_raise (sig=sig@entry=6)
    at ../sysdeps/unix/sysv/linux/raise.c:54
0000001 0x00007ffff288102a in __GI_abort () at abort.c:89
0000002 0x00007ffff2877bd7 in __assert_fail_base (fmt=<optimized out>,
    assertion=assertion@entry=0x55555695755a "pos + signed(len) <= length()",
    file=file@entry=0x5555569574b8 "/build/scribus-trunk-v3bukZ/scribus-trunk-1.5.3svn~r21977~20170422~ppa66~ubuntu16.04.1/scribus/text/storytext.cpp",
    line=line@entry=1753,
    function=function@entry=0x555556957fc0 "void StoryText::select(int, uint, bool)") at assert.c:92
0000003 0x00007ffff2877c82 in __GI___assert_fail (
    assertion=0x55555695755a "pos + signed(len) <= length()",
    file=0x5555569574b8 "/build/scribus-trunk-v3bukZ/scribus-trunk-1.5.3svn~r21977~20170422~ppa66~ubuntu16.04.1/scribus/text/storytext.cpp", line=1753,
    function=0x555556957fc0 "void StoryText::select(int, uint, bool)")
    at assert.c:101
0000004 0x0000555556634884 in StoryText::select(int, unsigned int, bool) ()
0000005 0x0000555555cbd12b in PageItem::restoreInsertFrameText(SimpleState*, bool)
    ()
0000006 0x0000555555cacc0e in PageItem::restore(UndoState*, bool) ()
0000007 0x000055555613ed82 in UndoState::undo() ()
0000008 0x000055555613d697 in UndoStack::undo(unsigned int, int) ()
0000009 0x000055555612e587 in UndoManager::undo(int) ()
0000010 0x0000555555a723d8 in ?? ()
0000011 0x00007ffff3768d2a in QMetaObject::activate(QObject*, int, int, void**) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
0000012 0x0000555555a7212b in UndoPalette::undo(int) ()
0000013 0x000055555612a388 in UndoPalette::undoListClicked(int) ()
0000014 0x0000555555a71ced in ?? ()
0000015 0x00007ffff3768d2a in QMetaObject::activate(QObject*, int, int, void**) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
0000016 0x00007ffff42e9861 in QListWidget::currentRowChanged(int) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
0000017 0x00007ffff42ea3e0 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
0000018 0x00007ffff3768d2a in QMetaObject::activate(QObject*, int, int, void**) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
0000019 0x00007ffff36ead8a in QItemSelectionModel::currentChanged(QModelIndex const&, QModelIndex const&) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
0000020 0x00007ffff36eb010 in QItemSelectionModel::setCurrentIndex(QModelIndex const&, QFlags<QItemSelectionModel::SelectionFlag>) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
0000021 0x00007ffff428cf7c in QAbstractItemView::mousePressEvent(QMouseEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
0000022 0x00007ffff40703cf in QWidget::event(QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
0000023 0x00007ffff416eb4e in QFrame::event(QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
0000024 0x00007ffff42945bb in QAbstractItemView::viewportEvent(QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
0000025 0x00007ffff373a172 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
0000026 0x00007ffff402d03c in QApplicationPrivate::notify_helper(QObject*, QEvent*)
    () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
0000027 0x00007ffff4032c19 in QApplication::notify(QObject*, QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
0000028 0x00007ffff373a38b in QCoreApplication::notifyInternal(QObject*, QEvent*)
    () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
0000029 0x00007ffff4031b32 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
0000030 0x00007ffff408a57b in ?? ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
0000031 0x00007ffff408cb3b in ?? ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
0000032 0x00007ffff402d05c in QApplicationPrivate::notify_helper(QObject*, QEvent*)
    () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
0000033 0x00007ffff4032516 in QApplication::notify(QObject*, QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
0000034 0x00007ffff373a38b in QCoreApplication::notifyInternal(QObject*, QEvent*)
    () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
0000035 0x00007ffff3a7c4e1 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
0000036 0x00007ffff3a7e1a5 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
0000037 0x00007ffff3a61f08 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
0000038 0x00007fffe7236060 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
0000039 0x00007ffff0353197 in g_main_context_dispatch ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
0000040 0x00007ffff03533f0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
0000041 0x00007ffff035349c in g_main_context_iteration ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
0000042 0x00007ffff37907cf in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
0000043 0x00007ffff3737b4a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
0000044 0x00007ffff373fbec in QCoreApplication::exec() ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
0000045 0x00005555565f7840 in mainApp(int, char**) ()
0000046 0x00005555565f77a9 in main ()
TagsNo tags attached.
PatchNo

Relationships

child of 0012500 acknowledged Metabug: Undo/Redo (1.5.x.svn) 

Activities

PeterBenedek

2017-04-23 19:56

developer  

EditedText_and_Undo.gif (803,134 bytes)
EditedText_and_Undo.gif (803,134 bytes)

FirasH

2017-04-24 00:14

developer   ~0043831

Confirmed with 1.5.3.svn (21924).

cbradney

2017-04-24 05:35

administrator   ~0043832

Occurs with r21930 already so we need to go back or not try to find a commit that did this.. just fix.

cbradney

2017-04-24 05:41

administrator   ~0043833

Also in 21830

PeterBenedek

2017-04-24 05:50

developer   ~0043834

Last edited: 2017-04-24 06:24

View 4 revisions

Also in r20624 (Scribus 1.5.1)

PeterBenedek

2017-04-24 06:24

developer   ~0043835

Retest:

Scribus 1.4.x --> Works well
Scribus 1.5.0 --> Works well (source: https://sourceforge.net/projects/scribus/files/scribus-devel/)
Scribus 1.5.1 --> Crash (source: https://sourceforge.net/projects/scribus/files/scribus-devel/)

jghali

2017-04-24 10:34

administrator   ~0043836

Last edited: 2017-04-24 10:34

View 2 revisions

The fact that Scribus 1.4.x does not crash looks like sheer luck: when one click in history palette after editing text in story editor, the story editor does not notice the loss of focus like in 1.5.1+, hence does not update text in frame, hence no crash.

Issue History

Date Modified Username Field Change
2017-04-23 19:56 PeterBenedek New Issue
2017-04-23 19:56 PeterBenedek File Added: EditedText_and_Undo.gif
2017-04-24 00:14 FirasH Status new => confirmed
2017-04-24 00:14 FirasH Note Added: 0043831
2017-04-24 00:14 FirasH Relationship added child of 0012500
2017-04-24 05:35 cbradney Note Added: 0043832
2017-04-24 05:41 cbradney Note Added: 0043833
2017-04-24 05:50 PeterBenedek Note Added: 0043834
2017-04-24 05:53 PeterBenedek Note Edited: 0043834 View Revisions
2017-04-24 06:19 PeterBenedek Note Edited: 0043834 View Revisions
2017-04-24 06:24 PeterBenedek Note Edited: 0043834 View Revisions
2017-04-24 06:24 PeterBenedek Note Added: 0043835
2017-04-24 10:34 jghali Note Added: 0043836
2017-04-24 10:34 jghali Note Edited: 0043836 View Revisions
2017-05-14 20:16 cbradney Target Version => 1.5.4
2017-06-18 09:09 FirasH OS Linux Mint =>
2017-06-18 09:09 FirasH OS Version 18 (64bit) =>
2017-06-18 09:09 FirasH Platform x64 =>
2017-06-18 09:09 FirasH Summary Scribus crash if open the story editor and you click on the Undo => Scribus crashes when undoing last Paragraph deletion in Story Editor
2017-06-18 09:09 FirasH Description Updated View Revisions
2017-06-18 09:09 FirasH Steps to Reproduce Updated View Revisions
2018-04-30 13:28 jghali Target Version 1.5.4 => 1.5.5