Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issues with (?0) being wrong in 5.24 (rc?) #15316

Closed
p5pRT opened this issue May 10, 2016 · 8 comments
Closed

Issues with (?0) being wrong in 5.24 (rc?) #15316

p5pRT opened this issue May 10, 2016 · 8 comments

Comments

@p5pRT
Copy link

p5pRT commented May 10, 2016

Migrated from rt.perl.org#128109 (status was 'resolved')

Searchable as RT128109$

@p5pRT
Copy link
Author

p5pRT commented May 10, 2016

From @demerphq

The pattern /\X*(?0)/ and various flavours thereof will not work
correctly due to RExC_open_paren[0] being inappropriately adjusted.

See #128085 for related discussion.

I have a patch, this is just a bug report to get a ticket id for this.

yves

./perl -V
Can't locate Config.pm in @​INC (you may need to install the Config
module) (@​INC contains​:
/usr/local/lib/perl5/site_perl/5.25.1/x86_64-linux
/usr/local/lib/perl5/site_perl/5.25.1
/usr/local/lib/perl5/5.25.1/x86_64-linux /usr/local/lib/perl5/5.25.1
.).
BEGIN failed--compilation aborted.
norole​:yorton@​Styx​:yves/fix_128085​:~/git_tree/perl$ ./perl -I -V
^C
norole​:yorton@​Styx​:yves/fix_128085​:~/git_tree/perl$ ./perl -Ilib -V
Summary of my perl5 (revision 5 version 25 subversion 1) configuration​:
  Derived from​: 2f3182e
  Ancestor​: f5b514a
  Platform​:
  osname=linux, osvers=3.13.0-37-generic, archname=x86_64-linux
  uname='linux styx 3.13.0-37-generic #64-ubuntu smp mon sep 22
21​:28​:38 utc 2014 x86_64 x86_64 x86_64 gnulinux '
  config_args='-Doptimize=-g -d -Dusedevel -Dcc=ccache gcc -Dld=gcc
-DDEBUGGING'
  hint=recommended, useposix=true, d_sigaction=define
  useithreads=undef, usemultiplicity=undef
  use64bitint=define, use64bitall=define, uselongdouble=undef
  usemymalloc=n, bincompat5005=undef
  Compiler​:
  cc='ccache gcc', ccflags ='-fwrapv -DDEBUGGING
-fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
  optimize='-g',
  cppflags='-fwrapv -DDEBUGGING -fno-strict-aliasing -pipe
-fstack-protector -I/usr/local/include'
  ccversion='', gccversion='4.8.4', gccosandvers=''
  intsize=4, longsize=8, ptrsize=8, doublesize=8,
byteorder=12345678, doublekind=3
  d_longlong=define, longlongsize=8, d_longdbl=define,
longdblsize=16, longdblkind=3
  ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=8
  alignbytes=8, prototype=define
  Linker and Libraries​:
  ld='gcc', ldflags =' -fstack-protector -L/usr/local/lib'
  libpth=/usr/local/lib
/usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed
/usr/include/x86_64-linux-gnu /usr/lib /lib/x86_64-linux-gnu
/lib/../lib /usr/lib/x86_64-linux-gnu /usr/lib/../lib /lib
  libs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
  perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
  libc=libc-2.19.so, so=so, useshrplib=false, libperl=libperl.a
  gnulibc_version='2.19'
  Dynamic Linking​:
  dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
  cccdlflags='-fPIC', lddlflags='-shared -g -L/usr/local/lib
-fstack-protector'

Characteristics of this binary (from libperl)​:
  Compile-time options​: DEBUGGING HAS_TIMES PERLIO_LAYERS PERL_COPY_ON_WRITE
  PERL_DONT_CREATE_GVSV
  PERL_HASH_FUNC_ONE_AT_A_TIME_HARD PERL_MALLOC_WRAP
  PERL_PRESERVE_IVUV PERL_USE_DEVEL USE_64_BIT_ALL
  USE_64_BIT_INT USE_LARGE_FILES USE_LOCALE
  USE_LOCALE_COLLATE USE_LOCALE_CTYPE
  USE_LOCALE_NUMERIC USE_LOCALE_TIME USE_PERLIO
  USE_PERL_ATOF
  Locally applied patches​:
