# New Ticket Created by  Geraud CONTINSOUZAS 
# Please include the string:  [perl #59340]
# in the subject line of all future correspondence about this issue. 
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=59340 >


---
osname= freebsd
osvers= 7.1-prerelease
arch=   i386-freebsd-thread-multi-64int
cc=     cc
---
Flags:
    category=core
    severity=medium
    ack=no
---
I reported a problem on IRC yesterday and was prompted to file a bug. So here 
we go.

[217]# prove t/stm/runtime.t
t/stm/runtime....ok 1/5
#   Failed test 'queue adapted for the library'
#   in t/stm/runtime.t at line 506.
t/stm/runtime....NOK 4# Exited with error code: 139
# Received:
# Segmentation fault (core dumped)
#
# Expected:
# ok
#
# Looks like you failed 1 test of 5.

[218]# gdb ./parrot
GNU gdb 6.1.1 [FreeBSD]

...

(gdb) r t/stm/runtime_4.pir
Starting program: /usr/home/geraud/code/parrot/parrot t/stm/runtime_4.pir
[New LWP 100284]
[New Thread 0x8101100 (LWP 100284)]
[New Thread 0x8101200 (LWP 100311)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x8101100 (LWP 100284)]
0x281c0ad7 in Parrot_dod_trace_children (interp=0x8106040, how_many=4294966630) 
at src/gc/dod.c:399
399             const UINTVAL bits = PObj_get_FLAGS(current) & mask;
(gdb) p mask
$1 = 17825792
(gdb) p current
$2 = (PMC *) 0x0
(gdb) p arena_base->dod_mark_start
$3 = (PMC *) 0x819cef4
(gdb) bt
#0  0x281c0ad7 in Parrot_dod_trace_children (interp=0x8106040, 
how_many=4294966630) at src/gc/dod.c:399
#1  0x281c0a74 in trace_active_PMCs (interp=0x8106040, trace_stack=1) at 
src/gc/dod.c:362
#2  0x281c15a7 in Parrot_dod_ms_run (interp=0x8106040, flags=1) at 
src/gc/dod.c:1140
#3  0x281c16aa in Parrot_do_dod_run (interp=0x8106040, flags=1) at 
src/gc/dod.c:1190
#4  0x281c2f78 in more_traceable_objects (interp=0x8106040, pool=0x815e150) at 
src/gc/smallobject.c:163
#5  0x281c305a in gc_ms_get_free_object (interp=0x8106040, pool=0x815e150) at 
src/gc/smallobject.c:245
#6  0x281c6023 in new_pmc_header (interp=0x8106040, flags=0) at 
src/headers.c:322
#7  0x281f9f86 in get_new_pmc_header (interp=0x8106040, base_type=36, flags=0) 
at src/pmc.c:267
#8  0x281fa15c in pmc_new_init (interp=0x8106040, base_type=36, init=0x81fdb88) 
at src/pmc.c:367
#9  0x2837adec in Parrot_Hash_get_iter (interp=0x8106040, pmc=0x81fdb88) at 
hash.pmc:581
#10 0x28203fdd in pt_ns_clone (d=0x8106260, dest_ns=0x877cb88, s=0x8106040, 
source_ns=0x81fdb88) at src/thread.c:550
#11 0x28204104 in pt_ns_clone (d=0x8106260, dest_ns=0x86237b4, s=0x8106040, 
source_ns=0x819d7b4) at src/thread.c:566
#12 0x28204104 in pt_ns_clone (d=0x8106260, dest_ns=0x86237d0, s=0x8106040, 
source_ns=0x819d7d0) at src/thread.c:566
#13 0x28204228 in pt_clone_globals (d=0x8106260, s=0x8106040) at 
src/thread.c:599
#14 0x2832a855 in clone_interpreter (d=0x8106260, s=0x8106040, flags=127) at 
parrotinterpreter.pmc:137
#15 0x2832cefe in do_thread_run (interp=0x8106040, thread=0x835d6a8, 
clone_flags=127, sub=0x835f75c, args=0x835a014) at parrotthread.pmc:65
#16 0x2832cffe in do_thread_run_clone_default (interp=0x8106040, 
thread=0x835d6a8, sub=0x835f75c, args=0x835a014) at parrotthread.pmc:82
#17 0x281d937d in pcf_I_JOPxAT_ (interp=0x8106040, self=0x81fefc4) at 
src/nci.c:983
#18 0x28340462 in Parrot_NCI_invoke (interp=0x8106040, pmc=0x81fefc4, 
next=0x8382824) at nci.pmc:308
#19 0x2816d1e0 in Parrot_callmethodcc_p_sc (cur_opcode=0x8382818, 
interp=0x8106040) at object.ops:78
#20 0x281fab2c in runops_slow_core (interp=0x8106040, pc=0x8382818) at 
src/runops_cores.c:222
#21 0x281cd7d9 in runops_int (interp=0x8106040, offset=463) at 
src/interpreter.c:937
#22 0x281ce063 in runops (interp=0x8106040, offs=463) at src/inter_run.c:101
#23 0x281ce300 in runops_args (interp=0x8106040, sub=0x835f740, obj=0x81a1870, 
meth_unused=0x0, sig=0x28427e23 "vP", ap=0xbfbfe89c "$÷5\bž\005")
    at src/inter_run.c:236
