[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