uncommitted-changes
656a5b9
be2c0c6
c02894f
4b8803f
35f11c1
dc1a9c2
557e6e6
c800d8b
2c5484a
2bd5e57
0302547
4170737
b74f9bc
3a985a4
8fc1253
0f51bd1
51f69a2
8df928d
  Built under linux
  Compiled at May 10 2016 09​:31​:16
  %ENV​:
  PERLBREW_BASHRC_VERSION="0.67"
  PERLBREW_CONFIGURE_FLAGS="-de -Dcc=ccache\ gcc -Dld=gcc"
  PERLBREW_HOME="/home/yorton/.perlbrew"
  PERLBREW_MANPATH=""
  PERLBREW_PATH="/home/yorton/perl5/perlbrew/bin"
  PERLBREW_ROOT="/home/yorton/perl5/perlbrew"
  PERLBREW_VERSION="0.67"
  @​INC​:
  lib
  /usr/local/lib/perl5/site_perl/5.25.1/x86_64-linux
  /usr/local/lib/perl5/site_perl/5.25.1
  /usr/local/lib/perl5/5.25.1/x86_64-linux
  /usr/local/lib/perl5/5.25.1
  .

--
perl -Mre=debug -e "/just|another|perl|hacker/"

@p5pRT
Copy link
Author

p5pRT commented May 10, 2016

From @demerphq

Fixed in

da7cf1c fix #128109 - do not move
RExC_open_parens[0] in reginsert

Yves

On 10 May 2016 at 09​:47, yves orton <perlbug-followup@​perl.org> wrote​:

# New Ticket Created by yves orton
# Please include the string​: [perl #128109]
# in the subject line of all future correspondence about this issue.
# <URL​: https://rt-archive.perl.org/perl5/Ticket/Display.html?id=128109 >

The pattern /\X*(?0)/ and various flavours thereof will not work
correctly due to RExC_open_paren[0] being inappropriately adjusted.

See #128085 for related discussion.

I have a patch, this is just a bug report to get a ticket id for this.

yves

./perl -V
Can't locate Config.pm in @​INC (you may need to install the Config
module) (@​INC contains​:
/usr/local/lib/perl5/site_perl/5.25.1/x86_64-linux
/usr/local/lib/perl5/site_perl/5.25.1
/usr/local/lib/perl5/5.25.1/x86_64-linux /usr/local/lib/perl5/5.25.1
.).
BEGIN failed--compilation aborted.
norole​:yorton@​Styx​:yves/fix_128085​:~/git_tree/perl$ ./perl -I -V
^C
norole​:yorton@​Styx​:yves/fix_128085​:~/git_tree/perl$ ./perl -Ilib -V
Summary of my perl5 (revision 5 version 25 subversion 1) configuration​:
Derived from​: 2f3182e
Ancestor​: f5b514a
Platform​:
osname=linux, osvers=3.13.0-37-generic, archname=x86_64-linux
uname='linux styx 3.13.0-37-generic #64-ubuntu smp mon sep 22
21​:28​:38 utc 2014 x86_64 x86_64 x86_64 gnulinux '
config_args='-Doptimize=-g -d -Dusedevel -Dcc=ccache gcc -Dld=gcc
-DDEBUGGING'
hint=recommended, useposix=true, d_sigaction=define
useithreads=undef, usemultiplicity=undef
use64bitint=define, use64bitall=define, uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler​:
cc='ccache gcc', ccflags ='-fwrapv -DDEBUGGING
-fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
optimize='-g',
cppflags='-fwrapv -DDEBUGGING -fno-strict-aliasing -pipe
-fstack-protector -I/usr/local/include'
ccversion='', gccversion='4.8.4', gccosandvers=''
intsize=4, longsize=8, ptrsize=8, doublesize=8,
byteorder=12345678, doublekind=3
d_longlong=define, longlongsize=8, d_longdbl=define,
longdblsize=16, longdblkind=3
ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries​:
ld='gcc', ldflags =' -fstack-protector -L/usr/local/lib'
libpth=/usr/local/lib
/usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed
/usr/include/x86_64-linux-gnu /usr/lib /lib/x86_64-linux-gnu
/lib/../lib /usr/lib/x86_64-linux-gnu /usr/lib/../lib /lib
libs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
libc=libc-2.19.so, so=so, useshrplib=false, libperl=libperl.a
gnulibc_version='2.19'
Dynamic Linking​:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
cccdlflags='-fPIC', lddlflags='-shared -g -L/usr/local/lib
-fstack-protector'

Characteristics of this binary (from libperl)​:
Compile-time options​: DEBUGGING HAS_TIMES PERLIO_LAYERS PERL_COPY_ON_WRITE
PERL_DONT_CREATE_GVSV
PERL_HASH_FUNC_ONE_AT_A_TIME_HARD PERL_MALLOC_WRAP
PERL_PRESERVE_IVUV PERL_USE_DEVEL USE_64_BIT_ALL
USE_64_BIT_INT USE_LARGE_FILES USE_LOCALE
USE_LOCALE_COLLATE USE_LOCALE_CTYPE
USE_LOCALE_NUMERIC USE_LOCALE_TIME USE_PERLIO
USE_PERL_ATOF
Locally applied patches​:
uncommitted-changes
656a5b9
be2c0c6
c02894f
4b8803f
35f11c1
dc1a9c2
557e6e6
c800d8b
2c5484a
2bd5e57
0302547
4170737
b74f9bc
3a985a4
8fc1253
0f51bd1
51f69a2
8df928d
Built under linux
Compiled at May 10 2016 09​:31​:16
%ENV​:
PERLBREW_BASHRC_VERSION="0.67"
PERLBREW_CONFIGURE_FLAGS="-de -Dcc=ccache\ gcc -Dld=gcc"
PERLBREW_HOME="/home/yorton/.perlbrew"
PERLBREW_MANPATH=""
PERLBREW_PATH="/home/yorton/perl5/perlbrew/bin"
PERLBREW_ROOT="/home/yorton/perl5/perlbrew"
PERLBREW_VERSION="0.67"
@​INC​:
lib
/usr/local/lib/perl5/site_perl/5.25.1/x86_64-linux
/usr/local/lib/perl5/site_perl/5.25.1
/usr/local/lib/perl5/5.25.1/x86_64-linux
/usr/local/lib/perl5/5.25.1
.

--
perl -Mre=debug -e "/just|another|perl|hacker/"

--
perl -Mre=debug -e "/just|another|perl|hacker/"

@p5pRT
Copy link
Author

p5pRT commented Jan 5, 2017

From @jkeenan

On Tue, 10 May 2016 07​:53​:23 GMT, demerphq wrote​:

Fixed in

da7cf1c fix #128109 - do not move
RExC_open_parens[0] in reginsert

Yves

I am trying to determine whether this ticket is closable.

The commit above did not include any tests, and, since the original description of the problem was very general, we don't have a good way of determining whether the problem was solved.

Thank you very much.

--
James E Keenan (jkeenan@​cpan.org)

@p5pRT
Copy link
Author

p5pRT commented Jan 5, 2017

The RT System itself - Status changed from 'new' to 'open'

@p5pRT
Copy link
Author

p5pRT commented Mar 12, 2018

From @khwilliamson

On Thu, 05 Jan 2017 13​:15​:02 -0800, jkeenan wrote​:

On Tue, 10 May 2016 07​:53​:23 GMT, demerphq wrote​:

Fixed in

da7cf1c fix #128109 - do not move
RExC_open_parens[0] in reginsert

Yves

I am trying to determine whether this ticket is closable.

The commit above did not include any tests, and, since the original
description of the problem was very general, we don't have a good way
of determining whether the problem was solved.

Thank you very much.

Yves, what should we do about this?
--
Karl Williamson

@p5pRT
Copy link
Author

p5pRT commented May 10, 2019

From @hvds

On Mon, 12 Mar 2018 13​:05​:30 -0700, khw wrote​:

On Thu, 05 Jan 2017 13​:15​:02 -0800, jkeenan wrote​:

On Tue, 10 May 2016 07​:53​:23 GMT, demerphq wrote​:

Fixed in

da7cf1c fix #128109 - do not move
RExC_open_parens[0] in reginsert

Yves

I am trying to determine whether this ticket is closable.

The commit above did not include any tests, and, since the original
description of the problem was very general, we don't have a good way
of determining whether the problem was solved.

Thank you very much.

Yves, what should we do about this?

(I'm not Yves but) I think we should close it. There's no particular useful content here beyond what was fixed by the associated patch. If there are remaining problems it seems most likely to me they'll be found by fuzzing, and this ticket is unlikely to be a useful reference in the event anything is found.

Doing that now, feel free to reopen if you disagree.

Hugo

@p5pRT p5pRT closed this as completed May 10, 2019
@p5pRT
Copy link
Author

p5pRT commented May 10, 2019

@hvds - Status changed from 'open' to 'resolved'

@p5pRT
Copy link
Author

p5pRT commented May 10, 2019

From @hvds

The fix is in perl-5.26 and later; it was briefly incorporated in the work towards 5.24.2, but reverted before release.

Note that tests were later added by Dan Collins in ec5bd22​:

commit ec5bd22
Author​: Dan Collins <dcollinsn@​gmail.com>
Date​: Fri Jun 17 19​:40​:57 2016 -0400

  Add tests for regex recursion
 
  d5a00e4 introduced a bug in reginsert that was fixed by da7cf1c,
  originally documented in [perl #128109]. This patch adds two
  regression tests for the testcase reported by Jan Goyvaerts in
  [perl #128420].

Hugo

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant