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

Cygwin32 _62 segfaulting on nasty RE #843

Closed
p5pRT opened this issue Nov 11, 1999 · 3 comments
Closed

Cygwin32 _62 segfaulting on nasty RE #843

p5pRT opened this issue Nov 11, 1999 · 3 comments

Comments

@p5pRT
Copy link

p5pRT commented Nov 11, 1999

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

Searchable as RT1771$

@p5pRT
Copy link
Author

p5pRT commented Nov 11, 1999

From scozens@pwj.co.jp

Yes, I *know* the regexp is incorrect. (at least, for what I wanted
it to do - brainfart.) But it shouldn't lead to a segfault - or
should it?

bash-2.03$ perl -lne 'print if /\b(\w+)\s+$1\b/' files.tex
*** some lines of text here ***

[main] D​:\usr\local\bin\perl.exe 1028 (0) handle_exceptions​: Exception​:
STATUS_ACCESS_VIOLATION
[main] perl 1028 (0) handle_exceptions​: Dumping stack trace to
perl.exe.core

Things to note​:
  Different files die on different lines, but I cannot see anything
in common with the lines it barfs on.
  Further investigation shows that changing the line it blows up on
and the line above makes no difference - it seems to be based on the
line number in a file, but then on one file it dies on line 28, on
another, line 19, on another, line 68.
  `Simple' files, like `foo bar\nbaz bar\nfoo quux\n...<repeat for 50
lines>' work fine.
  There's no commonality about what's in $1 either. Real
hair-tearing-out stuff.
  No attempt yet to verify on other platforms - sorry, I'm
trapped at work.

  For those of you who like that sort of thing, here's the stack
trace​:
[main] perl 1074 (0) exception​: trapped!
[main] perl 1074 (0) exception​: code 0xC0000005 at 0x61053637
[main] perl 1074 (0) exception​: ax 0x43 bx 0xA037110 cx 0x42 dx 0x0
[main] perl 1074 (0) exception​: si 0xA037110 di 0x1 bp 0x248FBC0 sp
0x248FBB8
[main] perl 1074 (0) exception​: exception is​: STATUS_ACCESS_VIOLATION
[main] perl 1074 (0) stack​: Stack trace​:
[main] perl 1074 (0) stack​: frame 0​: sp = 0x248F9CC, pc = 0x6100A2C3
[main] perl 1074 (0) stack​: frame 1​: sp = 0x248FA08, pc = 0x77F84C92
[main] perl 1074 (0) stack​: frame 2​: sp = 0x248FA2C, pc = 0x77F7967F
[main] perl 1074 (0) stack​: frame 3​: sp = 0x248FAB8, pc = 0x77F6626E
[main] perl 1074 (0) stack​: frame 4​: sp = 0x248FBC0, pc = 0x61A0A924
[main] perl 1074 (0) stack​: frame 5​: sp = 0x248FBE0, pc = 0x619FA516
[main] perl 1074 (0) stack​: frame 6​: sp = 0x248FC10, pc = 0x619F9A2F
[main] perl 1074 (0) stack​: frame 7​: sp = 0x248FC3C, pc = 0x61A09303
[main] perl 1074 (0) stack​: frame 8​: sp = 0x248FD44, pc = 0x61A015AB
[main] perl 1074 (0) stack​: frame 9​: sp = 0x248FD70, pc = 0x61A00F6D
[main] perl 1074 (0) stack​: frame 10​: sp = 0x248FD78, pc = 0x619C2BFF
[main] perl 1074 (0) stack​: frame 11​: sp = 0x248FD84, pc = 0x61A1C433
[main] perl 1074 (0) stack​: frame 12​: sp = 0x248FD94, pc = 0x61A1C383
[main] perl 1074 (0) stack​: frame 13​: sp = 0x248FDC4, pc = 0x619C292D
[main] perl 1074 (0) stack​: frame 14​: sp = 0x248FEF8, pc = 0x4010BC
[main] perl 1074 (0) stack​: frame 15​: sp = 0x248FF08, pc = 0x61004402
[main] perl 1074 (0) stack​: End of stack trace (more stack frames may be
present)

Enjoy,
Simon

Perl Info


Site configuration information for perl 5.00562:

Configured by 02552 at Fri Oct 22 17:31:02  1999.

Summary of my perl5 (revision 5.0 version 5 subversion 62) configuration:
  Platform:
    osname=cygwin_nt-4.0, osvers=20.1, archname=cygwin
    uname='cygwin_nt-4.0 scozens 20.1 (0.311) 1998-12-3 20:39:18 i586
unknown '
    config_args='-der'
    hint=previous, useposix=true, d_sigaction=define
    usethreads=undef useperlio=undef d_sfio=undef
    use64bits=undef usemultiplicity=undef
  Compiler:
    cc='gcc', optimize='-O', gccversion=egcs-2.91.57 19980901 (egcs-1.1
release)
    cppflags='-DCYGWIN
-I/cygnus/cygwin-b20/H-586-cygwin32/i586-cygwin32/include
-I/usr/local/include -fno-strict-aliasing'
    ccflags ='-DCYGWIN
-I/cygnus/cygwin-b20/H-586-cygwin32/i586-cygwin32/include
-I/usr/local/include -fno-strict-aliasing'
    stdchar='char', d_stdstdio=undef, usevfork=false
    intsize=4, longsize=4, ptrsize=4, doublesize=8
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
    alignbytes=8, usemymalloc=n, prototype=define
  Linker and Libraries:
    ld='ld2', ldflags =' -L/usr/local/lib'
    libpth=/cygnus/cygwin-b20/H-i586-cygwin32/i586-cygwin32/lib
/usr/local/lib
    libs=-lcygwin -lm -lkernel32
    libc=/usr/lib/libc.a, so=dll, useshrplib=true, libperl=libperl.a
  Dynamic Linking:
    dlsrc=dl_cygwin.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' '
    cccdlflags=' ', lddlflags=' -L/usr/local/lib'

Locally applied patches:



@INC for perl 5.00562:
    /usr/local/lib/perl5/5.00562/cygwin
    /usr/local/lib/perl5/5.00562
    /usr/local/lib/site_perl/5.00562/cygwin
    /usr/local/lib/site_perl
    .


Environment for perl 5.00562:
    HOME=/WINNT/Profiles/02552/\xE3\x83\x87\xE3\x82�$B9c�(B\x82�$(D??�(B\x83\x88\xE3\x83\x83\xE3\x83\x97
    LANG (unset)
    LANGUAGE (unset)
    LD_LIBRARY_PATH (unset)
    LOGDIR (unset)

PATH=/usr/local/bin:/usr/bin:/miktex/miktex/bin:/cygnus/CYGWIN~1/H-I586~1/b
in:/PROGRA~1/ORACLE/bin:/WINNT/SYSTEM32:/WINNT:/abas/teamasset://c/bin/lanm
an.dos/netprog://c/dos
    PERL_BADLANG (unset)
    SHELL=/bin/sh

@p5pRT
Copy link
Author

p5pRT commented Nov 11, 1999

From [Unknown Contact. See original ticket]

scozens@​pwj.co.jp writes​:

bash-2.03$ perl -lne 'print if /\b(\w+)\s+$1\b/' files.tex

What is "wrong" about this REx?

 Different files die on different lines\, but I cannot see anything

in common with the lines it barfs on.
Further investigation shows that changing the line it blows up on
and the line above makes no difference - it seems to be based on the
line number in a file, but then on one file it dies on line 28, on
another, line 19, on another, line 68.

This looks pretty similar to a bug Larry found, but cannot be the same
bug. However, without a test file this report is useless.

Hope this helps,
Ilya

@p5pRT
Copy link
Author

p5pRT commented Nov 11, 1999

From [Unknown Contact. See original ticket]

scozens@​pwj.co.jp writes​:

bash-2.03$ perl -lne 'print if /\b(\w+)\s+$1\b/' files.tex

I see​: you used $1 instead of \1. Then it is the same bug as one
which Larry reported. You may want to apply the patch I sent a week
ago nevertheless.

http​://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/1999-11/msg00025.html

Ilya

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

No branches or pull requests

1 participant