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 .