OS: Ubunu 15.04, x86_64
Inkscape version:
revno: 14243
branch nick: inkscape
Test case:
<svg>
<path d=" m 9. 45E+7 -3 -693 -4e-766 .3718e7 4,3425E0681,+98 -3.0e02643 -9. 9"></path>
</svg>
Extra flags:
-z // run without GUI
Backtrace:
terminate called after throwing an instance of 'Geom::ContinuityError'
what(): lib2geom exception: Non-contiguous path (2geom/path.cpp:990)
[New Thread 0x7fffe4894700 (LWP 29487)]
[New Thread 0x7fffe5095700 (LWP 29486)]
Program received signal SIGABRT, Aborted.
0x00007fffefe5e267 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:55
55 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0 0x00007fffefe5e267 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:55
#1 0x00007fffefe5feca in __GI_abort () at abort.c:89
#2 0x00007ffff099006d in __gnu_cxx::__verbose_terminate_handler() () at ../../../../src/libstdc++-v3/libsupc++/vterminate.cc:95
#3 0x00007ffff098dee6 in __cxxabiv1::__terminate(void (*)()) (handler=<optimized out>) at ../../../../src/libstdc++-v3/libsupc++/eh_terminate.cc:47
#4 0x00007ffff098df31 in std::terminate() () at ../../../../src/libstdc++-v3/libsupc++/eh_terminate.cc:57
#5 0x00007ffff098e149 in __cxxabiv1::__cxa_throw(void*, std::type_info*, void (*)(void*)) (obj=0x17780c0, tinfo=0xf8d440 <typeinfo for Geom::ContinuityError>, dest=0xcb4e80 <Geom::ContinuityError::~ContinuityError()>) at ../../../../src/libstdc++-v3/libsupc++/eh_throw.cc:87
#6 0x0000000000cafda5 in Geom::Path::do_append(Geom::Curve*) (this=this@entry=0x7fffffffd018, c=c@entry=0x1771260) at 2geom/path.cpp:990
#7 0x0000000000c80fd2 in Geom::BezierCurveN<1u>::feed(Geom::PathSink&, bool) const (a=..., this=0x7fffffffd018) at ./2geom/path.h:734
#8 0x0000000000c80fd2 in Geom::BezierCurveN<1u>::feed(Geom::PathSink&, bool) const (p=..., this=<optimized out>) at ./2geom/path-sink.h:134
#9 0x0000000000c80fd2 in Geom::BezierCurveN<1u>::feed(Geom::PathSink&, bool) const (this=<optimized out>, sink=..., moveto_initial=<optimized out>)
at 2geom/bezier-curve.cpp:289
#10 0x0000000000ce8921 in Geom::SVGPathParser::_pushCurve(Geom::Curve*) (this=0x7fffffffd070, c=0x0)
at /home/tweenk/src/lib2geom/src/2geom/svg-path-parser.rl:195
#11 0x0000000000ce9f3e in Geom::SVGPathParser::_parse(char const*, char const*, bool) (this=0x7fffffffd070, str=0x731e <error: Cannot access memory at address 0x731e>,
str@entry=0x15cdb40 " m 9. 45E+7 -3 -693 -4e-766 .3718e7 4,3425E0681,+98 -3.0e02643 -9. 9", strend=0x6 <error: Cannot access memory at address 0x6>, finish=255, finish@entry=true) at /home/tweenk/src/lib2geom/src/2geom/svg-path-parser.rl:446
#12 0x0000000000cea718 in Geom::SVGPathParser::parse(char const*, int) (this=this@entry=0x7fffffffd070, str=str@entry=0x15cdb40 " m 9. 45E+7 -3 -693 -4e-766 .3718e7 4,3425E0681,+98 -3.0e02643 -9. 9", len=<optimized out>, len@entry=-1) at /home/tweenk/src/lib2geom/src/2geom/svg-path-parser.rl:81
#13 0x000000000081aa7a in sp_svg_read_pathv(char const*) (str=0x15cdb40 " m 9. 45E+7 -3 -693 -4e-766 .3718e7 4,3425E0681,+98 -3.0e02643 -9. 9")
at svg/svg-path.cpp:51
#14 0x00000000005b1591 in SPPath::set(unsigned int, char const*) (this=0x1772f90, key=<optimized out>, value=<optimized out>) at sp-path.cpp:209
#15 0x00000000005b12a4 in SPPath::build(SPDocument*, Inkscape::XML::Node*) (this=0x1772f90, document=<optimized out>, repr=<optimized out>) at sp-path.cpp:166
#16 0x00000000005a95ca in SPObject::invoke_build(SPDocument*, Inkscape::XML::Node*, unsigned int) (this=0x1772f90, document=0x17bbea0, repr=0x17b9b20, cloned=<optimized out>) at sp-object.cpp:758
#17 0x00000000005abb98 in SPObject::build(SPDocument*, Inkscape::XML::Node*) (this=this@entry=0x17750b0, document=document@entry=0x17bbea0, repr=repr@entry=0x17b9c10) at sp-object.cpp:698
#18 0x000000000058024b in SPItem::build(SPDocument*, Inkscape::XML::Node*) (this=this@entry=0x17750b0, document=document@entry=0x17bbea0, repr=repr@entry=0x17b9c10) at sp-item.cpp:409
#19 0x0000000000593829 in SPLPEItem::build(SPDocument*, Inkscape::XML::Node*) (this=this@entry=0x17750b0, document=document@entry=0x17bbea0, repr=repr@entry=0x17b9c10) at sp-lpe-item.cpp:80
#20 0x0000000000583689 in SPGroup::build(SPDocument*, Inkscape::XML::Node*) (this=this@entry=0x17750b0, document=document@entry=0x17bbea0, repr=repr@entry=0x17b9c10) at sp-item-group.cpp:71
#21 0x00000000005b943c in SPRoot::build(SPDocument*, Inkscape::XML::Node*) (this=0x17750b0, document=0x17bbea0, repr=0x17b9c10) at sp-root.cpp:73
#22 0x00000000005a95ca in SPObject::invoke_build(SPDocument*, Inkscape::XML::Node*, unsigned int) (this=0x17750b0, document=0x17bbea0, repr=0x17b9c10, cloned=<optimized out>) at sp-object.cpp:758
#23 0x00000000004af7a1 in SPDocument::createDoc(Inkscape::XML::Document*, char const*, char const*, char const*, unsigned int, SPDocument*) (rdoc=rdoc@entry=
0x17a9a60, uri=uri@entry=0x14d3940 "inkscape/Geom_Path_do_append/crash.svg", base=base@entry=0x17720d0 "inkscape/Geom_Path_do_append/", name=name@entry=0x176ed20 "crash.svg", keepalive=keepalive@entry=1, parent=parent@entry=0x0) at document.cpp:383
#24 0x00000000004b0bee in SPDocument::createNewDoc(char const*, unsigned int, bool, SPDocument*) (uri=0x14d3940 "inkscape/Geom_Path_do_append/crash.svg", keepalive=1, make_new=<optimized out>, parent=0x0) at document.cpp:558
#25 0x0000000000676d21 in Inkscape::Extension::Input::open(char const*) (this=0x14dfab0, uri=uri@entry=0x14d3940 "inkscape/Geom_Path_do_append/crash.svg")
at extension/input.cpp:153
#26 0x0000000000674886 in Inkscape::Extension::open(Inkscape::Extension::Extension*, char const*) (key=key@entry=0x0, filename=filename@entry=0x14d3940 "inkscape/Geom_Path_do_append/crash.svg") at extension/system.cpp:117
Python Exception <class 'TypeError'> iter() returned non-iterator of type '_iterator':
#27 0x0000000000472377 in sp_process_file_list(GSList*) (fl=0x14cb3b0) at main.cpp:1107
#28 0x00000000004738dd in sp_main_console(int, char const**) (argc=3, argv=0x7fffffffd918) at main.cpp:1341
#29 0x00007fffefe49a40 in __libc_start_main (main=
0x459690 <main(int, char**)>, argc=3, argv=0x7fffffffd918, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffd908) at libc-start.c:289
#30 0x0000000000470569 in _start ()
Modified test case with required namespace declaration to be viewable in other SVG viewers