View Issue Details

IDProjectCategoryView StatusLast Update
0015080ScribusStory Editor / Text Framespublic2019-06-04 20:56
ReporterJLuc Assigned Tojghali  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
PlatformLinuxOSUbuntuOS Version17.10
Product Version1.5.4.svn 
Fixed in Version1.5.4.svn 
Summary0015080: Crashes when editing document
DescriptionLoads of crashes with today scribus (r22271) when last wednesday scribus (r22266) was fine.

I first had « Scribus crashes when linking frame. » : I open a document, duplicate a text frames 3 times, empties the new frames, link first frame to 2nd : crash.
It produces gdb bt 1) (see attached document in later comment). I reproduce with same complex document, but can't reproduce on simpler document.

Then i continued editing the document and had many other crashes. One when deleting a text frame. Another one when pasting a bit of text in an empty text frame. This one produces gdb bt 2). Undoing a "Link text frames" action crashes also and produces gdb bt 3)... and more.

In a later comment i upload a sample simple SLA with gdb bt : crashes when Undoing Link action.
Tagscrash
PatchNo

Relationships

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

Activities

jghali

2017-12-25 11:54

administrator   ~0044776

Unable to reproduce. Please upload all necessary elements so we can reproduce the issue.

JLuc

2017-12-25 12:03

developer   ~0044777

AMOF I have many other crashes so changed the title and provided gdb bt for other usecase crash

JLuc

2017-12-25 12:26

developer   ~0044778

Last edited: 2017-12-26 09:42

4) Here is a simplified `crashprone.sla` document that produces a crash :
- Link frame 1 (top of page 1) with text frame at bottom of page 1
- Undo

It crashes and produces following bt 4).
Undoing links usualy doesnt crash. So it might be the same cause for all todays version crashes.

```
[Thread 0x7fff93fff700 (LWP 18385) exited]
ASSERT: "len>=0" in file /build/scribus-trunk-P6pmTQ/scribus-trunk-1.5.3svn~r22271~20171225~ppa71~ubuntu17.10.1/scribus/text/storytext.cpp, line 1778
scribus-trunk: /build/scribus-trunk-P6pmTQ/scribus-trunk-1.5.3svn~r22271~20171225~ppa71~ubuntu17.10.1/scribus/scribuscore.cpp :89 : void abort_on_error(QtMsgType, const QMessageLogContext&, const QString&): l'assertion « false » a échoué.

Thread 1 "scribus-trunk" received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
51 ../sysdeps/unix/sysv/linux/raise.c: Aucun fichier ou dossier de ce type.
(gdb) bt
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
0000001 0x00007ffff1725f5d in __GI_abort () at abort.c:90
0000002 0x00007ffff171bf17 in __assert_fail_base (fmt=<optimized out>, assertion=assertion@entry=0x5555569645ff "false", file=file@entry=0x555556964590 "/build/scribus-trunk-P6pmTQ/scribus-trunk-1.5.3svn~r22271~20171225~ppa71~ubuntu17.10.1/scribus/scribuscore.cpp",
    line=line@entry=89, function=function@entry=0x555556964940 "void abort_on_error(QtMsgType, const QMessageLogContext&, const QString&)") at assert.c:92
0000003 0x00007ffff171bfc2 in __GI___assert_fail (assertion=0x5555569645ff "false", file=0x555556964590 "/build/scribus-trunk-P6pmTQ/scribus-trunk-1.5.3svn~r22271~20171225~ppa71~ubuntu17.10.1/scribus/scribuscore.cpp", line=89,
    function=0x555556964940 "void abort_on_error(QtMsgType, const QMessageLogContext&, const QString&)") at assert.c:101
0000004 0x0000555556106ad0 in ?? ()
0000005 0x00007ffff24555c7 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
0000006 0x00007ffff24570ee in QMessageLogger::fatal(char const*, ...) const () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
0000007 0x00007ffff2452357 in qt_assert(char const*, char const*, int) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
0000008 0x0000555556794d33 in StoryText::select(int, int, bool) ()
0000009 0x0000555555ddc44d in PageItem::restoreLinkTextFrame(UndoState*, bool) ()
0000010 0x0000555555dc9027 in PageItem::restore(UndoState*, bool) ()
0000011 0x000055555623ed4a in UndoState::undo() ()
0000012 0x000055555623cfc6 in UndoStack::undo(unsigned int, int) ()
0000013 0x000055555622f901 in UndoManager::undo(int) ()
0000014 0x0000555555b9ce6c in ?? ()
0000015 0x00007ffff26788e5 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
0000016 0x0000555555b90cdf in ScrAction::triggeredData(int) ()
0000017 0x000055555609582c in ScrAction::triggeredToTriggeredData() ()
0000018 0x0000555555b90671 in ?? ()
0000019 0x00007ffff26788e5 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
0000020 0x00007ffff33bdd82 in QAction::triggered(bool) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
0000021 0x00007ffff33c046c in QAction::activate(QAction::ActionEvent) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
0000022 0x00007ffff33c0d15 in QAction::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
0000023 0x00007ffff33c446c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
0000024 0x00007ffff33cbd34 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
0000025 0x00007ffff2649de8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
0000026 0x00007ffff2c36d77 in QShortcutMap::dispatchEvent(QKeyEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
0000027 0x00007ffff2c36e4a in QShortcutMap::tryShortcut(QKeyEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
0000028 0x00007ffff2be6473 in QWindowSystemInterface::handleShortcutEvent(QWindow*, unsigned long, int, QFlags<Qt::KeyboardModifier>, unsigned int, unsigned int, unsigned int, QString const&, bool, unsigned short) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
0000029 0x00007ffff2c059b7 in QGuiApplicationPrivate::processKeyEvent(QWindowSystemInterfacePrivate::KeyEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
0000030 0x00007ffff2c0aa05 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
0000031 0x00007ffff2be2cab in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
0000032 0x00007fffe57185a0 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
0000033 0x00007fffef39ffb7 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
0000034 0x00007fffef3a01f0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
0000035 0x00007fffef3a027c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
0000036 0x00007ffff26a247f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
0000037 0x00007ffff2647e3a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
0000038 0x00007ffff2650da4 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
0000039 0x0000555556758123 in mainApp(int, char**) ()
0000040 0x000055555675807d in main ()
(gdb)
```

