gEDA-user: PCB: sudden segfault problems
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
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
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