Greetings.
Running NT4SP6, 5.8RC1 compiled debug.

The following session:

D:\Apache2>perl -d -e 42

Loading DB routines from perl5db.pl version 1.19
Editor support available.

Enter h or `h h' for help, or `perldoc perldebug' for more help.

main::(-e:1):   42
  DB<1> ;{use threads;my $var=1;threads->create(sub{$var++})->join();}

Crashes the intepreter, in perl.c:


    /* Destroy the main CV and syntax tree */
    if (PL_main_root) {
        PL_curpad = AvARRAY(PL_comppad);   <=BLAM!
        op_free(PL_main_root);
        PL_main_root = Nullop;
    }

Stack trace:

perl_destruct(interpreter * 0x01cf138c) line 445 + 9 bytes
Perl_ithread_destruct(interpreter * 0x015d6d7c, ithread_s * 0x01e9c6cc,
const char * 0x1000650c `string') line 130 + 12 bytes
ithread_mg_free(interpreter * 0x015d6d7c, sv * 0x01ce6098, magic *
0x02029e7c) line 200 + 18 bytes
Perl_sv_unmagic(interpreter * 0x015d6d7c, sv * 0x01ce6098, int 110) line
4687 + 18 bytes
Perl_ithread_join(interpreter * 0x015d6d7c, sv * 0x01ce6080) line 519 + 19
bytes
XS_threads_join(interpreter * 0x015d6d7c, cv * 0x01ce5f90) line 592 + 13
bytes
Perl_pp_entersub(interpreter * 0x015d6d7c) line 2758 + 16 bytes
Perl_runops_debug(interpreter * 0x015d6d7c) line 1398 + 13 bytes
S_run_body(interpreter * 0x015d6d7c, long 1) line 1670 + 13 bytes
perl_run(interpreter * 0x015d6d7c) line 1594 + 13 bytes
RunPerl(int 4, char * * 0x015e0210, char * * 0x015e0c70) line 202 + 12 bytes
main(int 4, char * * 0x015e0210, char * * 0x015e0c70) line 18 + 18 bytes
PERL! mainCRTStartup + 227 bytes
KERNEL32! 77f1b9ea()

Output of perl -V:

Summary of my perl5 (revision 5 version 8 subversion 0) configuration:
  Platform:
    osname=MSWin32, osvers=4.0, archname=MSWin32-x86-multi-thread
    uname=''
    config_args='undef'
    hint=recommended, useposix=true, d_sigaction=undef
    usethreads=undef use5005threads=undef useithreads=define
usemultiplicity=define
    useperlio=define d_sfio=undef uselargefiles=undef usesocks=undef
    use64bitint=undef use64bitall=undef uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='cl', ccflags ='-nologo -Gf -W3 -Od -MD -Zi -DDEBUGGING -DWIN32
-D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT  -DPERL_IMPLICIT_CONTEXT
-DPERL_IMPLICIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_READFIX',
    optimize='-Od -MD -Zi -DDEBUGGING',
    cppflags='-DWIN32'
    ccversion='', gccversion='', gccosandvers=''
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
    d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=10
    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=4
    alignbytes=8, prototype=define
  Linker and Libraries:
    ld='link', ldflags ='-nologo -nodefaultlib -debug
-libpath:"D:\perl58\lib\CORE"  -machine:x86'
    libpth=MSVCDir=C:\PROGRA~1\MICROS~4\VC98\lib
    libs=  oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib
comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib  netapi32.lib
uuid.lib wsock32.lib mpr.lib winmm.lib  version.lib odbc32.lib odbccp32.lib
msvcrt.lib
    perllibs=  oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib
comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib  netapi32.lib
uuid.lib wsock32.lib mpr.lib winmm.lib  version.lib odbc32.lib odbccp32.lib
msvcrt.lib
    libc=msvcrt.lib, so=dll, useshrplib=yes, libperl=perl58.lib
  Dynamic Linking:
    dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' '
    cccdlflags=' ', lddlflags='-dll -nologo -nodefaultlib -debug
-libpath:"D:\perl58\lib\CORE"  -machine:x86'


Characteristics of this binary (from libperl): 
  Compile-time options: DEBUGGING MULTIPLICITY USE_ITHREADS
PERL_IMPLICIT_CONTEXT PERL_IMPLICIT_SYS
  Built under MSWin32
  Compiled at Jun  4 2002 09:08:01
  @INC:
    D:/perl58/lib
    D:/perl58/site/lib
    .

Reply via email to