crashprone.sla (50,035 bytes)

JLuc

2017-12-25 12:34

developer   ~0044779

Here are the other gdb bts that are mentionned in report (uysing more complex sla document)
bt1 (4,086 bytes)   
gdb bt 1)

```
QPixmap::scaled: Pixmap is a null pixmap
QPainter::begin: Paint device returned engine == 0, type: 2
QPixmap::scaled: Pixmap is a null pixmap
QPainter::end: Painter not active, aborted
pathForIcon: Unable to load icon /usr/share/scribus-trunk/icons/1_5_1/LinkTextFrame.png: File not found
QPixmap::scaled: Pixmap is a null pixmap

Thread 1 "scribus-trunk" received signal SIGSEGV, Segmentation fault.
0x0000000000000000 in ?? ()
(gdb) bt
(gdb) bt
#0  0x0000000000000000 in ?? ()
#1  0x00005555567b29ea in BaseStyle::parentStyle() const ()
#2  0x00005555567c107f in ParagraphStyle::operator=(ParagraphStyle const&) ()
#3  0x0000555555c2ed45 in AppModeHelper::enableActionsForSelection(ScribusMainWindow*, ScribusDoc*) ()
#4  0x00005555560b878f in ScribusMainWindow::HaveNewSel() ()
#5  0x0000555555b927e3 in ?? ()
#6  0x00007ffff26788e5 in QMetaObject::activate(QObject*, int, int, void**) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x0000555555b87bd9 in PageItem::frameType(int) ()
#8  0x0000555555df3bcd in PageItem::emitAllToGUI() ()
#9  0x00005555561cccea in Selection::connectItemToGUI() ()
#10 0x00005555561ce85c in Selection::sendSignals(bool) ()
#11 0x00005555561ce80f in Selection::delaySignalsOff() ()
#12 0x0000555555c91b56 in CanvasMode_FrameLinks::mousePressEvent(QMouseEvent*) ()
#13 0x00005555561c34dd in ScribusView::eventFilter(QObject*, QEvent*) ()
#14 0x00007ffff2649acc in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#15 0x00007ffff33c4445 in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#16 0x00007ffff33cc28f in QApplication::notify(QObject*, QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#17 0x00007ffff2649de8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#18 0x00007ffff33cb262 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#19 0x00007ffff341f94b in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#20 0x00007ffff3421fba in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#21 0x00007ffff33c446c in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#22 0x00007ffff33cbd34 in QApplication::notify(QObject*, QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#23 0x00007ffff2649de8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#24 0x00007ffff2c08f43 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*)
    () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#25 0x00007ffff2c0aa25 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#26 0x00007ffff2be2cab in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>)
    () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#27 0x00007fffe57185a0 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#28 0x00007fffef39ffb7 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#29 0x00007fffef3a01f0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#30 0x00007fffef3a027c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#31 0x00007ffff26a247f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#32 0x00007ffff2647e3a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#33 0x00007ffff2650da4 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
---Type <return> to continue, or q <return> to quit---
#34 0x0000555556758123 in mainApp(int, char**) ()
#35 0x000055555675807d in main ()
(gdb) 
```

bt1 (4,086 bytes)   
bt2 (4,830 bytes)   
gdb bt 2)

```
QPainter::end: Painter not active, aborted
[Thread 0x7fffb3406700 (LWP 17429) exited]
ASSERT: "len>=0" in file /build/scribus-trunk-P6pmTQ/scribus-trunk-1.5.3svn~r22271~20171225~ppa71~ubuntu17.10.1/scribus/text/storytext.cpp, line 1778
scribus-trunk: /build/scribus-trunk-P6pmTQ/scribus-trunk-1.5.3svn~r22271~20171225~ppa71~ubuntu17.10.1/scribus/scribuscore.cpp :89 : void abort_on_error(QtMsgType, const QMessageLogContext&, const QString&):  l'assertion « false » a échoué.

Thread 1 "scribus-trunk" received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
51	../sysdeps/unix/sysv/linux/raise.c: Aucun fichier ou dossier de ce type.
(gdb) bt
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1  0x00007ffff1725f5d in __GI_abort () at abort.c:90
#2  0x00007ffff171bf17 in __assert_fail_base (fmt=<optimized out>, assertion=assertion@entry=0x5555569645ff "false", file=file@entry=0x555556964590 "/build/scribus-trunk-P6pmTQ/scribus-trunk-1.5.3svn~r22271~20171225~ppa71~ubuntu17.10.1/scribus/scribuscore.cpp", 
    line=line@entry=89, function=function@entry=0x555556964940 "void abort_on_error(QtMsgType, const QMessageLogContext&, const QString&)") at assert.c:92
#3  0x00007ffff171bfc2 in __GI___assert_fail (assertion=0x5555569645ff "false", file=0x555556964590 "/build/scribus-trunk-P6pmTQ/scribus-trunk-1.5.3svn~r22271~20171225~ppa71~ubuntu17.10.1/scribus/scribuscore.cpp", line=89, 
    function=0x555556964940 "void abort_on_error(QtMsgType, const QMessageLogContext&, const QString&)") at assert.c:101
#4  0x0000555556106ad0 in ?? ()
#5  0x00007ffff24555c7 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007ffff24570ee in QMessageLogger::fatal(char const*, ...) const () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007ffff2452357 in qt_assert(char const*, char const*, int) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x0000555556794d33 in StoryText::select(int, int, bool) ()
#9  0x0000555556794c9f in StoryText::selectWord(int) ()
#10 0x0000555555c974f9 in CanvasMode_Edit::mouseDoubleClickEvent(QMouseEvent*) ()
#11 0x00005555561c36ba in ScribusView::eventFilter(QObject*, QEvent*) ()
#12 0x00007ffff2649acc in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#13 0x00007ffff33c4445 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#14 0x00007ffff33cc28f in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#15 0x00007ffff2649de8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#16 0x00007ffff33cb262 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#17 0x00007ffff341f94b in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#18 0x00007ffff3421fba in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#19 0x00007ffff33c446c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#20 0x00007ffff33cbd34 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#21 0x00007ffff2649de8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#22 0x00007ffff2c090e0 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#23 0x00007ffff2c0aa25 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#24 0x00007ffff2be2cab in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#25 0x00007fffe57185a0 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#26 0x00007fffef39ffb7 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#27 0x00007fffef3a01f0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#28 0x00007fffef3a027c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#29 0x00007ffff26a247f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#30 0x00007ffff2647e3a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#31 0x00007ffff2650da4 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#32 0x0000555556758123 in mainApp(int, char**) ()
#33 0x000055555675807d in main ()
(gdb) 
```
bt2 (4,830 bytes)   
bt3 (4,586 bytes)   
gdb bt 3)

