3D + shape quit after rotation

Bug #409043 reported by iglooo101 on 2009-08-04
26
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Inkscape
High
Johan Engelen

Bug Description

3D + rectangle quit after rotation

iglooo101 (iglooo101) wrote :
iglooo101 (iglooo101) wrote :
iglooo101 (iglooo101) wrote :
iglooo101 (iglooo101) wrote :
iglooo101 (iglooo101) wrote :
iglooo101 (iglooo101) wrote :
jazzynico (jazzynico) wrote :

Confirmed on Windows XP, Inkscape rev. 21960 (but works well with 0.46).
Steps to reproduce:
1. Draw a 3D box.
2. Draw a rectangle (doesn't crash with a circle; haven't tried the other shapes).
3. Select all and group.
4. Rotate using the rotation handles.
5. Crash as described.

Changed in inkscape:
importance: Undecided → High
status: New → Confirmed
jazzynico (jazzynico) wrote :

And returns the following error message:

terminate called after throwing an instance of 'Geom::ContinuityError'
  what(): lib2geom exception: Non-contiguous path (src/2geom/path.cpp:355)

tags: added: crash regression
~suv (suv-lp) wrote :

I still can't reproduce this with Inkscape r21973 on OS X 10.5.7 - neither with the attached drawing nor by following the steps in comment #9. What am I missing? (Yes - I did try it with default prefs).

jazzynico (jazzynico) wrote :

Tried again with older win32 revs (the oldest being 20214) and got the same crash.
But I can't reproduce it on Ubuntu 9.04 (pre0).

jazzynico (jazzynico) on 2009-08-05
tags: added: win32
~suv (suv-lp) wrote :

LeWitt:src suv$ grep -i win32 2geom/*
2geom/isnan.h:#elif defined(WIN32) || defined(_isnan)
2geom/isnan.h:# define IS_NAN(_a) (_isnan(_a)) /* Win32 definition */
LeWitt:src suv$

that's the only win32 reference I can find in src/2geom/*…

iglooo101 (iglooo101) wrote :

Inkscape-0.47pre2-1
had the same thing

iglooo101 (iglooo101) wrote :
iglooo101 (iglooo101) wrote :
Alvin Penner (apenner) wrote :

- reproduced on Windows 0.47pre2-2 (Sep 2 2009)
- this looks somewhat similar to Bug 400982, the action of grouping the objects is essential to reproduce the crash. Multiply selecting objects without grouping them will not lead to a crash.

iglooo101 (iglooo101) wrote :

I went through "Bug 400982". I think Bug #409043 is different as per the JING attached

~suv (suv-lp) on 2009-10-03
tags: added: 3dbox
jazzynico (jazzynico) on 2009-10-23
tags: added: ui-selection-group-layer
summary: - 3D + rectangle quit after rotation
+ 3D + shape quit after rotation
jazzynico (jazzynico) wrote :

All the shapes, freehand paths and texts lead to the same crash when grouped with a 3dbox.
The crash happens when releasing the mouse click.

~suv (suv-lp) wrote :

other related reports (crash on win32):
Bug #441048 “3D box and circle crash”
 (crash reported 2009-10-03, XP, 0.47pre3)
Bug #300888 “3D Box, after grouping with another 3D Box does not stay in place.”
 (crash in the comments 2009-10-21, XP, 0.47pre4)
Bug #232124 in Inkscape: “Runtime error while editing 3D object”
 (grouped 3dboxes crash in the comments 2009-09-09, XP 0.47pre1, 0.47pre2)

Bug #441048 seems a duplicate of this report, but I am unsure if bug #300888 is too. It now is obviously a regression introduced between r21720 (0.47pre1) and r22153 (0.47pre2) as described by Alvin in comment 6 but moving grouped 3dboxes didn't crash Inkscape at the time of reporting.

Johan Engelen (johanengelen) wrote :

I've found the problem: sometimes an invalid number is read in persp3d_set (persp3d.cpp). This invalid value leads to an invalid point returned by box3d_get_corner_screen. When this is fed into c->lineto (to draw the box), Inkscape (correctly) crashes.
Here, I've attached a patch that checks for drawing a 3dbox side with invalid coordinates. So Inkscape doesn't crash any more.
The real fix must still be made (what to do with invalid values in persp3d_set?)
The advice for now is not to group 3dboxes it seems...

Changed in inkscape:
assignee: nobody → Maximilian Albert (cilix)
ScislaC (scislac) wrote :

Fix committed in 22564, however leaving open since Johan said it still needs a proper fix for the underlying cause.

jazzynico (jazzynico) on 2009-12-16
Changed in inkscape:
status: Confirmed → In Progress
ScislaC (scislac) wrote :

Marking as Fix Released because the bug report was against a crash and the crash is indeed fixed. If someone runs into issue with 3D boxes having invalid coordinates, a new report should be opened for that if one does not already exist.

Changed in inkscape:
status: In Progress → Fix Committed
assignee: Maximilian Albert (cilix) → Johan Engelen (johanengelen)
milestone: none → 0.48
status: Fix Committed → Fix Released
To post a comment you must log in.