Skip Menu |
Report information
Id: 938
Status: resolved
Priority: 0/
Queue: perl5

Owner: Nobody
Requestors: garethr [at] cre.canon.co.uk
Cc:
AdminCc:

Operating System: Solaris
PatchStatus: (no value)
Severity: High
Type: library
Perl Version: 5.005_02
Fixed In: (no value)



Date: Thu, 1 Jul 1999 12:14:23 +0100
From: garethr [...] cre.canon.co.uk (Gareth Rees)
To: perlbug [...] perl.com
Subject: Regular expression match (?:XX|X)* dumps core
Download (untitled) / with headers
text/plain 2.2k
----------------------------------------------------------------- [Please enter your report here] The following program causes a segmentation violation: $_ = 'X' x 50000; /(?:XX|X)*/; [Please do not change anything below this line] ----------------------------------------------------------------- --- Site configuration information for perl 5.00502: Configured by abw at Thu Nov 19 10:50:08 GMT 1998. Summary of my perl5 (5.0 patchlevel 5 subversion 2) configuration: Platform: osname=solaris, osvers=2.6, archname=sun4-solaris uname='sunos bandanna 5.6 generic_105181-03 sun4u sparc sunw,ultra-1 ' hint=previous, useposix=true, d_sigaction=define usethreads=undef useperlio=undef d_sfio=undef Compiler: cc='gcc', optimize='-O', gccversion=2.8.0 cppflags='-I/opt/gnu/include -I/user/perl/build/include' ccflags ='-I/opt/gnu/include -I/user/perl/build/include' stdchar='unsigned char', d_stdstdio=define, usevfork=false intsize=4, longsize=4, ptrsize=4, doublesize=8 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16 alignbytes=8, usemymalloc=n, prototype=define Linker and Libraries: ld='gcc', ldflags ='-L/opt/gnu/lib -L/user/perl/build/lib' libpth=/opt/gnu/lib /lib /usr/lib /usr/ccs/lib /user/perl/build/lib libs=-lsocket -lnsl -lgdbm -ldl -lm -lc -lcrypt -ldb libc=/lib/libc.so, so=so, useshrplib=false, libperl=libperl.a Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' ' cccdlflags='-fPIC', lddlflags='-G -L/opt/gnu/lib -L/user/perl/build/lib' Locally applied patches: --- @INC for perl 5.00502: /apps/perl5/lib/5.00502/sun4-solaris /apps/perl5/lib/5.00502 /apps/perl5/lib/site_perl/5.005/sun4-solaris /apps/perl5/lib/site_perl/5.005 . --- Environment for perl 5.00502: HOME=/user/garethr LANG=C LD_LIBRARY_PATH=/usr/dt/lib:/usr/openwin/lib:/apps/X11R5/lib:/usr/lib LOGDIR (unset) PATH=/usr/dt/bin:/usr/openwin/bin:/bin:/usr/bin:/usr/ucb:/bin:/usr/bin:/cre/bin:/apps/gcc-2.8.0/bin:/apps/frame5/bin:/apps/emacs/bin:/apps/tex/bin:/apps/perl5/bin:/user/web/bin/scripts:/user/web/bin/SunOS-5.6:/apps/gnu/bin:/apps/mysql/bin:/usr/ccs/bin:/apps/X11R5/bin:/usr/openwin/bin PERL_BADLANG (unset) SHELL=/cre/bin/bash
Date: Mon, 18 Sep 2000 11:53:35 +0100
From: Michael Stevens <mstevens [...] globnix.org>
To: perl5-porters [...] perl.org
Subject: regexp bug 19990701.001
Download (untitled) / with headers
text/plain 143b
This regexp bug can _still_ cause a segfault in bleadperl as of today. --cut-- #!/usr/local/bin/perl $_ = 'X' x 50000; /(?:XX|X)*/; --cut--
To: Michael Stevens <mstevens [...] globnix.org>
Cc: perl5-porters [...] perl.org
Subject: Re: regexp bug 19990701.001
Date: Mon, 18 Sep 2000 13:33:17 +0100
From: Hugo <hv [...] crypt.compulink.co.uk>
Download (untitled) / with headers
text/plain 568b
In <20000918115335.A27376@athenaeum.globnix.org>, Michael Stevens writes: :This regexp bug can _still_ cause a segfault in bleadperl as of today. : :--cut-- :#!/usr/local/bin/perl : :$_ = 'X' x 50000; :/(?:XX|X)*/; Yes, this is not likely to be fixed any time soon: the recursion exceeds your stack size. Increasing the stack size for perl may allow you to match longer strings before it breaks, but a fix involves flattening the recursion out of the regexp matcher, which is a) difficult and b) not of the highest priority. But patches welcome, of course. :) Hugo
Date: Mon, 18 Sep 2000 14:10:50 +0100
From: Michael Stevens <mstevens [...] globnix.org>
To: perl5-porters [...] perl.org
Subject: Re: regexp bug 19990701.001
Download (untitled) / with headers
text/plain 533b
On Mon, Sep 18, 2000 at 01:33:17PM +0100, Hugo wrote: Show quoted text
> Yes, this is not likely to be fixed any time soon: the recursion exceeds > your stack size. Increasing the stack size for perl may allow you to > match longer strings before it breaks, but a fix involves flattening > the recursion out of the regexp matcher, which is a) difficult and b) > not of the highest priority. But patches welcome, of course. :)
It would be nice if it could at least say "this is too big, I give up". Code wise, the regexp stuff scares me. Michael.
To: Michael Stevens <mstevens [...] globnix.org>
Cc: perl5-porters [...] perl.org
Subject: Re: regexp bug 19990701.001
Date: Mon, 18 Sep 2000 15:44:58 +0100
From: Hugo <hv [...] crypt.compulink.co.uk>
Download (untitled) / with headers
text/plain 947b
In <20000918141050.A29064@athenaeum.globnix.org>, Michael Stevens writes: :On Mon, Sep 18, 2000 at 01:33:17PM +0100, Hugo wrote: :> Yes, this is not likely to be fixed any time soon: the recursion exceeds :> your stack size. Increasing the stack size for perl may allow you to :> match longer strings before it breaks, but a fix involves flattening :> the recursion out of the regexp matcher, which is a) difficult and b) :> not of the highest priority. But patches welcome, of course. :) : :It would be nice if it could at least say "this is too big, I give up". : :Code wise, the regexp stuff scares me. It should do: that is what the REG_INFTY stuff is there for. However it is difficult (impossible?) for Configure to determine the right value to set REG_INFTY to - I believe it is usually too high under Linux, for example - and I have seen suggestions that the REG_INFTY check may not be triggered when it should in all cases. HTH, Hugo
still core dumps in bleadperl as of 18/sep/2000, perl 5.7.0 DEVEL7093


This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

For issues related to this RT instance (aka "perlbug"), please contact perlbug-admin at perl.org