3D + shape quit after rotation

Bug #409043 reported by iglooo101
26
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Inkscape
Fix Released
High
Johan Engelen

Bug Description

3D + rectangle quit after rotation

Revision history for this message
iglooo101 (iglooo101) wrote :
Revision history for this message
iglooo101 (iglooo101) wrote :
Revision history for this message
iglooo101 (iglooo101) wrote :
Revision history for this message
iglooo101 (iglooo101) wrote :
Revision history for this message
iglooo101 (iglooo101) wrote :
Revision history for this message
iglooo101 (iglooo101) wrote :
Revision history for this message
iglooo101 (iglooo101) wrote :
Revision history for this message
iglooo101 (iglooo101) wrote :
Revision history for this message
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
Revision history for this message
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
Revision history for this message
su_v (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).

Revision history for this message
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)
tags: added: win32
Revision history for this message
su_v (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/*…

Revision history for this message
iglooo101 (iglooo101) wrote :

Inkscape-0.47pre2-1
had the same thing

Revision history for this message
iglooo101 (iglooo101) wrote :
Revision history for this message
iglooo101 (iglooo101) wrote :
Revision history for this message
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.

Revision history for this message
iglooo101 (iglooo101) wrote :

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

su_v (suv-lp)
tags: added: 3dbox
jazzynico (jazzynico)
tags: added: ui-selection-group-layer
summary: - 3D + rectangle quit after rotation
+ 3D + shape quit after rotation
Revision history for this message
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.

Revision history for this message
su_v (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.

Revision history for this message
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)
Revision history for this message
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)
Changed in inkscape:
status: Confirmed → In Progress
Revision history for this message
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.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.