View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0012358 | Scribus | Undo/Redo | public | 2014-06-09 13:55 | 2014-06-14 06:39 |
Reporter | FirasH | Assigned To | jghali | ||
Priority | normal | Severity | crash | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Platform | x86_64 | OS | openSUSE | OS Version | 13.1 |
Product Version | 1.5.0svn | ||||
Fixed in Version | 1.5.0svn | ||||
Summary | 0012358: Undo/Redo crashes Scribus restoring a Group + Item | ||||
Description | Undo/Redo crashes Scribus restoring a Group + Item. | ||||
Steps To Reproduce | 0) Create a new document 1) Insert 2 items 2) Insert another item 3) Group the items added in Step 1 4) Move the Group 5) Select the Group and the item added in Step 2 6) Delete the selected items 7) Undo 3 times Scribus crashes due to Signal 11 | ||||
Additional Information | Scribus 1.5.0 SVN (19191) Screencast: https://www.dropbox.com/s/34ucct9pv4bbxg0/12358.mp4 Backtrace: Program received signal SIGSEGV, Segmentation fault. 0x0000000000000030 in ?? () (gdb) bt #0 0x0000000000000030 in ?? () 0000001 0x00000000010d91e3 in PropertiesPalette_Shape::enableEditShape (this=0x26a27b0) at /home/.../Scribus/scribus/ui/propertiespalette_shape.cpp:210 0000002 0x00000000010d92fe in PropertiesPalette_Shape::handleSelectionChanged (this=0x26a27b0) at /home/.../Scribus/scribus/ui/propertiespalette_shape.cpp:232 0000003 0x00000000007bc083 in PropertiesPalette_Shape::qt_static_metacall (_o=0x26a27b0, _c=QMetaObject::InvokeMetaMethod, _id=5, _a=0x7fffffff9f80) at /home/.../Scribus/build/scribus/ui/moc_propertiespalette_shape.cpp:128 0000004 0x00007ffff768a681 in QMetaObject::activate(QObject*, int, int, void**) () from /home/.../Qt/5.3/gcc_64/lib/libQt5Core.so.5 0000005 0x0000000000793f5d in ScribusDoc::docChanged (this=0x33ec4d0) at /home/.../Scribus/build/scribus/moc_scribusdoc.cpp:1057 0000006 0x0000000000d62fb7 in ScribusDoc::itemSelection_UnGroupObjects (this=0x33ec4d0, customSelection=0x7fffffffa200) at /home/.../Scribus/scribus/scribusdoc.cpp:15546 0000007 0x0000000000d0c40c in ScribusDoc::restoreGrouping (this=0x33ec4d0, state=0x3448ce0, isUndo=true) at /home/.../Scribus/scribus/scribusdoc.cpp:2362 0000008 0x0000000000d01aab in ScribusDoc::restore (this=0x33ec4d0, state=0x3448ce0, isUndo=true) at /home/.../Scribus/scribus/scribusdoc.cpp:1742 0000009 0x0000000000de9ff0 in UndoState::undo (this=0x3448ce0) at /home/.../Scribus/scribus/undostate.cpp:73 0000010 0x0000000000dda97e in TransactionState::undo (this=0x3227db0) at /home/.../Scribus/scribus/undomanager.cpp:808 0000011 0x0000000000de912b in UndoStack::undo (this=0x3629a80, steps=1, objectId=-1) at /home/.../Scribus/scribus/undostack.cpp:80 0000012 0x0000000000dd934d in UndoManager::undo (this=0x1edf630, steps=1) at /home/.../Scribus/scribus/undomanager.cpp:553 0000013 0x0000000000799222 in UndoManager::qt_static_metacall (_o=0x1edf630, _c=QMetaObject::InvokeMetaMethod, _id=12, _a=0x7fffffffc200) at /home/.../Scribus/build/scribus/moc_undomanager.cpp:143 0000014 0x00007ffff768a681 in QMetaObject::activate(QObject*, int, int, void**) () from /home/.../Qt/5.3/gcc_64/lib/libQt5Core.so.5 0000015 0x000000000078dfa2 in ScrAction::triggeredData (this=0x258a6f0, _t1=1) at /home/.../Scribus/build/scribus/moc_scraction.cpp:245 0000016 0x0000000000c70734 in ScrAction::triggeredToTriggeredData (this=0x258a6f0) at /home/.../Scribus/scribus/scraction.cpp:100 0000017 0x000000000078dad3 in ScrAction::qt_static_metacall (_o=0x258a6f0, _c=QMetaObject::InvokeMetaMethod, _id=11, _a=0x7fffffffc540) at /home/.../Scribus/build/scribus/moc_scraction.cpp:117 0000018 0x00007ffff768a681 in QMetaObject::activate(QObject*, int, int, void**) () from /home/.../Qt/5.3/gcc_64/lib/libQt5Core.so.5 0000019 0x00007ffff6c825d2 in QAction::triggered(bool) () from /home/.../Qt/5.3/gcc_64/lib/libQt5Widgets.so.5 0000020 0x00007ffff6c84407 in QAction::activate(QAction::ActionEvent) () from /home/.../Qt/5.3/gcc_64/lib/libQt5Widgets.so.5 0000021 0x00007ffff6d8d8b5 in ?? () from /home/.../Qt/5.3/gcc_64/lib/libQt5Widgets.so.5 0000022 0x00007ffff6d8db74 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /home/.../Qt/5.3/gcc_64/lib/libQt5Widgets.so.5 0000023 0x00007ffff6e504ba in QToolButton::mouseReleaseEvent(QMouseEvent*) () from /home/.../Qt/5.3/gcc_64/lib/libQt5Widgets.so.5 0000024 0x00007ffff6cc5a87 in QWidget::event(QEvent*) () from /home/.../Qt/5.3/gcc_64/lib/libQt5Widgets.so.5 0000025 0x00007ffff6e51350 in QToolButton::event(QEvent*) () from /home/.../Qt/5.3/gcc_64/lib/libQt5Widgets.so.5 0000026 0x00007ffff6c8d764 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /home/.../Qt/5.3/gcc_64/lib/libQt5Widgets.so.5 0000027 0x00007ffff6c90bb6 in QApplication::notify(QObject*, QEvent*) () from /home/.../Qt/5.3/gcc_64/lib/libQt5Widgets.so.5 0000028 0x00007ffff7658dd4 in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /home/.../Qt/5.3/gcc_64/lib/libQt5Core.so.5 0000029 0x00007ffff6c8fcca in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /home/.../Qt/5.3/gcc_64/lib/libQt5Widgets.so.5 0000030 0x00007ffff6ce5cb7 in ?? () from /home/.../Qt/5.3/gcc_64/lib/libQt5Widgets.so.5 0000031 0x00007ffff6ce8808 in ?? () from /home/.../Qt/5.3/gcc_64/lib/libQt5Widgets.so.5 0000032 0x00007ffff6c8d764 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /home/.../Qt/5.3/gcc_64/lib/libQt5Widgets.so.5 0000033 0x00007ffff6c90de6 in QApplication::notify(QObject*, QEvent*) () from /home/.../Qt/5.3/gcc_64/lib/libQt5Widgets.so.5 0000034 0x00007ffff7658dd4 in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /home/.../Qt/5.3/gcc_64/lib/libQt5Core.so.5 0000035 0x00007ffff650d457 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /home/.../Qt/5.3/gcc_64/lib/libQt5Gui.so.5 0000036 0x00007ffff650de95 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /home/.../Qt/5.3/gcc_64/lib/libQt5Gui.so.5 0000037 0x00007ffff64f3148 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/.../Qt/5.3/gcc_64/lib/libQt5Gui.so.5 0000038 0x00007fffe5490630 in ?? () from /home/.../Qt/5.3/gcc_64/plugins/platforms/libqxcb.so 0000039 0x00007fffecde1316 in g_main_dispatch (context=0x7fffe0001740) at gmain.c:3066 0000040 g_main_context_dispatch (context=context@entry=0x7fffe0001740) at gmain.c:3642 0000041 0x00007fffecde1668 in g_main_context_iterate (context=context@entry=0x7fffe0001740, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3713 0000042 0x00007fffecde170c in g_main_context_iteration (context=0x7fffe0001740, may_block=1) at gmain.c:3774 0000043 0x00007ffff76b3444 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/.../Qt/5.3/gcc_64/lib/libQt5Core.so.5 0000044 0x00007ffff7656feb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/.../Qt/5.3/gcc_64/lib/libQt5Core.so.5 0000045 0x00007ffff765beb5 in QCoreApplication::exec() () from /home/.../Qt/5.3/gcc_64/lib/libQt5Core.so.5 0000046 0x000000000123c908 in mainApp (argc=1, argv=0x7fffffffdd38) at /home/.../Scribus/scribus/main_nix.cpp:86 0000047 0x000000000123c898 in main (argc=1, argv=0x7fffffffdd38) at /home/.../Scribus/scribus/main_nix.cpp:54 | ||||
Tags | No tags attached. | ||||
Patch | |||||
|
Scribus 1.5.0 SVN (19208): the Undo issue is fixed, but Redo can cause a crash when trying to re-delete Group + item. (randomly reproducible) Screencast: https://www.dropbox.com/s/3x7jcwvb0nznpab/12358%282%29.mp4 Program received signal SIGSEGV, Segmentation fault. 0x00000000008c4bc9 in QString::isEmpty (this=0x2556258) at /home/.../Qt/5.3/gcc_64/include/QtCore/qstring.h:794 794 { return d->size == 0; } (gdb) bt #0 0x00000000008c4bc9 in QString::isEmpty (this=0x2556258) at /home/.../Qt/5.3/gcc_64/include/QtCore/qstring.h:794 0000001 0x0000000000cbd7df in ScPage::restorePageItemDeletion (this=0x2f70020, state= 0x314b530, isUndo=false) at /home/.../Scribus/scribus/scpage.cpp:370 0000002 0x0000000000cbb705 in ScPage::restore (this=0x2f70020, state=0x314b530, isUndo=false) at /home/.../Scribus/scribus/scpage.cpp:214 0000003 0x0000000000e73aa8 in UndoState::redo (this=0x314b530) at /home/.../Scribus/scribus/undostate.cpp:79 0000004 0x0000000000e644ef in TransactionState::redo (this=0x2f5bb40) at /home/.../Scribus/scribus/undomanager.cpp:829 0000005 0x0000000000e72e01 in UndoStack::redo (this=0x315d590, steps=1, objectId=-1) at /home/.../Scribus/scribus/undostack.cpp:121 0000006 0x0000000000e62e6d in UndoManager::redo (this=0x1c5d420, steps=1) at /home/.../Scribus/scribus/undomanager.cpp:567 0000007 0x000000000081bbdf in UndoManager::qt_static_metacall (_o=0x1c5d420, _c=QMetaObject::InvokeMetaMethod, _id=13, _a=0x7fffffffc380) at /home/.../Scribus/build/scribus/moc_undomanager.cpp:144 0000008 0x00007ffff768a681 in QMetaObject::activate(QObject*, int, int, void**) () from /home/.../Qt/5.3/gcc_64/lib/libQt5Core.so.5 0000009 0x000000000081b840 in UndoPalette::redo (this=0x295f9d0, _t1=1) at /home/.../Scribus/build/scribus/moc_undogui.cpp:528 0000010 0x0000000000e5e889 in UndoPalette::redoClicked (this=0x295f9d0) at /home/.../Scribus/scribus/undogui.cpp:432 0000011 0x000000000081b3d3 in UndoPalette::qt_static_metacall (_o=0x295f9d0, _c=QMetaObject::InvokeMetaMethod, _id=4, _a=0x7fffffffc580) at /home/.../Scribus/build/scribus/moc_undogui.cpp:435 0000012 0x00007ffff768a681 in QMetaObject::activate(QObject*, int, int, void**) () from /home/.../Qt/5.3/gcc_64/lib/libQt5Core.so.5 0000013 0x00007ffff701ee22 in QAbstractButton::clicked(bool) () from /home/.../Qt/5.3/gcc_64/lib/libQt5Widgets.so.5 0000014 0x00007ffff6d8d053 in ?? () from /home/.../Qt/5.3/gcc_64/lib/libQt5Widgets.so.5 0000015 0x00007ffff6d8d96a in ?? () from /home/.../Qt/5.3/gcc_64/lib/libQt5Widgets.so.5 0000016 0x00007ffff6d8db74 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /home/.../Qt/5.3/gcc_64/lib/libQt5Widgets.so.5 0000017 0x00007ffff6cc5a87 in QWidget::event(QEvent*) () from /home/.../Qt/5.3/gcc_64/lib/libQt5Widgets.so.5 0000018 0x00007ffff6c8d764 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /home/.../Qt/5.3/gcc_64/lib/libQt5Widgets.so.5 0000019 0x00007ffff6c90bb6 in QApplication::notify(QObject*, QEvent*) () from /home/.../Qt/5.3/gcc_64/lib/libQt5Widgets.so.5 0000020 0x00007ffff7658dd4 in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /home/.../Qt/5.3/gcc_64/lib/libQt5Core.so.5 0000021 0x00007ffff6c8fcca in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /home/.../Qt/5.3/gcc_64/lib/libQt5Widgets.so.5 0000022 0x00007ffff6ce5cb7 in ?? () from /home/.../Qt/5.3/gcc_64/lib/libQt5Widgets.so.5 0000023 0x00007ffff6ce8808 in ?? () from /home/.../Qt/5.3/gcc_64/lib/libQt5Widgets.so.5 0000024 0x00007ffff6c8d764 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /home/.../Qt/5.3/gcc_64/lib/libQt5Widgets.so.5 0000025 0x00007ffff6c90de6 in QApplication::notify(QObject*, QEvent*) () from /home/.../Qt/5.3/gcc_64/lib/libQt5Widgets.so.5 0000026 0x00007ffff7658dd4 in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /home/.../Qt/5.3/gcc_64/lib/libQt5Core.so.5 0000027 0x00007ffff650d457 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /home/.../Qt/5.3/gcc_64/lib/libQt5Gui.so.5 0000028 0x00007ffff650de95 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /home/.../Qt/5.3/gcc_64/lib/libQt5Gui.so.5 0000029 0x00007ffff64f3148 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/.../Qt/5.3/gcc_64/lib/libQt5Gui.so.5 0000030 0x00007fffe3360630 in ?? () from /home/.../Qt/5.3/gcc_64/plugins/platforms/libqxcb.so 0000031 0x00007fffeb7d8316 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0 0000032 0x00007fffeb7d8668 in ?? () from /usr/lib64/libglib-2.0.so.0 0000033 0x00007fffeb7d870c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0 0000034 0x00007ffff76b3444 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/.../Qt/5.3/gcc_64/lib/libQt5Core.so.5 0000035 0x00007ffff7656feb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/.../Qt/5.3/gcc_64/lib/libQt5Core.so.5 0000036 0x00007ffff765beb5 in QCoreApplication::exec() () from /home/.../Qt/5.3/gcc_64/lib/libQt5Core.so.5 0000037 0x00000000012d7f60 in mainApp (argc=1, argv=0x7fffffffdd38) at /home/.../Scribus/scribus/main_nix.cpp:86 0000038 0x00000000012d7ef0 in main (argc=1, argv=0x7fffffffdd38) at /home/.../Scribus/scribus/main_nix.cpp:54 |
|
Is it needed to close this report and open a new one to divide each case? |
Date Modified | Username | Field | Change |
---|---|---|---|
2014-06-09 13:55 | FirasH | New Issue | |
2014-06-11 20:42 | jghali | Status | new => resolved |
2014-06-11 20:42 | jghali | Fixed in Version | => 1.5.0svn |
2014-06-11 20:42 | jghali | Resolution | open => fixed |
2014-06-11 20:42 | jghali | Assigned To | => jghali |
2014-06-11 22:09 | FirasH | Note Added: 0032085 | |
2014-06-12 21:19 | FirasH | Note Added: 0032113 | |
2014-06-14 06:39 | cbradney | Status | resolved => closed |