#24 0x281ce43c in Parrot_runops_fromc_args (interp=0x8106040, sub=0x835f740, 
sig=0x28427e23 "vP") at src/inter_run.c:300
#25 0x281b8627 in Parrot_runcode (interp=0x8106040, argc=1, argv=0xbfbfe9ac) at 
src/embed.c:951
#26 0x28404622 in imcc_run_pbc (interp=0x8106040, obj_file=0, output_file=0x0, 
argc=1, argv=0xbfbfe9ac) at compilers/imcc/main.c:791
#27 0x28405012 in imcc_run (interp=0x8106040, sourcefile=0xbfbfeb04 
"t/stm/runtime_4.pir", argc=1, argv=0xbfbfe9ac) at compilers/imcc/main.c:1079
#28 0x08048892 in main (argc=1, argv=0xbfbfe9ac) at src/main.c:61
(gdb) quit
[219]#


Here are the last comments from chromatic who helped me obtain a trace on IRC:

<chromatic> Can you do one more thing from the frame where you p mask and p 
current?
<chromatic> p arena_base->dod_mark_start
<GeJ> (gdb) p arena_base->dod_mark_start
<GeJ> $3 = (PMC *) 0x819cef4
<chromatic> Figured, but good to know.  Thanks.
<chromatic> There's a loop over all destroy-now PMCs in that function.
<chromatic> Somehow, one of them in the linked list is NULL, and not the 
PMCNULL kind of NULL.
<chromatic> It's not the first one in the linked list though, which is good to 
know.

Hope this helps. I'm idling on #parrot in case additional information/testing 
is required.

Best regards,
Geraud


---
Summary of my parrot 0.7.1 (r31417) configuration:
  configdate='Thu Sep 25 21:08:06 2008 GMT'
  Platform:
    osname=freebsd, archname=i386-freebsd-thread-multi-64int
    jitcapable=1, jitarchname=i386-freebsd,
    jitosname=FREEBSD, jitcpuarch=i386
    execcapable=1
    perl=perl
  Compiler:
    cc='cc', ccflags='-pipe -march=prescott -mtune=prescott  
-DHASATTRIBUTE_CONST  -DHASATTRIBUTE_DEPRECATED  -DHASATTRIBUTE_MALLOC  
-DHASATTRIBUTE_NONNULL  -DHASATTRIBUTE_NORETURN  -DHASATTRIBUTE_PURE  
-DHASATTRIBUTE_UNUSED  -DHASATTRIBUTE_WARN_UNUSED_RESULT  -falign-functions=16 
-fvisibility=hidden -maccumulate-outgoing-args -W -Wall -Waggregate-return 
-Wcast-align -Wcast-qual -Wchar-subscripts -Wcomment -Wdisabled-optimization 
-Wendif-labels -Wextra -Wformat -Wformat-extra-args -Wformat-nonliteral 
-Wformat-security -Wformat-y2k -Wimplicit -Wimport -Winit-self -Winline 
-Winvalid-pch -Wmissing-braces -Wmissing-field-initializers 
-Wno-missing-format-attribute -Wmissing-include-dirs -Wpacked -Wparentheses 
-Wpointer-arith -Wreturn-type -Wsequence-point -Wno-shadow -Wsign-compare 
-Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Wtrigraphs 
-Wundef -Wunknown-pragmas -Wno-unused -Wvariadic-macros -Wwrite-strings 
-Wlarger-than-4096 -Wbad-function-cast -Wc++-compat -!
 Wdeclaration-after-statement -Werror=declaration-after-statement 
-Wimplicit-function-declaration -Wimplicit-int -Wmain -Wmissing-declarations 
-Wmissing-prototypes -Wnested-externs -Wnonnull -DDISABLE_GC_DEBUG=1 -DNDEBUG 
-g -I /usr/local/include',
  Linker and Libraries:
    ld='cc', ldflags=' -L/usr/lib -L/usr/local/lib',
    cc_ldflags='',
    libs='-lm -lcrypt -lutil -pthread -lreadline -lcrypto'
  Dynamic Linking:
    share_ext='.so', ld_share_flags='-shared  -L/usr/local/lib',
    load_ext='.so', ld_load_flags='-shared  -L/usr/local/lib'
  Types:
    iv=long, intvalsize=4, intsize=4, opcode_t=long, opcode_t_size=4,
    ptrsize=4, ptr_alignment=1 byteorder=1234, 
    nv=double, numvalsize=8, doublesize=8

---
Environment:
    HOME =/home/geraud
    LANG =en_US.ISO8859-15
    LANGUAGE  (unset)
    LD_LIBRARY_PATH  (unset)
    LOGDIR  (unset)
    PATH 
=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/usr/X11R6/bin:/home/geraud/bin:./bin:.
    PERL5LIB =/home/geraud/lib/perl
    SHELL =/bin/tcsh

Reply via email to