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

Re: gEDA-user: gerbv - abnormal exit (2nd attempt)



Hello!

Thanks for the report.

Of course there should not be any dumping of variables or severe
crashing so that is a bug for sure. gerbv is in the middle of a major
rewrite, so hopefully we might get this into the rewrite. I set it up as
bug at least. Or if you want to do it.

Looking at the gerber you send along there are two things I notice:
1) There is some kind of comment in the middle of the aperture macro.

That is according to the manuals _I_ have seen not legal. Maybe there is
something I have completely missed out.

2) The aperture macro also contains operations like $4=$1X$5.

When I wrote the aperture macro parser (5 years ago) I was not aware of
that this was a legal operation. The last half year something there has
come several reports of (I think) Mentor Graphics generating these kinds
of aperture macros. Unfortunate I have felt that I have painted myself
into a bit of a corner when I wrote the parser, so it is not an easy
task to add.

The parser "compiles" the aperture macro into a small "assembler"
program, where the "assembler" part is a very small stack based thing
with eight operations. Not any operation support the $4= part.

Best regards,
/Stefan

wilson1442@xxxxxxxxxxxxx wrote:
> Sorry if this eventually shows up twice.  "From:" didn't match my 
> subscribed address on my first attempt.
> 
> Upon using version 1.0.3 to view:
> 
> %FSLAX23Y23*%
> %AMRECT*0  Round-cornered rectangle *
> 0 PARAMS: <width>,<height>,<corner diameter>,<angle>,<sine>,<cosine>*
> 21,1,$1-$3,$2,0,0,$4*21,1,$1,$2-$3,0,0,$4*$1=$1-$3*$2=$2-$3*$1=$1/2*$2=$2/2*
> $4=$1X$5*$5=$2X$5*$1=$1X$6*$2=$2X$6*1,1,$3,$1-$5,$4+$2*1,1,$3,$1+$5,$4-$2*
> $4=0-$4*$1=0-$1*1,1,$3,$1-$5,$4+$2*1,1,$3,$1+$5,$4-$2*%
> %ADD11RECT,0.100000X0.060000X0.030000X60.00X0.866025X0.500000*%
> %ADD13RECT,0.100000X0.060000X0.030000X0.00X0.000000X1.000000*%
> %ADD16RECT,0.100000X0.060000X0.030000X30.00X0.500000X0.866025*%
> %ADD28RECT,0.060000X0.100000X0.030000X0.00X0.000000X1.000000*%
> G54D28*G01X425Y150D03*
> G54D13*G01X050Y150D03*
> G54D16*G01X200Y150D03*
> G54D11*G01X325Y150D03*
> M02*
> 
> I am greeted with:
> 
>   *** glibc detected *** .: double free or corruption (out): 0x086b9000
> 
> followed by a massive stack dump I've omitted for brevity.  Of course, 
> these data may be bogus, but I suspect the developers didn't intend 
> memory corruption to result. Platform: Fedora 8 (including GCC, and 
> requisite libraries).
> 
> Indeed, I *think* the data are fine.  Close examination should reveal 
> the macro renders two rectangles overlapped to form a larger rectangle 
> with four small squares removed from its corners.  The squares are then 
> filled by four circles centered so the result is a rectangle with its 
> pointy bits rounded off.
> 
> If I remove the "-" from between "Round" and "cornered" in the aperture 
> macro comment, gerbv displays *something*, but I don't believe it is 
> right.  If I replace the "-" with an "X", I'm back to the stack dump. 
> It appears the comment is somehow mistaken for an expression.
> 
> J. Wilson
> 
> 
> 
> _______________________________________________
> geda-user mailing list
> geda-user@xxxxxxxxxxxxxx
> http://www.seul.org/cgi-bin/mailman/listinfo/geda-user



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