# New Ticket Created by Patrick R. Michaud # Please include the string: [perl #40990] # in the subject line of all future correspondence about this issue. # <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=40990 >
--- osname= linux osvers= 2.6.16 arch= x86_64-linux-thread-multi cc= cc --- Flags: category=core severity=high ack=no --- Here's another segfault arising in the parrot core as a result of running perl6.pbc on a test file. This may or may not be related to RT #40966; I'm entering it as a separate ticket just in case the two are different. As before, the test works when the -G flag is present, but segfaults when it isn't. The problem appears in r15837: 1. build parrot 2. cd languages/perl6 3. make The core dump appears when running t/00-parrot/08-regex.t: $ ../../parrot perl6.pbc t/00-parrot/08-regex.t Segmentation fault (core dumped) It works fine if -G is present: $ ../../parrot -G perl6.pbc t/00-parrot/08-regex.t 1..11 ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 The backtrace (complete copy below) shows a worrisome "0x00000000deadbeef": (gdb) backtrace #0 0x00000000deadbeef in ?? () #1 0x00002ad8a1631762 in parrot_hash_put (interp=0x50c010, hash=0x2aaaaadcfcb0, key=0x2aaaaad48f28, value=0x2aaaaadcfc10) at src/hash.c:850 #2 0x00002ad8a1631af9 in parrot_hash_clone (interp=0x50c010, hash=0x754050, dest=0x2aaaaadcfcd8) at src/hash.c:967 #3 0x00002ad8a16d56f1 in Parrot_Hash_clone (interp=0x50c010, pmc=0x2aaaaadcfd78) at src/pmc/hash.pmc:205 #4 0x00002ad8a1561882 in Parrot_clone_p_p (cur_opcode=0x2aaaaacd0ab8, interp=0x50c010) at src/ops/set.ops:524 #5 0x00002ad8a162b031 in runops_slow_core (interp=0x50c010, pc=0x2aaaaacd0ab8) at src/runops_cores.c:184 #6 0x00002ad8a161314a in runops_int (interp=0x50c010, offset=137) at src/interpreter.c:775 #7 0x00002ad8a1618a0e in runops (interp=0x50c010, offs=137) at src/inter_run.c:87 #8 0x00002ad8a1618ca8 in runops_args (interp=0x50c010, sub=0x7e6c58, obj=0x550350, meth=0x0, sig=0x2ad8a17481b2 "vP", ap=0x7fff097c0110) at src/inter_run.c:193 #9 0x00002ad8a1618e9b in Parrot_runops_fromc_args (interp=0x50c010, sub=0x7e6c58, sig=0x2ad8a17481b2 "vP") at src/inter_run.c:295 #10 0x00002ad8a16391d8 in Parrot_runcode (interp=0x50c010, argc=2, argv=0x7fff097c0430) at src/embed.c:806 #11 0x00000000004035a6 in main (argc=2, argv=0x7fff097c0430) at compilers/imcc/main.c:723 Thanks! Pm ====complete transcript including backtrace==== $ ../../parrot perl6.pbc t/00-parrot/08-regex.t Segmentation fault (core dumped) $ ../../parrot -G perl6.pbc t/00-parrot/08-regex.t 1..11 ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 $ gdb ../../parrot core.15950 GNU gdb 6.4 Copyright 2005 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "x86_64-suse-linux"...Using host libthread_db library "/lib64/libthread_db.so.1". Core was generated by `../../parrot perl6.pbc t/00-parrot/08-regex.t'. Program terminated with signal 11, Segmentation fault. Reading symbols from /home/pmichaud/parrot/trunk/blib/lib/libparrot.so.0.4.7...done. Loaded symbols for /home/pmichaud/parrot/trunk/blib/lib/libparrot.so.0.4.7 Reading symbols from /lib64/libdl.so.2...done. Loaded symbols for /lib64/libdl.so.2 Reading symbols from /lib64/libcrypt.so.1...done. Loaded symbols for /lib64/libcrypt.so.1 Reading symbols from /lib64/libpthread.so.0...done. Loaded symbols for /lib64/libpthread.so.0 Reading symbols from /lib64/librt.so.1...done. Loaded symbols for /lib64/librt.so.1 Reading symbols from /lib64/libreadline.so.5...done. Loaded symbols for /lib64/libreadline.so.5 Reading symbols from /lib64/libncurses.so.5...done. Loaded symbols for /lib64/libncurses.so.5 Reading symbols from /usr/lib64/libstdc++.so.6...done. Loaded symbols for /usr/lib64/libstdc++.so.6 Reading symbols from /lib64/libm.so.6...done. Loaded symbols for /lib64/libm.so.6 Reading symbols from /lib64/libgcc_s.so.1...done. Loaded symbols for /lib64/libgcc_s.so.1 Reading symbols from /lib64/libc.so.6...done. Loaded symbols for /lib64/libc.so.6 Reading symbols from /lib64/ld-linux-x86-64.so.2...done. Loaded symbols for /lib64/ld-linux-x86-64.so.2 Reading symbols from /home/pmichaud/parrot/trunk/runtime/parrot/dynext/perl6_group.so...done. Loaded symbols for /home/pmichaud/parrot/trunk/runtime/parrot/dynext/perl6_group.so #0 0x00000000deadbeef in ?? () (gdb) backtrace #0 0x00000000deadbeef in ?? () #1 0x00002ad8a1631762 in parrot_hash_put (interp=0x50c010, hash=0x2aaaaadcfcb0, key=0x2aaaaad48f28, value=0x2aaaaadcfc10) at src/hash.c:850 #2 0x00002ad8a1631af9 in parrot_hash_clone (interp=0x50c010, hash=0x754050, dest=0x2aaaaadcfcd8) at src/hash.c:967 #3 0x00002ad8a16d56f1 in Parrot_Hash_clone (interp=0x50c010, pmc=0x2aaaaadcfd78) at src/pmc/hash.pmc:205 #4 0x00002ad8a1561882 in Parrot_clone_p_p (cur_opcode=0x2aaaaacd0ab8, interp=0x50c010) at src/ops/set.ops:524 #5 0x00002ad8a162b031 in runops_slow_core (interp=0x50c010, pc=0x2aaaaacd0ab8) at src/runops_cores.c:184 #6 0x00002ad8a161314a in runops_int (interp=0x50c010, offset=137) at src/interpreter.c:775 #7 0x00002ad8a1618a0e in runops (interp=0x50c010, offs=137) at src/inter_run.c:87 #8 0x00002ad8a1618ca8 in runops_args (interp=0x50c010, sub=0x7e6c58, obj=0x550350, meth=0x0, sig=0x2ad8a17481b2 "vP", ap=0x7fff097c0110) at src/inter_run.c:193 #9 0x00002ad8a1618e9b in Parrot_runops_fromc_args (interp=0x50c010, sub=0x7e6c58, sig=0x2ad8a17481b2 "vP") at src/inter_run.c:295 #10 0x00002ad8a16391d8 in Parrot_runcode (interp=0x50c010, argc=2, argv=0x7fff097c0430) at src/embed.c:806 #11 0x00000000004035a6 in main (argc=2, argv=0x7fff097c0430) at compilers/imcc/main.c:723 (gdb) --- Summary of my parrot 0.4.7 (r15837) configuration: configdate='Sun Nov 26 10:12:50 2006' Platform: osname=linux, archname=x86_64-linux-thread-multi jitcapable=0, jitarchname=nojit, jitosname=linux, jitcpuarch=x86_64 execcapable=0 perl=/usr/bin/perl Compiler: cc='ccache gcc', ccflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING -pipe -Wdeclaration-after-statement -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC', Linker and Libraries: ld='ccache g++', ldflags=' -L/usr/local/lib64', cc_ldflags='', libs='-lm -ldl -lcrypt -lpthread -lrt -lreadline -lncurses' Dynamic Linking: share_ext='.so', ld_share_flags='-shared -L/usr/local/lib64 -fPIC', load_ext='.so', ld_load_flags='-shared -L/usr/local/lib64 -fPIC' Types: iv=long, intvalsize=8, intsize=4, opcode_t=long, opcode_t_size=8, ptrsize=8, ptr_alignment=1 byteorder=12345678, nv=double, numvalsize=8, doublesize=8 --- Environment: HOME LANG LANGUAGE LD_LIBRARY_PATH LOGDIR PATH SHELL