gEDA-user: PCB: sudden segfault problems

2008-02-04 Thread Richard Rasker
Hi all,

I'm using gschem + PCB (version 20070208) for a project with some 150
components on a 100x160 mm single-sided circuit board. There are several
polygons, a few (locked) mounting holes, and a fair number of
user-defined footprints.

Up until today, PCB was rock solid, but out of the blue, it has
developed a very frustrating tendency to suddenly drop dead with a
segfault. This only happens when the view is scrolled while copying
traces, drawing a polygon and perhaps one or two other operations.

The command line just says segmentation fault, nothing else. There are
no warning signs either -- one moment I'm working, the next I'm staring
at my desktop.

Could there be something nasty in the pcb circuit file causing this?

I'd be grateful for any help to solve this problem -- it's very
uncomfortable working with the feeling that PCB might quit at any time.

Thanks in advance,

Best regards,

Richard Rasker



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: PCB: sudden segfault problems

2008-02-04 Thread Peter Clifton

On Mon, 2008-02-04 at 18:29 +0100, Richard Rasker wrote:
 Hi all,
 
 I'm using gschem + PCB (version 20070208)

You will almost certainly benefit from an upgrade to the latest release,
20080202.

As for why it just started happen, good guesses would include a bad
polygon in the design, perhaps something degenerate, eg. with coincident
vertices, or not enough points. I can't recall what the trigger tended
to be. Ben Jackson may remember more, as I recall it may have been him
who fixed it.

Best wishes,

-- 
Peter Clifton

Electrical Engineering Division,
Engineering Department,
University of Cambridge,
9, JJ Thomson Avenue,
Cambridge
CB3 0FA

Tel: +44 (0)7729 980173 - (No signal in the lab!)



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: PCB: sudden segfault problems

2008-02-04 Thread Richard Rasker
Op maandag 04-02-2008 om 13:03 uur [tijdzone -0500], schreef DJ Delorie:
 The way to tell what's happening is to run pcb under gdb:
 
 $ gdb pcb
 ...
 (gdb) run myboard.pcb
 ...
 segfault
 (gdb) where
 ... lots of stack dump stuff ...

Ah, I think I see what I did wrong:

Program received signal SIGSEGV, Segmentation fault.
0x080a22b2 in M_POLYAREA_intersect (e=0xbf8f4ec0, afst=0x8576d58,
bfst=0x85efa60, add=1) at polygon1.c:848
848   if (a-contours-xmax = b-contours-xmin 
(gdb)


Indeed, I found a polygon with two edges touching (although not
overlapping) itself. After fixing this, the problem appears to be
solved.

Thanks for the tip with regard to gdb :-)

Best regards,

Richard Rasker



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user