View Issue Details

IDProjectCategoryView StatusLast Update
0012140ScribusShape Drawingpublic2014-08-31 18:26
ReporterFirasH Assigned Tojghali  
PrioritynormalSeveritycrashReproducibilityalways
Status closedResolutionfixed 
Platformx86_64OSopenSUSEOS Version13.1
Product Version1.5.0svn 
Target Version1.5.0Fixed in Version1.5.0svn 
Summary0012140: Convert to > Polygon crashes Scribus in determined condition
DescriptionScribus 1.5.0 (18898) is not able to handle some changes to the nodes of Shapes.
Steps To Reproduce0) Create a new document
1) Make sure windows > Outline is opened
2) Insert a Shape (default square)
3) Double click on the Shape so that "Nodes" windows appears
4) Select "Delete Nodes" (first line, third row) and delete one of the four nodes edge
Now you won't be able to delete any other nodes.

5) Select the tool with the tooltip "Open a Polygon or Cuts a Bezier Curve" (first column, third row) and click on one of the three nodes
6) Delete one of the three remaining nodes (and close "Nodes" window)
The Shape is now as not present, but a small red rectangle is shown as something is selected.
From "Outline" you can see that the entry PolygonX is still present.
You can increase its size from Canvas/Properties and double click on it (or from its entry in "Outline") but it will be always invisible.

7) Right-click on this Shape and Convert to > Polygon

Scribus crashes due to Signal 6

So I believe that after Step 7 it would be more user-friendly to divide the Polygon in Multilines (as in Scribus 1.4.4 SVN (18899)).
Additional InformationScribus 1.5.0 SVN (18898) - Qt 5.2.1
(Scribus 1.4.4 SVN (18899) does not have this issue)

ASSERT failure in QVector<T>::at: "index out of range", file /home/.../Qt/5.2.1/gcc_64/include/QtCore/qvector.h, line 361

Program received signal SIGABRT, Aborted.
0x00007fffef77d849 in raise () from /lib64/libc.so.6
(gdb) bt
#0 0x00007fffef77d849 in raise () from /lib64/libc.so.6
0000001 0x00007fffef77ecd8 in abort () from /lib64/libc.so.6
0000002 0x00007ffff747b10e in QMessageLogger::fatal(char const*, ...) const ()
   from /home/.../Qt/5.2.1/gcc_64/lib/libQt5Core.so.5
0000003 0x00007ffff7477e14 in qt_assert_x(char const*, char const*, char const*, int) ()
   from /home/.../Qt/5.2.1/gcc_64/lib/libQt5Core.so.5
0000004 0x0000000000830079 in QVector<FPoint>::at (this=0x2f5e140, i=-2)
    at /home/.../Qt/5.2.1/gcc_64/include/QtCore/qvector.h:361
0000005 0x000000000082f310 in FPointArray::point (this=0x2f5e140, i=-2) at /home/.../Scribus/scribus/fpointarray.h:57
0000006 0x0000000000d128af in ScribusDoc::convertItemTo (this=0x3326de0, currItem=0x34cfb60, newType=PageItem::Polygon,
    secondaryItem=0x0) at /home/.../Scribus/scribus/scribusdoc.cpp:6434
0000007 0x0000000000d4d300 in ScribusDoc::itemSelection_convertItemsTo (this=0x3326de0, newType=PageItem::Polygon, restoredSelection=
    0x7fffffffa870, customSelection=0x7fffffffa800) at /home/.../Scribus/scribus/scribusdoc.cpp:15701
0000008 0x0000000000d92d15 in ScribusView::ToPolyFrame (this=0x33976c0)
    at /home/.../Scribus/scribus/scribusview.cpp:3317
0000009 0x000000000078c7de in ScribusView::qt_static_metacall (_o=0x33976c0, _c=QMetaObject::InvokeMetaMethod, _id=76,
    _a=0x7fffffffab00) at /home/.../Scribus/build/scribus/moc_scribusview.cpp:459
0000010 0x00007ffff769d6b1 in QMetaObject::activate(QObject*, int, int, void**) ()
   from /home/.../Qt/5.2.1/gcc_64/lib/libQt5Core.so.5
0000011 0x00007ffff6ce0e92 in QAction::triggered(bool) () from /home/.../Qt/5.2.1/gcc_64/lib/libQt5Widgets.so.5
0000012 0x00007ffff6ce2cc7 in QAction::activate(QAction::ActionEvent) () from /home/.../Qt/5.2.1/gcc_64/lib/libQt5Widgets.so.5
0000013 0x00007ffff6e6776a in ?? () from /home/.../Qt/5.2.1/gcc_64/lib/libQt5Widgets.so.5
0000014 0x00007ffff6e6e98f in ?? () from /home/.../Qt/5.2.1/gcc_64/lib/libQt5Widgets.so.5
0000015 0x00007ffff6e6f910 in QMenu::mouseReleaseEvent(QMouseEvent*) () from /home/.../Qt/5.2.1/gcc_64/lib/libQt5Widgets.so.5
0000016 0x00007ffff6d24077 in QWidget::event(QEvent*) () from /home/.../Qt/5.2.1/gcc_64/lib/libQt5Widgets.so.5
0000017 0x00007ffff6e716bb in QMenu::event(QEvent*) () from /home/.../Qt/5.2.1/gcc_64/lib/libQt5Widgets.so.5
0000018 0x00007ffff6cec0f4 in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
   from /home/.../Qt/5.2.1/gcc_64/lib/libQt5Widgets.so.5
0000019 0x00007ffff6cef4d6 in QApplication::notify(QObject*, QEvent*) () from /home/.../Qt/5.2.1/gcc_64/lib/libQt5Widgets.so.5
0000020 0x00007ffff7674734 in QCoreApplication::notifyInternal(QObject*, QEvent*) ()
   from /home/.../Qt/5.2.1/gcc_64/lib/libQt5Core.so.5
0000021 0x00007ffff6cee54a in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /home/.../Qt/5.2.1/gcc_64/lib/libQt5Widgets.so.5
0000022 0x00007ffff6d43869 in ?? () from /home/.../Qt/5.2.1/gcc_64/lib/libQt5Widgets.so.5
0000023 0x00007ffff6d45f98 in ?? () from /home/.../Qt/5.2.1/gcc_64/lib/libQt5Widgets.so.5
0000024 0x00007ffff6cec0f4 in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
   from /home/.../Qt/5.2.1/gcc_64/lib/libQt5Widgets.so.5
0000025 0x00007ffff6cef6ae in QApplication::notify(QObject*, QEvent*) () from /home/.../Qt/5.2.1/gcc_64/lib/libQt5Widgets.so.5
0000026 0x00007ffff7674734 in QCoreApplication::notifyInternal(QObject*, QEvent*) ()
   from /home/.../Qt/5.2.1/gcc_64/lib/libQt5Core.so.5
0000027 0x00007ffff6608c21 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) ()
   from /home/.../Qt/5.2.1/gcc_64/lib/libQt5Gui.so.5
0000028 0x00007ffff66094a5 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) ()
   from /home/.../Qt/5.2.1/gcc_64/lib/libQt5Gui.so.5
0000029 0x00007ffff65f0ba8 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /home/.../Qt/5.2.1/gcc_64/lib/libQt5Gui.so.5
0000030 0x00007fffe58281b0 in ?? () from /home/.../Qt/5.2.1/gcc_64/plugins/platforms/libqxcb.so
0000031 0x00007fffed05d316 in g_main_dispatch (context=0x7fffe0001740) at gmain.c:3066
0000032 g_main_context_dispatch (context=context@entry=0x7fffe0001740) at gmain.c:3642
0000033 0x00007fffed05d668 in g_main_context_iterate (context=context@entry=0x7fffe0001740, block=block@entry=1,
    dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3713
0000034 0x00007fffed05d70c in g_main_context_iteration (context=0x7fffe0001740, may_block=1) at gmain.c:3774
0000035 0x00007ffff76c5374 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /home/.../Qt/5.2.1/gcc_64/lib/libQt5Core.so.5
0000036 0x00007ffff76734ab in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /home/.../Qt/5.2.1/gcc_64/lib/libQt5Core.so.5
0000037 0x00007ffff6e6b235 in QMenu::exec(QPoint const&, QAction*) () from /home/.../Qt/5.2.1/gcc_64/lib/libQt5Widgets.so.5
0000038 0x00000000008c21c0 in CanvasMode_Normal::createContextMenu (this=0x31cd150, currItem=0x34cfb60, mx=256.5, my=193.5)
    at /home/.../Scribus/scribus/canvasmode_normal.cpp:1918
0000039 0x00000000008bbee9 in CanvasMode_Normal::mouseReleaseEvent (this=0x31cd150, m=0x7fffffffcec0)
    at /home/.../Scribus/scribus/canvasmode_normal.cpp:1032
0000040 0x0000000000d9e47c in ScribusView::eventFilter (this=0x33976c0, obj=0x33984f0, event=0x7fffffffcec0)
    at /home/.../Scribus/scribus/scribusview.cpp:4339
0000041 0x00007ffff767495d in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) ()
   from /home/.../Qt/5.2.1/gcc_64/lib/libQt5Core.so.5
0000042 0x00007ffff6cec0bf in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
   from /home/.../Qt/5.2.1/gcc_64/lib/libQt5Widgets.so.5
0000043 0x00007ffff6cef4d6 in QApplication::notify(QObject*, QEvent*) () from /home/.../Qt/5.2.1/gcc_64/lib/libQt5Widgets.so.5
0000044 0x00007ffff7674734 in QCoreApplication::notifyInternal(QObject*, QEvent*) ()
   from /home/.../Qt/5.2.1/gcc_64/lib/libQt5Core.so.5
0000045 0x00007ffff6cee54a in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /home/.../Qt/5.2.1/gcc_64/lib/libQt5Widgets.so.5
0000046 0x00007ffff6d43b65 in ?? () from /home/.../Qt/5.2.1/gcc_64/lib/libQt5Widgets.so.5
0000047 0x00007ffff6d45f98 in ?? () from /home/.../Qt/5.2.1/gcc_64/lib/libQt5Widgets.so.5
0000048 0x00007ffff6cec0f4 in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
   from /home/.../Qt/5.2.1/gcc_64/lib/libQt5Widgets.so.5
0000049 0x00007ffff6cef6ae in QApplication::notify(QObject*, QEvent*) () from /home/.../Qt/5.2.1/gcc_64/lib/libQt5Widgets.so.5
0000050 0x00007ffff7674734 in QCoreApplication::notifyInternal(QObject*, QEvent*) ()
   from /home/.../Qt/5.2.1/gcc_64/lib/libQt5Core.so.5
0000051 0x00007ffff6608c21 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) ()
   from /home/.../Qt/5.2.1/gcc_64/lib/libQt5Gui.so.5
0000052 0x00007ffff66094a5 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) ()
   from /home/.../Qt/5.2.1/gcc_64/lib/libQt5Gui.so.5
0000053 0x00007ffff65f0ba8 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /home/.../Qt/5.2.1/gcc_64/lib/libQt5Gui.so.5
0000054 0x00007fffe58281b0 in ?? () from /home/.../Qt/5.2.1/gcc_64/plugins/platforms/libqxcb.so
0000055 0x00007fffed05d316 in g_main_dispatch (context=0x7fffe0001740) at gmain.c:3066
0000056 g_main_context_dispatch (context=context@entry=0x7fffe0001740) at gmain.c:3642
0000057 0x00007fffed05d668 in g_main_context_iterate (context=context@entry=0x7fffe0001740, block=block@entry=1,
    dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3713
0000058 0x00007fffed05d70c in g_main_context_iteration (context=0x7fffe0001740, may_block=1) at gmain.c:3774
0000059 0x00007ffff76c5374 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /home/.../Qt/5.2.1/gcc_64/lib/libQt5Core.so.5
0000060 0x00007ffff76734ab in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /home/.../Qt/5.2.1/gcc_64/lib/libQt5Core.so.5
0000061 0x00007ffff767753e in QCoreApplication::exec() () from /home/.../Qt/5.2.1/gcc_64/lib/libQt5Core.so.5
0000062 0x0000000001224104 in mainApp (argc=1, argv=0x7fffffffdd78) at /home/.../Scribus/scribus/main_nix.cpp:86
0000063 0x0000000001224094 in main (argc=1, argv=0x7fffffffdd78) at /home/.../Scribus/scribus/main_nix.cpp:54
TagsNo tags attached.
Patch

Relationships

related to 0012347 closedjghali Deleting Bezier Curve nodes leads to wrong result 

Activities

FirasH

2014-03-11 19:24

developer   ~0031497

Re-tested a few times the Steps, but now I can't get to crash Scribus with Convert to > Symbol, but only with Convert to > Polygon.
In Step 5 make sure to not move any of the nodes, simply click on the blue node (basically the preview of the nodes should look the same in Step 4 and 5).

FirasH

2014-07-29 10:49

developer   ~0033071

REDUCED STEPS (from 0012347):

0) Create a new document
1) Insert a Bezier Curve (B) with 3 or 4 nodes (reproducible also with more nodes after deleting the redundant nodes)
2) Double-click on the Bezier Curve so that "Nodes" window appears
3) Select "Delete Nodes" and delete one of the 3 or 4 nodes of the Bezier Curve
4) Go to: Item > Convert to > Polygon

Scribus crashes due to Signal 6

Kunda

2014-07-29 13:20

updater   ~0033073

Able to reproduce the issue using 0012140:0033071 and encountered bug 0012347
Crashed with Signal 6
10.8.5 1.5svn r19380

FirasH

2014-08-19 14:03

developer   ~0033285

Thanks jghali!
The crash is not reproducible in 1.5.0.svn (19430) as it was a consequence of 0012347.

Kunda

2014-08-31 13:59

updater   ~0033396

Last edited: 2014-08-31 14:00

Observations:
1. crash not present anymore
2. inability to remove a 2nd node as per step 6
3. strange phenomena (small red square) not presenting anymore
4. don't see the option to Convert to Polygon in step 7 (i see: convert to: bezier curve, image frame, text frame, symbol)

Note: I was encountering some undo/redo bugs for example converting shape to: * * symbol
* image frame
* bezier curve
and then undoing back to polygon.

Bugs encountered:
0012299
0011365 (without the crash)
perhaps more bugs need to be filed under undo/redo for image frame and bezier curve ?

FirasH

2014-08-31 18:26

developer   ~0033411

Thanks jghali!
Fixed in 1.5.0.svn (19468).

Issue History

Date Modified Username Field Change
2014-03-11 19:15 FirasH New Issue
2014-03-11 19:24 FirasH Note Added: 0031497
2014-03-11 21:29 jghali Target Version => 1.5.0
2014-07-29 10:47 FirasH Relationship added related to 0012347
2014-07-29 10:49 FirasH Note Added: 0033071
2014-07-29 10:50 FirasH Summary Convert to > Polygon/Symbol crashes Scribus in determined condition => Convert to > Polygon crashes Scribus in determined condition
2014-07-29 10:50 FirasH Steps to Reproduce Updated
2014-07-29 13:20 Kunda Note Added: 0033073
2014-07-29 13:20 Kunda Status new => confirmed
2014-08-19 14:03 FirasH Note Added: 0033285
2014-08-19 14:03 FirasH Status confirmed => resolved
2014-08-19 14:03 FirasH Fixed in Version => 1.5.0svn
2014-08-19 14:03 FirasH Resolution open => fixed
2014-08-19 14:03 FirasH Assigned To => jghali
2014-08-31 13:59 Kunda Note Added: 0033396
2014-08-31 14:00 Kunda Note Edited: 0033396
2014-08-31 18:26 FirasH Note Added: 0033411
2014-08-31 18:26 FirasH Status resolved => closed