Crash zooming/panning document with odd path (1.1-dev)
Summary:
This is a follow-up of #1784 (closed), where the file would crash on open, after raising a libcairo assert. This one is a lib2geom assert, and doesn't crash immediately.
Steps to reproduce:
- open Inkscape
- open inkscape-bad-path.svg
- pan around the screen and zoom into the path
Alternatively, create a path and open the XML editor. Replace the path data (d
) with the path data in the above file
M294.27,420.33l0,0h0l0,0,.21.18.29.25.17.14a.6.6,0,0,1,.08.08l.08.08a1.15,1.15,0,0,1,.14.17,1,1,0,0,1,.11.2,1.4,1.4,0,0,1,.1.46,2.81,2.81,0,0,1,0,.44.84.84,0,0,1,0,.14l0,.06,0,0-.06-.05a2.11,2.11,0,0,0-.2-.18c-.08-.08-.19-.16-.29-.25l-.17-.14a1.21,1.21,0,0,1-.16-.16.6.6,0,0,0-.08-.08.33.33,0,0,1-.06-.1.67.67,0,0,1-.12-.2,1.1,1.1,0,0,1-.09-.45,1.9,1.9,0,0,1,.05-.44v-.15A.18.18,0,0,0,294.27,420.33Z
Backtrace is similar
What happened?
- crash
** (org.inkscape.Inkscape:30475): WARNING **: 20:00:59.036: Bad angle while drawing EllipticalArc
** (org.inkscape.Inkscape:30475): WARNING **: 20:01:00.694: Bad angle while drawing EllipticalArc
** (org.inkscape.Inkscape:30475): WARNING **: 20:01:01.232: Bad angle while drawing EllipticalArc
(org.inkscape.Inkscape:30475): glibmm-ERROR **: 20:01:02.728:
unhandled exception (type std::exception) in signal handler:
what: lib2geom exception: assertion failed: B.isFinite() (../src/3rdparty/2geom/src/2geom/sbasis-to-bezier.cpp:485)
Trace/breakpoint trap (core dumped)
inkscape-backtrace-paste-odd-data.txt
inkscape-backtrace-zooming.txt
What should have happened?
No crash
Version Info:
Inkscape 1.1-dev (0d2e79aa, 2020-08-18) Linux Mint 20