Inkscape crashes when moving an object (crash in Avoid::ShapeRef::setNewPoly())

Bug #682585 reported by Gilles Coulais on 2010-11-29
This bug affects 4 people
Affects Status Importance Assigned to Milestone

Bug Description

Inkscape 0.48 on Ubuntu 10.10, with 2.6.35-23-generic i686 kernel

Inkscape crashes when moving a specific objet in the attached file. Steps to reproduce :
- Open the attached branchements.svg file. (The zip file also includes the linked images)
- In the center of the canvas, in the group of 4 HDMI signs, select the most above one.
- Move it where you want ==> Inkscape crashes : "inkscape: libavoid/shape.cpp :108 : void Avoid::ShapeRef::setNewPoly(const Avoid::Polygon&): L'assertion « _poly.size() == poly.size() » a échoué."

Any additional information needed ? just ask :)

Gilles Coulais (poupoul2) wrote :
description: updated
su_v (suv-lp) wrote :

Reproduced with Inkscape 0.48.0 and 0.48+devel r9931 on OS X 10.5.8
Crash appears to differ in Inkscape trunk (see attached crash reports)

tags: added: connectors crash
su_v (suv-lp) wrote :
Changed in inkscape:
importance: Undecided → High
status: New → Confirmed
su_v (suv-lp) wrote :

Console message from Inkscape 0.48+devel r9931:

terminate called after throwing an instance of 'Geom::InfiniteSolutions'
  what(): lib2geom exception: There are infinite solutions (2geom/line.cpp:215)

tags: added: 2geom
tags: added: polygon transformations
removed: 2geom
Johan Engelen (johanengelen) wrote :

what exactly should i do to make it crash? if I follow the steps from the original post, Inkscape does not crash. (r10137)

su_v (suv-lp) wrote :

@Johan - I fail to reproduce it in current trunk (r10141) either (OS X 10.5.8 i386).

With Inkscape 0.48.1 (r9760):
1) launch inkscape
2) draw a shape (to dirty the new document)
3) open 'branchements.svg' from the archive, using 'File > Open…'
4) move the top-most of the 4 'HDMI' text objects (it has a 'connector-avoid' attribute)

-> inkscape 0.48.1 crashes with

terminate called after throwing an instance of 'Geom::InfiniteSolutions'
  what(): lib2geom exception: There are infinite solutions (2geom/line.cpp:215)

Apparently, the crash does not happen in Inkscape 0.48.1, when the file reuses the (unchanged) current document window.
Launching Inkscape 0.48.1 with the file as argument from the command line does expose the same crash when moving the 'HDMI' text object (not sure how double-clicking it in the file manager of your choice effects that).

Possibly related:
Bug #640985 “Copy&paste crashes inkscape in Avoid::ShapeRef::setNewPoly()”

su_v (suv-lp) on 2011-06-11
tags: removed: polygon
Gellule (gellule-xg) on 2011-06-29
Changed in inkscape:
assignee: nobody → Gellule (gellule-xg)
su_v (suv-lp) wrote :

Related (or new duplicate):
 Bug #892931 “nudging elements with connectors causes crash”

su_v (suv-lp) wrote :

Probably related (or duplicates)::
Bug #936832 “Connectors: crash when moving a group set to avoid connectors (crash in Avoid::ShapeRef::setNewPoly ())”
Bug #938483 in Inkscape: “Inkscape crashes when using connector tool”

su_v (suv-lp) wrote :

Crash still reproduced with
- Inkscape 0.48.2 and on Mac OS X 10.5.8 (32bit)
- Inkscape 0.48.2 and OS X 10.7.2 (64bit)
following the steps from comment #6 (open file in new document window from within inkscape after dirtying the initial new document)

Crash _not_ reproduced with current trunk (r11007) on either platform.

Setting status to 'Fix Committed' (milestone 0.49) - apparently the other reports mentioned in comment #7 and #8 have a different though related cause: they are reproducible with latest stable as well as trunk).

@Gellule - do you know which revision(s) in trunk fixed this specific case?

Changed in inkscape:
milestone: none → 0.49
status: Confirmed → Fix Committed
jazzynico (jazzynico) wrote :

Crash reproduced on Windows XP, Inkscape trunk revision 12228.
The application doesn't crash immediately, but it happens after you move the sign about 10 times.

@Gellule - Are you still working on it?

Changed in inkscape:
milestone: 0.49 → none
status: Fix Committed → Triaged
summary: - Inkscape crashes when moving an object
+ Inkscape crashes when moving an object (crash in
+ Avoid::ShapeRef::setNewPoly())
Uwe Jugel (uwe.jugel) wrote :

1) Crash _not_ reproduced on Inkscape 0.91 r13725, OS X 10.9.5
Inkscape does not crash even after often and wildly moving the HDMI shape around.

2) However, I can confirm the related bugs and
Inkscape crashes immediately in these cases, killing the main window and briefly showing an empty message box that pops up just before disappearing again after a second.

3) I also have observed another (unfiled) bug that might be related but the error behavior is different. It shows error text in a message box and does not kill the messagebox or the main window, but leaves both windows frozen and unclickable. Should I file that one as new bug or add the details + sample file here?

jazzynico (jazzynico) wrote :

Crash reproduced on Windows XP (32bits), Inkscape trunk rev. 13901.
But again, I had to move the sign maybe 8 or 10 times before the crash.

su_v (suv-lp) on 2015-10-14
Changed in inkscape:
assignee: Gellule (gellule-xg) → nobody
Paul Boven (p-boven) wrote :

This bug still happens with Inkscape 0.92.2 (From "About Inkscape": 5c3e80d, 2017-08-06)
As shipped with Ubuntu 17.10, package information: 0.92.2-1build1 amd64

How to reproduce:
Start Inkscape (empty canvas).
Draw 3 boxes in a row.
Connect the outer two with a connector.
Set the middle box to 'avoid' connectors
Select the middle box, move it around with e.g. the cursor keys
Inkscape crashes with these messages:

conn-avoid-ref.cpp: avoid_item_poly: Geom:intersection failed.
inkscape: /build/inkscape-PiBboB/inkscape-0.92.2/src/libavoid/shape.cpp:108: void Avoid::ShapeRef::setNewPoly(const Avoid::Polygon&): Assertion `_poly.size() == poly.size()' failed.

Emergency save activated!

Emergency save document locations:
  /home/boven/New document 1.2018_02_12_15_53_30.0.svg
Emergency save completed. Inkscape will close now.
If you can reproduce this crash, please file a bug at
with a detailed description of the steps leading to the crash, so we can fix it.
inkscape: /build/inkscape-PiBboB/inkscape-0.92.2/src/libavoid/shape.cpp:108: void Avoid::ShapeRef::setNewPoly(const Avoid::Polygon&): Assertion `_poly.size() == poly.size()' failed.
Aborted (core dumped)

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers