File with connector crashes on load

Bug #700298 reported by Christopher Bergqvist on 2011-01-08
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Inkscape
High
Gellule

Bug Description

Hi, I just downloaded Inkscape 0.48.0 (r9654) for Mac Leopard (I'm on 10.6.6).

After saving a file with a connector and then opening it again I got:

"Inkscape encountered an internal error and will close now."

I reduced the contents of the file to only include the elements which caused the crash. Seems like it has to do with a connector path between two rects. File is attached.

I get the same result with 0.48+devel r9999 universal binary.

I am a professional C++ developer but I'm not used to Mac so I haven't dug any further yet.

Thanks for producing a great application!

Alvin Penner (apenner) wrote :

confirmed on Windows XP, Inkscape 0.48, crash message attached

Changed in inkscape:
status: New → Confirmed
su_v (suv-lp) wrote :

Reproduced with Inkscape 0.48+devel r10000 on OS X 10.5.8

Console message:
Assertion failed: (displayRoute.at(indexLow)[altDim] < displayRoute.at(indexHigh)[altDim]), function buildOrthogonalChannelInfo, file libavoid/orthogonal.cpp, line 1747.

Backtrace attached.

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

I don't seem to be able to reproduce this in a new file or when recreating the connector line (orthogonal, curvature r=50) in your example. Do you remember what the last steps had been before saving the file in its current version?

If - using a plain-text editor - I remove the attribute
       inkscape:connector-type="orthogonal"
from the connector line your file opens, but the path is no longer recognized as connector line, and in its current position doesn't correctly connect the rectangles either (connectors only connect to the midpoint objects - curvature and orthogonal mode doesn't change that). In your example, the line is too low to connect to the midpoint of the rectangle to the left (outside the page borders).

su_v (suv-lp) wrote :

Attaching an example reusing the two rectangles of your file, the connector redrawn (orthogonal, with curvature r=50), as well as a new diagram using orthogonal connectors with curvature (r=50) and spacing (d=10).

I was trying to change the connector mode back and forth (orthogonal and the other two of the first connector icons). I got the impression they didn't change the shape of the line.

I tried to repro with a new file but it wouldn't crash.

In any case it would be nice in my opinion for Inkscape to handle these kind of non-critical errors in a way that didn't lock less-powerful users out from editing their drawings. On the other hand you don't want users to just skip over asserts and not report problems. :/

su_v (suv-lp) wrote :

Christopher Bergqvist wrote
> In any case it would be nice in my opinion for Inkscape to handle these
> kind of non-critical errors in a way that didn't lock less-powerful
> users out from editing their drawings. On the other hand you don't want
> users to just skip over asserts and not report problems. :/

In no way my earlier questions were meant to imply that the crash was due to a user error or acceptable in any way. Certainly Inkscape does have to handle such situations without crash (bug status is 'Confirmed' and bug importance was to 'High').

I just thought that maybe you'd remember some specific steps which caused such a constellation that triggers the assertion in the code for rerouting orthogonal connectors.

su_v (suv-lp) wrote :

Possibly related to or duplicate of
Bug #635469 “[connectors] 'Exchange Position' of objects with orthogonal connectors causes crash”
<https://bugs.launchpad.net/inkscape/+bug/635469>

(same console message and backtrace)

Sorry, I was not criticizing people, rather expressing thoughts on how the actual application could be made to handle certain types of errors. I really appreciate the speed with which you handle this!

I have hand-edited my original file to avoid the crash and have after several hours of use not had any problems. I am avoiding the connector-functionality just in case though.

su_v (suv-lp) wrote :

<off-topic>
> I am avoiding the connector-functionality just in case though.

You could consider making use of the 'Autosave' feature [1], and continue working with connectors nevertheless - bug reports are highly appreciated and help to improve Inkscape! If you don't mind using "unstable" versions, I'd recommend to stay with recent development builds (at least until 0.48.1 is out - any day now): there have been some fixes since the release of 0.48.0 that improve certain connector features. Also, a recent fix for incorrect rerouting is only in the development branch for now (bug #666586).

[1] <http://wiki.inkscape.org/wiki/index.php/Release_notes/0.47#Autosave>
Note that you have to enter the Unix path for the autosave directory, and that the path has to exist (Inkscape doesn't create it yet: bug #490338, bug #570695).
Example: folder created as 'Home > Documents > InkAutosave', enter the path as
    /Users/{your_username}/Documents/InkAutosave
<off-topic>

jazzynico (jazzynico) wrote :

Not reproduced with 0.47 on Windows XP.

tags: added: regression
su_v (suv-lp) wrote :

Crash no longer reproduced with patch attached to bug #771738
tested with Inkscape 0.48+devel r10268+patch on Mac OS X 10.5.8 (i386)

ScislaC (scislac) on 2011-06-14
Changed in inkscape:
assignee: nobody → Gellule (gellule-xg)
status: Confirmed → Fix Committed
milestone: none → 0.48.2
Ted Gould (ted) on 2011-09-07
Changed in inkscape:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers