Inkscape crashes when opening some SVG files

Bug #1769394 reported by Thee
16
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Inkscape
Fix Released
Undecided
Unassigned

Bug Description

Simpler SVG files seem to open fine, but larger, more complex ones (I'm guessing that's the trigger) crash Inkscape. It worked however on the previous version of Inkscape. The file that I'm having problem with is 12,5MB large. I think the file has some embedded images in it, maybe that's what is triggering the crash.

Version: Inkscape 0.92.3 (2405546, 2018-03-11)
OS: Fedora 28
Crash report: https://pastebin.com/UiACJHv6

Sorry, I can't post the SVG file for personal reasons.

Crash report:
-------------

$ inkscape
/usr/include/c++/8/bits/stl_vector.h:950: std::vector<_Tp, _Alloc>::const_reference std::vector<_Tp, _Alloc>::operator[](std::vector<_Tp, _Alloc>::size_type) const [with _Tp = Inkscape::Text::Layout::Character; _Alloc = std::allocator<Inkscape::Text::Layout::Character>; std::vector<_Tp, _Alloc>::const_reference = const Inkscape::Text::Layout::Character&; std::vector<_Tp, _Alloc>::size_type = long unsigned int]: Assertion '__builtin_expect(__n < this->size(), true)' failed.

Emergency save activated!
Emergency save completed. Inkscape will close now.
If you can reproduce this crash, please file a bug at www.inkscape.org
with a detailed description of the steps leading to the crash, so we can fix it.
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
WARNING: Requested update while update in progress, counter = 3
/usr/include/c++/8/bits/stl_vector.h:950: std::vector<_Tp, _Alloc>::const_reference std::vector<_Tp, _Alloc>::operator[](std::vector<_Tp, _Alloc>::size_type) const [with _Tp = Inkscape::Text::Layout::Character; _Alloc = std::allocator<Inkscape::Text::Layout::Character>; std::vector<_Tp, _Alloc>::const_reference = const Inkscape::Text::Layout::Character&; std::vector<_Tp, _Alloc>::size_type = long unsigned int]: Assertion '__builtin_expect(__n < this->size(), true)' failed.
Aborted (core dumped)

Revision history for this message
Hachmann (marenhachmann) wrote :

It seems to have to do with the text in the file.

Would it be possible to manually edit the SVG file, keeping all the texts intact, but removing other things, then testing if this is still crashing Inkscape and then sharing the file?

Revision history for this message
Hachmann (marenhachmann) wrote :

Forgot: could you please attach the crash log directly to the report?

Revision history for this message
Thee (thee3) wrote :

I've found another SVG file that causes the same crash, this one is not large but it has a lot of text in it (in German), so you might be right that the text is the cause of this crash.

description: updated
Revision history for this message
Hachmann (marenhachmann) wrote :

Thanks for sharing, Thee.

I don't currently have a clean 0.92.3 installed on my system. With 0.92.x (a couple of commits more than 0.92.3, but not many, and - as far as I can see - none related to text + crashes), I cannot reproduce the crash on Linux Mint 18.3, Xfce.

Differences between our systems could be in the Inkscape preferences, the installed libraries, or the fonts... or something else that I don't know about.

I hope that someone who is knowledgeable about Inkscape's internal text handling can take this from here.

The file has been created in Inkscape 0.92.2 - with that version, it didn't crash?

Revision history for this message
Thee (thee3) wrote :

Yes, it was created in the previous version "0.92.2 (5c3e80d, 2017-08-06)", and it did not crash at any point of use. After the Fedora upgrade 27 > 28, Inkscape got updated too and these particular files started crashing Inkscape. Other files that I've tested seem to work fine.

Thanks for the reply.

Revision history for this message
Alvin Penner (apenner) wrote :

- crash not reproduced on Windows 10, Inkscape 0.92.3 (2405546, 2018-03-11)

I get quite a few missing link messages of the type shown below, but otherwise no crash.

.....................................

** (inkscape.exe:10392): WARNING **: <image xlink:href="source/getchen2-col.jpg"> did not resolve to a valid image file (base dir is C:\Windows\Temp), now trying sodipodi:absref="/home/thee/Pictures/faust deutsch modern dialog whatsup/source/getchen2-col.jpg"

** (inkscape.exe:10392): WARNING **: <image xlink:href="source/faust-bw.jpg"> did not resolve to a valid image file (base dir is C:\Windows\Temp), now trying sodipodi:absref="/home/thee/Pictures/faust deutsch modern dialog whatsup/source/faust-bw.jpg"

Revision history for this message
Hachmann (marenhachmann) wrote :

Fedora sure seems to have a problem with multiline texts. There are several reports that describe similar issues with text on Fedora 28.

What's different on Fedora 28?...

Revision history for this message
Thee (thee3) wrote :

You are right. I opened a new document, used the Text tool and entered some text, after I hit Enter for a new line, Inkscape crashed.

Revision history for this message
Hachmann (marenhachmann) wrote :
Revision history for this message
Thee (thee3) wrote :

I have found a possible workaround: when you make a textbox (hold text tool and drag) and then type and hit enter, Inkscape does not crash.

Revision history for this message
Nathan Lee (nathan.lee) wrote :

https://bugs.launchpad.net/inkscape/+bug/1768958/comments/23

Closing as testing shows this has been fixed in 1.0alpha. Note version 0.92.4 in Fedora 28 and 29 (from dnf) has no problem opening this file (perhaps Fix Released is more appropriate); however, I am unsure if a commit was actually added to fix it in 0.92.x.

Changed in inkscape:
status: New → Fix Committed
Changed in inkscape:
milestone: none → 0.92.5
Max Gaukler (mgmax)
Changed in inkscape:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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