On Sat Aug 02 14:38:57 2008, tetragon wrote:
> Using a lightly modified config (RT#57532), I got parrot to build as a
> 64-bit Intel binary on OS X.  One of a series of segfaults encountered
> appears to be triggered in Parrot_memalign in
> config/gen/platform/darwin/memalign.c (if gdb is to be believed) while
> running test 19 (and possibly also 17, 19 was the first I reproduced)
> of the shootout tests.  I do not currently have an extensive stack
> trace of this crash; the crash reporter and gdb encountered
> difficulties due to the addresses involved.

I now have a stacktrace taken from a breakpoint immediately before the crash.  
This 
breakpoint is only hit once in this execution, and was not hit in the trivial 
case of running 
parrot without any input.  My 32-bit build terminates successfully without 
hitting the 
breakpoint when run on the input that causes the 64-bit build to crash.

64-bit:
(gdb) break memalign.c:179
Breakpoint 1 at 0xceeb4: file memalign.c, line 179.
(gdb) run -C t/examples/shootout_19.pir < examples/shootout/sumcol.pir_input
Starting program: /opt/src/perl6/build-20080806-64/parrot -C 
t/examples/shootout_19.pir < examples/shootout/sumcol.pir_input
Reading symbols for shared libraries . done

Breakpoint 1, Parrot_memalign (align=256, size=216) at memalign.c:179
179                     status = vm_deallocate(mach_task_self(), 
firstUnneededPage,
(gdb) bt
#0  Parrot_memalign (align=256, size=216) at memalign.c:179
#1  0x000000010009de00 in init_prederef (interp=0x100801200, which=6) at 
src/interpreter.c:491
#2  0x000000010009e132 in runops_cgp (interp=0x100801200, pc=0x10073c160) at 
src/interpreter.c:785
#3  0x000000010009e42b in runops_int (interp=0x100801200, offset=0) at 
src/interpreter.c:933
#4  0x000000010009eea1 in runops (interp=0x100801200, offs=0) at 
src/inter_run.c:101
#5  0x000000010009f174 in runops_args (interp=0x100801200, sub=0x1012f2ae0, 
obj=0x10084f0e0, meth_unused=0x0, sig=0x1002a7e8e "vP", ap=0x7fff5fbff700) at 
src/inter_run.c:223
#6  0x000000010009f36b in Parrot_runops_fromc_args (interp=0x100801200, 
sub=0x1012f2ae0, sig=0x1002a7e8e "vP") at src/inter_run.c:295
#7  0x0000000100084893 in Parrot_runcode (interp=0x100801200, argc=1, 
argv=0x7fff5fbff938) at src/embed.c:951
#8  0x0000000100278866 in imcc_run_pbc (interp=0x100801200, obj_file=0, 
output_file=0x0, argc=1, argv=0x7fff5fbff938) at compilers/imcc/main.c:783
#9  0x0000000100279167 in imcc_run (interp=0x100801200, 
sourcefile=0x7fff5fbffa5b 
"t/examples/shootout_19.pir", argc=1, argv=0x7fff5fbff938) at 
compilers/imcc/main.c:1071
#10 0x00000001000009a5 in main (argc=1, argv=0x7fff5fbff938) at src/main.c:61
(gdb) 

32-bit:
(gdb) break memalign.c:179
Breakpoint 1 at 0xbb3f7: file memalign.c, line 179.
(gdb) run -C t/examples/shootout_19.pir < examples/shootout/sumcol.pir_input
Starting program: /opt/src/perl6/build-20080806-32/parrot -C 
t/examples/shootout_19.pir < examples/shootout/sumcol.pir_input
Reading symbols for shared libraries 
+++++++...................................................................................
 done
Breakpoint 1 at 0x5723f7: file memalign.c, line 179.
500

Program exited normally.
(gdb) bt
No stack.
(gdb) 


Reply via email to