At 03:24 PM 6/29/2001 +0200, [EMAIL PROTECTED] wrote:
>I use Parse::RecDescent with VMS, when i create a new parser object a snd.
>time the program failed
>
>one parse object alone works fine but the second one ...
>
>my $gramm = new Parse::RecDescent ($grammar);
>...
>$gramm = ();
>my $parse = new Parse::RecDescent ($gr);
>
>Assertion failed: file "PERL_SRC:[PERL5_005_03]PP.C;1", line 2662 at
>/PERL_ROOT/DEBLIB/Parse/RecDescent.pm line 1737.
>%SYSTEM-F-ABORT, abort
I've never used this module, but I would recommend seeing if the same
behavior is exhibited with Perl 5.6.1 (assuming you have that available).
If the line number is correct, you are blowing up on the line with the
comment "would leak, so croak" in a routine called pp_splice. Many, many
leaks were fixed in 5.6.1.
/* At this point, MARK .. SP-1 is our new LIST */
newlen = SP - MARK;
diff = newlen - length;
if (newlen && !AvREAL(ary)) {
if (AvREIFY(ary))
av_reify(ary);
else
assert(AvREAL(ary)); /* would leak, so croak */
}