Bug #56 - Lockup, document corruption editing vector graphic
Product:PageStream 5.0.1.37 (All Platforms)Reported By:Tim Doty
Severity:CriticalAssigned To:Deron Kazmaier
Priority:Average sign in to watch (1 is watching)
Status:NewReported:2005-03-24 01:35:00
Category:Drawing ToolsUpdated:2005-03-24 01:35:00
Summary:Lockup, document corruption editing vector graphic
Keywords:path edit,path reshape,reshape tool
Attached Files:Spade.ilusLen:1,660 bytesMD5:6c0aae33ebfd8fad38eacad54075567eexample drawing
 Sign In to add a file.

Using PgS to draw playing cards for a computer game I'm working on I ran into a problem. I drew the spade symbol and all seems well and good, but I wanted to use that as the basis for the club. The end result was several lockups (just PageStream taking 100% cpu) and the document corrupted (trying to open it results in nothing: no errors, no hang, nada).

To provide a test object I exported the spade graphic as iff-ilus. I have tested the behavior in v4, v5.0.1.36 and v5.0.1.37.

The spade was drawn in a clockwise fashion with the freehand tool starting with the point at the top. Using alt-click to add a point works everywhere except between the first point and the second point. Attempting to alt-click there once produced no result. Every other time it has resulted in a point at some extreme (say, -900,900 inches, although not that round of a number). One time it created an impossible point as a spur off of the second point (or the added point was put there and the second point displaced.

The reason I say an impossible point is that it was connected to the second point with a line, but to no other point in the drawing. To all appearances the second point connected to three other points.

All of this was packed close together so I'm not 100% sure when the document corruption occured. Fortunately I have PgS keep extensive backups so I just reverted to the previous edit.

After correcting the massively stray point further attempts to add points result in PgS hanging.

I marked it critical due to the hanging and document corruption.


------- Additional Comment #1 From Tim Doty 2005-03-24 01:37 -------

Forgot to mention: when I draw the original spade I "dragged" the final point in to have the curve handle. I noticed an extra point and deleted either the first or last point drawn (sorry, I don't remember). I suspect that this is related to the problem.


------- Additional Comment #2 From Tim Doty 2005-12-30 14:18 -------

I just tested with 5.0.2.10rc3 and the problem is still there. I can't find anything odd about the test graphic, but attempting to add a point as described causes the point to be added at a maximum distance. Selecting one of the other points and then using the 'next/previous point' buttons causes PgS to hang when moving to the problem point.

Adding a point between other points doesn't cause a problem.

As previously noted there seem to be two alternatives for an added point in the problem line segment: either it is added at an extreme place or no point is added. That seems to be an issue about visibility: the point is added regardless, but the line segment may not be visibly altered. To test this I selected a point and tried to use the 'next/previous point' buttons and PgS hung. This works on the original drawing without hanging.

Something caused PgS to corrupt the drawing. It appears to be okay, but cannot be edited in that segment.

One final note: I tried 'reverse path' on it and that seemed to fix it, but instead transferred the problem to an adjacent line segment. The drawing was made by starting and stopping at the top-most point and proceeding in a clockwise fashion. The closing action created an extraneous point which was deleted -- presumably this point was the first point which made the second point the new first point. The problem segment is between the last point and the new first point. If the path is reversed the problem is between the first point and what was the second point. I believe the problem is that, when adding a point, it is trying to use a non-existant first point, hence the impossible coordinates.


------- Additional Comment #3 From Tim Doty 2005-12-31 14:40 -------

Steps to (partially) replicate:

1. New document
2. Use pen tool to create a minimal drawing (three points), each of which has curves. Close the graphic by clicking on the first point and dragging to create the curve handle.
3. Separate the first and last points (it should be a single point, instead there are two at identical coordinates with a straight-line section between them).
4. Delete the first point, the line segment between the last point and the now first point is a straight-line.
5. Convert the straight-line segment to being a curve segment by alt-clicking and dragging on the points.
5a. note that on the first point this does not quite work: you can't drag the created curve handle out but must manually edit it first.
6. Try to add an additional point to the line-segment by alt-clicking, nothing happens.
7. Verify the points have not been added by using the 'next/previous point' buttons.
8. Verify that alt-clicking can be used to add points elsewhere.

So it looks like the initial problem of being able to crash PgS has been resolved by not allowing the points to be added, but not being able to add points is itself a problem.

Finally,

Clicking very close to the first point, but still on the problem line segment, *does* create a new point. The line-segment between it and the old first point is a straight-line. Attempting to add points there succeeds, but attempting to add points between it and the last point fail -- except very close to it where a straight-line segment is created, wash/rinse/repeat


------- Additional Comment #4 From Tim Doty 2005-12-31 14:41 -------

Correction: the new point is added on the opposite! side of the first point, even though the clicking is on the problem line-segment. So the point is being added incorrectly.

Add a Comment
Sign in to add a comment.

Bug #56 - Lockup, document corruption editing vector graphic by Tim Doty   path edit,path reshape,reshape tool
  created:2005-03-24 01:35:00   last updated:2005-03-24 01:35:00
  Copyright © 1985-2021 GrasshopperLLC. All Rights Reserved.


sign in to add a bug