crash while snapping during rotation

Bug #1701930 reported by Mattia Rizzolo
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Inkscape
New
Undecided
Unassigned
inkscape (Debian)
Unknown
Unknown

Bug Description

Trying to rotate the dashed line in the attached file will result in a crash.

Reproduced in 0.92.1 in linux.

backtrace (also at https://paste.ubuntu.com/25004311):

(gdb) bt
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1 0x00007f804f2904ea in __GI_abort () at abort.c:118
#2 0x00007f804f287e37 in __assert_fail_base (fmt=<optimized out>, assertion=assertion@entry=0x7f80592509e8 "are_near(_ellipse.pointAt(t), i->point(), 1e-5)",
    file=file@entry=0x7f80592509a0 "/build/inkscape-MxzU8f/inkscape-0.92.1/src/2geom/elliptical-arc.cpp", line=line@entry=573,
    function=function@entry=0x7f8059250a60 "void Geom::EllipticalArc::_filterIntersections(std::vector<Geom::Intersection<> >&, bool) const") at assert.c:92
#3 0x00007f804f287ee2 in __GI___assert_fail (assertion=0x7f80592509e8 "are_near(_ellipse.pointAt(t), i->point(), 1e-5)",
    file=0x7f80592509a0 "/build/inkscape-MxzU8f/inkscape-0.92.1/src/2geom/elliptical-arc.cpp", line=573,
    function=0x7f8059250a60 "void Geom::EllipticalArc::_filterIntersections(std::vector<Geom::Intersection<> >&, bool) const") at assert.c:101
#4 0x00007f80590cf305 in Geom::EllipticalArc::_filterIntersections(std::vector<Geom::Intersection<double, double>, std::allocator<Geom::Intersection<double, double> > >&, bool) const () from /usr/bin/../lib/inkscape/libinkscape_base.so
#5 0x00007f80590d17c8 in Geom::EllipticalArc::intersect(Geom::Curve const&, double) const () from /usr/bin/../lib/inkscape/libinkscape_base.so
#6 0x00007f80590ed22d in Geom::Sweeper<Geom::CurveIntersectionSweepSet>::process() () from /usr/bin/../lib/inkscape/libinkscape_base.so
#7 0x00007f80590e907f in Geom::Path::intersect(Geom::Path const&, double) const () from /usr/bin/../lib/inkscape/libinkscape_base.so
#8 0x00007f80590f1689 in Geom::Sweeper<Geom::PathIntersectionSweepSet>::process() () from /usr/bin/../lib/inkscape/libinkscape_base.so
#9 0x00007f80590f065e in Geom::PathVector::intersect(Geom::PathVector const&, double) const () from /usr/bin/../lib/inkscape/libinkscape_base.so
#10 0x00007f8058ebcf31 in Inkscape::ObjectSnapper::_snapPathsConstrained(IntermSnapResults&, Inkscape::SnapCandidatePoint const&, Inkscape::Snapper::SnapConstraint const&, Geom::Point const&) const () from /usr/bin/../lib/inkscape/libinkscape_base.so
#11 0x00007f8058ebe01c in Inkscape::ObjectSnapper::constrainedSnap(IntermSnapResults&, Inkscape::SnapCandidatePoint const&, Geom::OptRect const&, Inkscape::Snapper::SnapConstraint const&, std::vector<SPItem const*, std::allocator<SPItem const*> > const*, std::vector<Inkscape::SnapCandidatePoint, std::allocator<Inkscape::SnapCandidatePoint> >*) const ()
   from /usr/bin/../lib/inkscape/libinkscape_base.so
#12 0x00007f8058f0171e in SnapManager::constrainedSnap(Inkscape::SnapCandidatePoint const&, Inkscape::Snapper::SnapConstraint const&, Geom::OptRect const&) const ()
   from /usr/bin/../lib/inkscape/libinkscape_base.so
#13 0x00007f8058ecb128 in Inkscape::PureRotateConstrained::snap(SnapManager*, Inkscape::SnapCandidatePoint const&, Geom::Point, Geom::OptRect const&) const ()
   from /usr/bin/../lib/inkscape/libinkscape_base.so
#14 0x00007f8058ecba23 in Inkscape::PureTransform::snap(SnapManager*, std::vector<Inkscape::SnapCandidatePoint, std::allocator<Inkscape::SnapCandidatePoint> > const&, Geom::Point const&) () from /usr/bin/../lib/inkscape/libinkscape_base.so
#15 0x00007f8058efd67b in SnapManager::snapTransformed(std::vector<Inkscape::SnapCandidatePoint, std::allocator<Inkscape::SnapCandidatePoint> > const&, Geom::Point const&, Inkscape::PureTransform&) () from /usr/bin/../lib/inkscape/libinkscape_base.so
#16 0x00007f8058ef1165 in Inkscape::SelTrans::rotateRequest(Geom::Point&, unsigned int) () from /usr/bin/../lib/inkscape/libinkscape_base.so
#17 0x00007f8058ef5ce0 in Inkscape::SelTrans::handleRequest(SPKnot*, Geom::Point*, unsigned int, SPSelTransHandle const&) () from /usr/bin/../lib/inkscape/libinkscape_base.so
#18 0x00007f8058ef8d4f in sigc::internal::slot_call<sigc::bind_functor<-1, sigc::pointer_functor4<SPKnot*, Geom::Point*, unsigned int, SPSelTransHandle const*, int>, SPSelTransHandle const*, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>, bool, SPKnot*, Geom::Point*, unsigned int>::call_it(sigc::internal::slot_rep*, SPKnot* const&, Geom::Point* const&, unsigned int const&) () from /usr/bin/../lib/inkscape/libinkscape_base.so
#19 0x00007f8058eadbb6 in SPKnot::requestPosition(Geom::Point const&, unsigned int) () from /usr/bin/../lib/inkscape/libinkscape_base.so
#20 0x00007f8058eadd0f in sp_knot_handler_request_position(_GdkEvent*, SPKnot*) () from /usr/bin/../lib/inkscape/libinkscape_base.so
#21 0x00007f8058b5d7b1 in Inkscape::UI::Tools::sp_event_context_snap_watchdog_callback(void*) () from /usr/bin/../lib/inkscape/libinkscape_base.so
#22 0x00007f8056415343 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#23 0x00007f80564148ca in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#24 0x00007f8056414c80 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#25 0x00007f8056414fa2 in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#26 0x00007f8052b6d3b7 in gtk_main () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#27 0x000055a432d1085b in sp_main_gui(int, char const**) ()
#28 0x00007f804f27c2b1 in __libc_start_main (main=0x55a432d0e350 <main>, argc=2, argv=0x7ffef3cb70e8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>,
    stack_end=0x7ffef3cb70d8) at ../csu/libc-start.c:291
#29 0x000055a432d0e8ba in _start ()

Originally reported at https://bugs.debian.org/864415

Tags: crash snapping
Revision history for this message
Mattia Rizzolo (mapreri) wrote :
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.