connector movement crash inkscape (libavoid)

Bug #1675779 reported by Weber Samuel
22
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Inkscape
Invalid
High
Unassigned

Bug Description

Inkscape version: Inkscape 0.92.1 r
OS: Linux 4.10.4-1-ARCH

When moving a group attached to a connector, inkscape crash randomly (core dump).
May be related to other old bug.

Here are the gdb trace:

[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[New Thread 0x7fffe9d03700 (LWP 16704)]
[New Thread 0x7fffe9502700 (LWP 16705)]
[New Thread 0x7fffe8d01700 (LWP 16706)]
[New Thread 0x7fffe6c98700 (LWP 16707)]
[New Thread 0x7fffe6497700 (LWP 16708)]
[New Thread 0x7fffe5074700 (LWP 16712)]
[Thread 0x7fffe5074700 (LWP 16712) exited]
inkscape: libavoid/visibility.cpp :231 : static double Avoid::PointPair::pos_to_angle(double, double): l'assertion « ang >= 0 » a échoué.

Thread 1 "inkscape" received signal SIGABRT, Aborted.
0x00007ffff0796a10 in raise () from /usr/lib/libc.so.6

(gdb) bt
#0 0x00007ffff0796a10 in raise () at /usr/lib/libc.so.6
#1 0x00007ffff079813a in abort () at /usr/lib/libc.so.6
#2 0x00007ffff078f607 in __assert_fail_base () at /usr/lib/libc.so.6
#3 0x00007ffff078f6b2 in () at /usr/lib/libc.so.6
#4 0x0000000000e1a002 in Avoid::vertexSweep(Avoid::VertInf*) ()
#5 0x0000000000e1a190 in Avoid::shapeVisSweep(Avoid::ShapeRef*) ()
#6 0x0000000000e1155e in Avoid::Router::processTransaction() ()
#7 0x00000000006ea1bc in SPDocument::ensureUpToDate() ()
#8 0x00000000006f9ece in Inkscape::DocumentUndo::maybeDone(SPDocument*, char const*, unsigned int, Glib::ustring const&) ()
#9 0x0000000000760707 in sp_selection_move(Inkscape::Selection*, double, double) ()
#10 0x0000000000d3671e in Inkscape::UI::Tools::SelectTool::root_handler(_GdkEvent*) ()
#11 0x0000000000d49aea in Inkscape::UI::Tools::sp_event_context_virtual_root_handler(Inkscape::UI::Tools::ToolBase*, _GdkEvent*) ()
#12 0x0000000000970001 in sp_marshal_INT__POINTER_POINTER ()
#13 0x00007ffff1c27f75 in g_closure_invoke () at /usr/lib/libgobject-2.0.so.0
#14 0x00007ffff1c39f82 in () at /usr/lib/libgobject-2.0.so.0
#15 0x00007ffff1c4266f in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#16 0x00007ffff1c42faf in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#17 0x000000000084b283 in ()
#18 0x000000000084bb63 in ()
#19 0x000000000096fdec in sp_marshal_BOOLEAN__POINTER ()
#20 0x00007ffff1c27f75 in g_closure_invoke () at /usr/lib/libgobject-2.0.so.0
#21 0x00007ffff1c3a37d in () at /usr/lib/libgobject-2.0.so.0
#22 0x00007ffff1c4266f in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#23 0x00007ffff1c42faf in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#24 0x000000000089edfc in SPCanvas::emitEvent(_GdkEvent*) ()
#25 0x00007ffff4ddc7ac in () at /usr/lib/libgtk-x11-2.0.so.0
#26 0x00007ffff1c27ecf in g_closure_invoke () at /usr/lib/libgobject-2.0.so.0
#27 0x00007ffff1c3a37d in () at /usr/lib/libgobject-2.0.so.0
#28 0x00007ffff1c4266f in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#29 0x00007ffff1c42faf in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#30 0x00007ffff4ef48cc in () at /usr/lib/libgtk-x11-2.0.so.0
#31 0x00007ffff4f082ff in gtk_window_propagate_key_event () at /usr/lib/libgtk-x11-2.0.so.0
#32 0x00007ffff4f0adcb in () at /usr/lib/libgtk-x11-2.0.so.0
#33 0x00007ffff4ddc7ac in () at /usr/lib/libgtk-x11-2.0.so.0
#34 0x00007ffff1c27f75 in g_closure_invoke () at /usr/lib/libgobject-2.0.so.0
#35 0x00007ffff1c3a37d in () at /usr/lib/libgobject-2.0.so.0
#36 0x00007ffff1c4266f in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#37 0x00007ffff1c42faf in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#38 0x00007ffff4ef48cc in () at /usr/lib/libgtk-x11-2.0.so.0
#39 0x00007ffff4ddb04f in gtk_propagate_event () at /usr/lib/libgtk-x11-2.0.so.0
#40 0x00007ffff4ddb32b in gtk_main_do_event () at /usr/lib/libgtk-x11-2.0.so.0
#41 0x00007ffff4a5246c in () at /usr/lib/libgdk-x11-2.0.so.0
#42 0x00007ffff194f5a7 in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#43 0x00007ffff194f810 in () at /usr/lib/libglib-2.0.so.0
#44 0x00007ffff194fb32 in g_main_loop_run () at /usr/lib/libglib-2.0.so.0
#45 0x00007ffff4dda3a7 in gtk_main () at /usr/lib/libgtk-x11-2.0.so.0
#46 0x00000000006b240a in sp_main_gui(int, char const**) ()
#47 0x00007ffff0783511 in __libc_start_main () at /usr/lib/libc.so.6
#48 0x00000000006ae65a in _start ()

Revision history for this message
Weber Samuel (gwendald) wrote :
jazzynico (jazzynico)
Changed in inkscape:
importance: Undecided → High
Revision history for this message
jazzynico (jazzynico) wrote :

Thanks for taking the time to file a report!

Not reproduced on Xubuntu 16.04, Inkscape 0.91, lp:inkscape/0.92.x rev. 15405 and lp:inkscape rev. 15606 (I randomly moved each group about 20 times).

The backtrace seems to show an issue with a specific angle. Do you remember the position of the objects when Inkscape crashed? Maybe you still have an automatic save in your user directory?

Revision history for this message
Weber Samuel (gwendald) wrote :

You're welcome.

In fact, even if i simply open the file with inkscape, i don't see all the connector until I move a group.

I manage to reproduced this bug "easily": open the file in attachment, select the "PMF" block, then spam →←↑↓←↑→↓ in a random way, then it crash. Always with the same error message:

inkscape: libavoid/visibility.cpp :231 : static double Avoid::PointPair::pos_to_angle(double, double): l'assertion « ang >= 0 » a échoué.
zsh: abort (core dumped) inkscape test_bug.svg

Revision history for this message
jazzynico (jazzynico) wrote :

Reproduced (after many tries) on Windows 7 (64-bit) with lp:inkscape/0.92.x rev. 15407 (32-bit version). Same backtrace.

Changed in inkscape:
status: New → Triaged
Revision history for this message
jazzynico (jazzynico) wrote :

The best option would be to update our local copy of libavoid, as explained in bug #1353833 "Update libavoid, libcola and libvpsc code" (https://bugs.launchpad.net/inkscape/+bug/1353833). Our version is 8 years old, and the upstream code is still updated regularly.

Revision history for this message
Julian Foad (julianfoad) wrote :

Reproduced on Ubuntu 16.04, Inkscape 0.92.2+68~ubuntu16.04.1

Bug #1711252 is a duplicate of this. Now marked as such, and added "(libavoid)" to title of this one.

summary: - connector movement crash inkscape
+ connector movement crash inkscape (libavoid)
Revision history for this message
Patrick Storz (ede123) wrote :

Have you tried reproducing the issue on master?

The relevant libraries have been updated in
  https://gitlab.com/inkscape/inkscape/commit/fd733201b82f39655488a286c89142f321ef9dc9
as described in bug #1353833.

In case it fixes the issue reported here:
I don't know if it makes sense to back-port this to 0.92.x; I subscribed Sylvain, though, maybe he can comment on this...

Revision history for this message
Sylvain Chiron (frigory) wrote :

Hi,

According to my tests, I tried to fix some bugs, but wasn’t able to; my update of the libraries did not improve anything else than the update.

Currently, a build of the master branch freezes quickly on my computer and I have no idea of why. Meanwhile, the 0.92.x branch fails to compile. Unfortunately I have neither the necessary skills nor spare time…

Thanks anyway for subscribing me to this thread.

Changed in inkscape:
status: Triaged → Incomplete
status: Incomplete → Opinion
status: Opinion → Triaged
Revision history for this message
Nathan Lee (nathan.lee) wrote :

Hi - thanks for reporting this bug, I've manually migrated it to Inkscape's new bug tracker on GitLab, and closed it here.

I was unable to ascertain if this was fixed in 1.0alpha/master, but replicated it in 0.92.4.

Please feel free to file new bugs about the issues you're seeing at
http://inkscape.org/report.

Moved to: https://gitlab.com/inkscape/inbox/issues/481
Closed by: https://gitlab.com/nathanal

Changed in inkscape:
status: Triaged → Invalid
tbnorth (terry-n-brown)
tags: added: bug-migration
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.