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

Reply via email to