```
(gdb) 
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1  0x00007ffff1725f5d in __GI_abort () at abort.c:90
#2  0x00007ffff171bf17 in __assert_fail_base (fmt=<optimized out>, assertion=assertion@entry=0x5555569645ff "false", file=file@entry=0x555556964590 "/build/scribus-trunk-P6pmTQ/scribus-trunk-1.5.3svn~r22271~20171225~ppa71~ubuntu17.10.1/scribus/scribuscore.cpp", 
    line=line@entry=89, function=function@entry=0x555556964940 "void abort_on_error(QtMsgType, const QMessageLogContext&, const QString&)") at assert.c:92
#3  0x00007ffff171bfc2 in __GI___assert_fail (assertion=0x5555569645ff "false", file=0x555556964590 "/build/scribus-trunk-P6pmTQ/scribus-trunk-1.5.3svn~r22271~20171225~ppa71~ubuntu17.10.1/scribus/scribuscore.cpp", line=89, 
    function=0x555556964940 "void abort_on_error(QtMsgType, const QMessageLogContext&, const QString&)") at assert.c:101
#4  0x0000555556106ad0 in ?? ()
#5  0x00007ffff24555c7 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007ffff24570ee in QMessageLogger::fatal(char const*, ...) const () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007ffff2452357 in qt_assert(char const*, char const*, int) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x0000555556794d33 in StoryText::select(int, int, bool) ()
#9  0x0000555555ddc44d in PageItem::restoreLinkTextFrame(UndoState*, bool) ()
#10 0x0000555555dc9027 in PageItem::restore(UndoState*, bool) ()
#11 0x000055555623ed4a in UndoState::undo() ()
#12 0x000055555623cfc6 in UndoStack::undo(unsigned int, int) ()
#13 0x000055555622f901 in UndoManager::undo(int) ()
#14 0x0000555555b9ce6c in ?? ()
#15 0x00007ffff26788e5 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#16 0x0000555555b90cdf in ScrAction::triggeredData(int) ()
#17 0x000055555609582c in ScrAction::triggeredToTriggeredData() ()
#18 0x0000555555b90671 in ?? ()
#19 0x00007ffff26788e5 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#20 0x00007ffff33bdd82 in QAction::triggered(bool) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#21 0x00007ffff33c046c in QAction::activate(QAction::ActionEvent) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#22 0x00007ffff33c0d15 in QAction::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#23 0x00007ffff33c446c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#24 0x00007ffff33cbd34 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#25 0x00007ffff2649de8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#26 0x00007ffff2c36d77 in QShortcutMap::dispatchEvent(QKeyEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#27 0x00007ffff2c36e4a in QShortcutMap::tryShortcut(QKeyEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#28 0x00007ffff2be6473 in QWindowSystemInterface::handleShortcutEvent(QWindow*, unsigned long, int, QFlags<Qt::KeyboardModifier>, unsigned int, unsigned int, unsigned int, QString const&, bool, unsigned short) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#29 0x00007ffff2c059b7 in QGuiApplicationPrivate::processKeyEvent(QWindowSystemInterfacePrivate::KeyEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#30 0x00007ffff2c0aa05 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#31 0x00007ffff2be2cab in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#32 0x00007fffe57185a0 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#33 0x00007fffef39ffb7 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#34 0x00007fffef3a01f0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#35 0x00007fffef3a027c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#36 0x00007ffff26a247f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#37 0x00007ffff2647e3a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#38 0x00007ffff2650da4 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#39 0x0000555556758123 in mainApp(int, char**) ()
#40 0x000055555675807d in main ()

```
bt3 (4,586 bytes)   

jghali

2017-12-26 02:33

administrator   ~0044780

I fixed the crashes corresponding to bt2 and bt3. I'm still unable to reproduce bt1.

JLuc

2017-12-26 12:05

developer   ~0044781

Neither can i reproduce bt1 on a simple doc.

How about bt4 with crashprone.sla ?

PeterBenedek

2017-12-27 07:59

developer   ~0044783

Last edited: 2017-12-27 08:07

Tested Linux Mint 18.3; r22279

bt4 crash: I can reproduce.
bt1: I don't understand what to do. :-(


(gdb) bt
#0 0x0000003e00000001 in ()
0000001 0x0000555556665202 in BaseStyle::parentStyle() const ()
0000002 0x0000555556675070 in ParagraphStyle::operator=(ParagraphStyle const&) ()
0000003 0x0000555555b0daf2 in AppModeHelper::enableActionsForSelection(ScribusMainWindow*, ScribusDoc*) ()
0000004 0x0000555555fbc7dd in ScribusMainWindow::HaveNewSel() ()
0000005 0x0000555555a6ddeb in ()
0000006 0x00007ffff3766d2a in QMetaObject::activate(QObject*, int, int, void**) ()
    at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
0000007 0x0000555555a62d09 in PageItem::frameType(int) ()
0000008 0x0000555555ce16d9 in PageItem::emitAllToGUI() ()
0000009 0x00005555560d9bae in Selection::connectItemToGUI() ()
0000010 0x00005555560db77e in Selection::sendSignals(bool) ()
0000011 0x00005555560db731 in Selection::delaySignalsOff() ()
0000012 0x0000555555b71c6d in CanvasMode_FrameLinks::mousePressEvent(QMouseEvent*) ()
0000013 0x00005555560d01aa in ScribusView::eventFilter(QObject*, QEvent*) ()
0000014 0x00007ffff3738172 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) ()
    at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
0000015 0x00007ffff402b03c in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
    at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
0000016 0x00007ffff4030c19 in QApplication::notify(QObject*, QEvent*) ()
    at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
0000017 0x00007ffff373838b in QCoreApplication::notifyInternal(QObject*, QEvent*) ()
    at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
0000018 0x00007ffff402fb32 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
0000019 0x00007ffff40885bb in () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
0000020 0x00007ffff408ab7b in () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
0000021 0x00007ffff402b05c in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
    at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
0000022 0x00007ffff4030516 in QApplication::notify(QObject*, QEvent*) ()
    at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
---Type <return> to continue, or q <return> to quit---
0000023 0x00007ffff373838b in QCoreApplication::notifyInternal(QObject*, QEvent*) ()
    at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
0000024 0x00007ffff3a7a4e1 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
0000025 0x00007ffff3a7c1a5 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
0000026 0x00007ffff3a5ff08 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
0000027 0x00007fffe68c0200 in () at /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
0000028 0x00007ffff0350197 in g_main_context_dispatch (context=0x7fffdc0016f0)
    at /build/glib2.0-prJhLS/glib2.0-2.48.2/./glib/gmain.c:3154
0000029 0x00007ffff0350197 in g_main_context_dispatch (context=context@entry=0x7fffdc0016f0)
    at /build/glib2.0-prJhLS/glib2.0-2.48.2/./glib/gmain.c:3769
0000030 0x00007ffff03503f0 in g_main_context_iterate (context=context@entry=0x7fffdc0016f0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/glib2.0-prJhLS/glib2.0-2.48.2/./glib/gmain.c:3840
0000031 0x00007ffff035049c in g_main_context_iteration (context=0x7fffdc0016f0, may_block=1)
    at /build/glib2.0-prJhLS/glib2.0-2.48.2/./glib/gmain.c:3901
0000032 0x00007ffff378e7cf in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
    at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
0000033 0x00007ffff3735b4a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
    at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
0000034 0x00007ffff373dbec in QCoreApplication::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
0000035 0x0000555556608f60 in mainApp(int, char**) ()
0000036 0x0000555556608ec9 in main ()

bt4_crash.gif (229,726 bytes)   
bt4_crash.gif (229,726 bytes)   

JLuc

2017-12-27 09:51

developer   ~0044784

I dont reproduce bt4 anymore with version 22279.

As for PeterB's new report, the action flow is different and more complex.
Let's call it "bt4bis".
As shown in gif, the reproducing steps are :
- Link frame 2 to f3
- Link frame 3 to f1. This forces f1 at the end of the link chain. The content of f1 feeds the chain and moves to f2 = begining of the chain. That's OK and the way it should be (allthough a bit surprising).
- Undo. The content of the chain is duplicated in both F1=original container and F2=begining of the chain. That is a bug since it should revert to previous state (F1 only). That is a special Undo issue.
From now on there is no more logic since the inner state is buggy.
- Undo again. the content of the chain moves to f3. Delete it. Relink. Crash and bt4bis.

PeterBenedek

2017-12-27 10:58

developer   ~0044785

Then, that's new event?
undo_crash.gif (209,546 bytes)   
undo_crash.gif (209,546 bytes)   

jghali

2017-12-28 00:51

administrator   ~0044789

With r22284 and r22285, I expect bt1 and bt4bis to be fixed.

PeterBenedek

2017-12-29 07:31

developer   ~0044794

Last edited: 2018-04-21 08:13

Tested r22290

bt4bis : I cannot reproduce anymore. Works fine.

Issue History

Date Modified Username Field Change
2017-12-25 11:43 JLuc New Issue
2017-12-25 11:43 JLuc Tag Attached: crash
2017-12-25 11:54 jghali Note Added: 0044776
2017-12-25 12:02 JLuc Summary Crash when linking text frames => Crash when editing document
2017-12-25 12:02 JLuc Description Updated
2017-12-25 12:03 JLuc Note Added: 0044777
2017-12-25 12:05 JLuc Summary Crash when editing document => Crash when editing document using scribus from PPA (22271)
2017-12-25 12:05 JLuc Description Updated
2017-12-25 12:17 JLuc Description Updated
2017-12-25 12:26 JLuc File Added: crashprone.sla
2017-12-25 12:26 JLuc Note Added: 0044778
2017-12-25 12:29 JLuc Description Updated
2017-12-25 12:34 JLuc File Added: bt1
2017-12-25 12:34 JLuc File Added: bt2
2017-12-25 12:34 JLuc File Added: bt3
2017-12-25 12:34 JLuc Note Added: 0044779
2017-12-25 12:35 JLuc Description Updated
2017-12-25 12:45 JLuc Note Edited: 0044778
2017-12-25 23:31 JLuc Summary Crash when editing document using scribus from PPA (22271) => Crashes when editing document with scribus 154 svn 22271 (from PPA)
2017-12-25 23:31 JLuc Description Updated
2017-12-25 23:33 JLuc Description Updated
2017-12-25 23:37 JLuc Description Updated
2017-12-26 02:33 jghali Note Added: 0044780
2017-12-26 09:42 JLuc Note Edited: 0044778
2017-12-26 11:36 JLuc Description Updated
2017-12-26 11:36 JLuc Description Updated
2017-12-26 12:05 JLuc Note Added: 0044781
2017-12-27 07:59 PeterBenedek File Added: bt4_crash.gif
2017-12-27 07:59 PeterBenedek Note Added: 0044783
2017-12-27 08:00 PeterBenedek Note Edited: 0044783
2017-12-27 08:07 PeterBenedek Note Edited: 0044783
2017-12-27 09:51 JLuc Note Added: 0044784
2017-12-27 10:58 PeterBenedek File Added: undo_crash.gif
2017-12-27 10:58 PeterBenedek Note Added: 0044785
2017-12-27 12:05 JLuc Relationship added related to 0015081
2017-12-27 12:06 JLuc Relationship added child of 0012500
2017-12-27 12:07 JLuc Status new => confirmed
2017-12-27 12:48 jghali Relationship deleted related to 0015081
2017-12-28 00:51 jghali Note Added: 0044789
2017-12-28 15:03 jghali Summary Crashes when editing document with scribus 154 svn 22271 (from PPA) => Crashes when editing document
2017-12-28 16:02 jghali Assigned To => jghali
2017-12-28 16:02 jghali Status confirmed => resolved
2017-12-28 16:02 jghali Resolution open => fixed
2017-12-28 16:02 jghali Fixed in Version => 1.5.4.svn
2017-12-29 07:31 PeterBenedek Note Added: 0044794
2018-04-21 08:13 PeterBenedek Note Edited: 0044794
2019-06-04 20:56 cbradney Status resolved => closed