inkscape crashes when elements are rotated to match other ones

Bug #1578919 reported by chmapak
This bug affects 1 person
Affects Status Importance Assigned to Milestone

Bug Description




While Working on a geometrical shape, I was trying to overlay one geometry to another. For this I have snapped the center point of the geometry I was matching to the other one at the farthest corner.( the opposite corner where movement will occur over a pivot point) while doing this inkscape crashed, giving a message. The screen dump for the same is enclosed.

Please note that this bug is strange because after crash the same operation was done without any issue, however I have noticed that a crash is almost sure in operation similar to above at some different instants.

Tags: crash snapping
Revision history for this message
chmapak (chmapakbhumia) wrote :
jazzynico (jazzynico)
tags: added: crash
removed: geo match
Changed in inkscape:
importance: Undecided → High
tags: added: snapping
Revision history for this message
Tavmjong Bah (tavmjong-free) wrote :
Download full text (4.6 KiB)

Crash appears to be in snapping. Error message:

inkscape: /usr/include/boost/optional/optional.hpp:1005: boost::optional<T>::reference_type boost::optional<T>::get() [with T = Geom::Rect; boost::optional<T>::reference_type = Geom::Rect&]: Assertion `this->is_initialized()' failed.

#0 0x00007fffeeb59a28 in raise () at /lib64/
#1 0x00007fffeeb5b62a in abort () at /lib64/
#2 0x00007fffeeb52227 in __assert_fail_base () at /lib64/
#3 0x00007fffeeb522d2 in () at /lib64/
#4 0x0000000000eb9bb2 in Geom::Sweeper<Geom::PathIntersectionSweepSet>::process() (this=<optimized out>) at /usr/include/boost/optional/optional.hpp:1005
#5 0x0000000000eb9bb2 in Geom::Sweeper<Geom::PathIntersectionSweepSet>::process() (this=<optimized out>) at /usr/include/boost/optional/optional.hpp:1022
#6 0x0000000000eb9bb2 in Geom::Sweeper<Geom::PathIntersectionSweepSet>::process() (ii=..., this=<optimized out>) at 2geom/pathvector.cpp:179
#7 0x0000000000eb9bb2 in Geom::Sweeper<Geom::PathIntersectionSweepSet>::process() (this=this@entry=0x7fffffffced0) at ./2geom/sweeper.h:115
#8 0x0000000000eb8676 in Geom::PathVector::intersect(Geom::PathVector const&, double) const (this=this@entry=0x7fffffffd050, other=..., precision=precision@entry=9.9999999999999995e-07)
    at 2geom/pathvector.cpp:228
#9 0x000000000074f738 in Inkscape::ObjectSnapper::_snapPathsConstrained(IntermSnapResults&, Inkscape::SnapCandidatePoint const&, Inkscape::Snapper::SnapConstraint const&, Geom::Point const&) const (this=this@entry=0x4765030, isr=..., p=..., c=..., p_proj_on_constraint=...) at object-snapper.cpp:647
#10 0x00000000007503dd 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 (this=0x4765030, isr=..., p=..., bbox_to_snap=..., c=..., it=0x47652a8, unselected_nodes=0x0) at object-snapper.cpp:734
#11 0x00000000007939da in SnapManager::multipleConstrainedSnaps(Inkscape::SnapCandidatePoint const&, std::vector<Inkscape::Snapper::SnapConstraint, std::allocator<Inkscape::Snapper::SnapConstraint> > const&, bool, Geom::OptRect const&) const (this=this@entry=0x4765018, p=..., constraints=std::vector of length 2, capacity 2 = {...}, dont_snap=dont_snap@entry=false, bbox_to_snap=...) at snap.cpp:344
#12 0x0000000000794cc4 in SnapManager::constrainedAngularSnap(Inkscape::SnapCandidatePoint const&, boost::optional<Geom::Point> const&, Geom::Point const&, unsigned int) const (this=this@entry=0x4765018, p=..., p_ref=..., o=..., snaps=snaps@entry=12) at snap.cpp:378
#13 0x0000000000cdc836 in Inkscape::UI::Tools::spdc_endpoint_snap_rotation(Inkscape::UI::Tools::ToolBase const*, Geom::Point&, Geom::Point const&, unsigned int) (ec=<optimized out>, p=..., o=..., state=<optimized out>) at ui/tools/freehand-base.cpp:586
#14 0x0000000000cfbecf in Inkscape::UI::Tools::PenTool::_endpointSnap(Geom::Point&, unsigned int) const (this=<optimized out>, p=..., state=<optimized out>) at ui/tools/pen-tool.cpp:...


jazzynico (jazzynico)
Changed in inkscape:
status: New → Triaged
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers