[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

gEDA-bug: [ geda-Bugs-2017356 ] gschem segfaults when stretching net segments



Bugs item #2017356, was opened at 2008-07-13 16:08
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=818426&aid=2017356&group_id=161080

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: gschem
Group: None
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Nobody/Anonymous (nobody)
Assigned to: Patrick Bernaud (patrickbernaud)
Summary: gschem segfaults when stretching net segments

Initial Comment:
Under certain conditions (namely the number of selected objects and the order of selection), gschem crash if a net segment is stretched and is then deleted as the result of consolidation of connected net segments (originally reported by gene in 1.4.0, then confirmed by Johannes Bauer in 1.5.0.20080706, see "gEDA-user: seg fault when moving group" on user mailing list).

Attached is a testcase based on the example file provided by gene. To reproduce the problem:
1. Select the two horizontal segments on the left with a selection box.
2. Start a move (m) action.
3. Move the selection vertically so that the lower selected segment is aligned with the lowest segment on the right. Note that the vertical segment between the two previous ones now has a length of zero.
4. Finish action.
5. Crash.

The problem is in the sequence of things done to end the stretching of segments: a net segment may be deleted to prevent a null length segments. But there may be previous references on this object (in that particular case due to connection updates) that have not been released. Bug #1912859 is for a similar issue.

The attached patch should fix the problem. It is far from perfect though: there is another invisible bug (the connection status of the objects may be *temporarily* wrong, it is corrected later, hence the 'invisibility') that this patch does not address. More work is definitely needed.


----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=818426&aid=2017356&group_id=161080


_______________________________________________
geda-bug mailing list
geda-bug@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-bug