On Sat, Nov 30, 2002 at 01:54:48PM +0100, Gilles Lamiral wrote:
>
> > > Further research showed that the problem is with Text::ParseWords.
> > it's a bug in perl's regexp code. run it under gdb and you'll see. a
> > while ago gilles identified it and said he reported it to some perl lists,
> > but i guess nothing ever happened.
>
> Yes. I reported it.
> So now, it is now a 3 years old bug, not corrected :-(
Interesting, the same code works under perl 5.6.1, so I would say
it is something introduced into 5.8.0. By the "same code" I mean
this example:
use Text::ParseWords;
$o = q{'} . q{1} x 3527 . q{'} ;
print "Source string: $o\n";
$l = length $o;
print "string is $l bytes long\n";
@words = parse_line('\s+', 0, $o);
It works with quoted string of any length in perl 5.6.1 but segfaults
in regexp in perl 5.8.0 when qouted string (the part between '') is
longer than 3526 characters.
> Feel free to report it again or patch mon to avoid quoteword() use.
I reported it to [EMAIL PROTECTED], it was assigned #18764.
Unfortunately, I am not that big expert in C to fix regexp code in perl myself :-(
I will try to find a workaround to avoid quoteword() in Mon::Client.
Thanks, -Kastus
--
Konstantin 'Kastus' Shchuka
Unix System Administrator
ePocrates Inc.
tel 650.227.1786
fax 650.592.6995
_______________________________________________
mon mailing list
[EMAIL PROTECTED]
http://linux.kernel.org/mailman/listinfo/mon