#464: Multiple failures on OpenBSD 4.4 /i386
----------------------+-----------------------------------------------------
 Reporter:  doughera  |       Owner:     
     Type:  bug       |      Status:  new
 Priority:  normal    |   Milestone:     
Component:  none      |     Version:     
 Severity:  fatal     |    Keywords:     
     Lang:            |       Patch:     
 Platform:  openbsd   |  
----------------------+-----------------------------------------------------

Comment(by heidnes):

 I'm seeing a similar build problem on NetBSD/macppc 5.0_RC3, when the
 porting fixes
 from https://trac.parrot.org/parrot/ticket/512 have been applied.
 Specifically, my
 build dies at:

 {{{
 cc -o ./parrot  src/main.o src/parrot_config.o
 -L/usr/pkgsrc/lang/parrot/work/parrot-1.0.0/blib/lib -lparrot
 -Wl,-R/usr/pkg/lib  -lm -L/usr/pkg/lib  -licuuc -licudata  -lm -lm -lcrypt
 -lintl -Wl,-R/usr/pkg/lib    -pthread -Wl,-E
 -Wl,-R/usr/pkg/lib/perl5/5.10.0/powerpc-netbsd-thread-multi/CORE
 ./parrot -o runtime/parrot/include/parrotlib.pbc
 runtime/parrot/library/parrotlib.pir
 Null PMC access in get_pmc_keyed_str()
 *** Error code 1
 }}}

 The strange thing is that this builds cleanly on NetBSD/macppc 4.0.

 The gcc versions are not terribly different: 4.1.2 with a few local fixes
 on 4.0
 and 4.1.3 on 5.0_RC3.

 Testing with "perl t/harness --core-tests" results in

 {{{
 12 tests and 49 subtests skipped.
 Failed 168/271 test scripts. 798/3156 subtests failed.
 Files=271, Tests=3156, 352 wallclock secs (201.18 cusr + 80.74 csys =
 281.92 CPU)
 Failed 168/271 test programs. 798/3156 subtests failed.
 }}}

 on 5.0_RC3, but on 4.0 it gives a clean bill of health with

 {{{
 All tests successful, 10 tests and 577 subtests skipped.
 Files=271, Tests=8638, 847 wallclock secs (347.51 cusr + 89.05 csys =
 436.56 CPU)
 }}}

 I have my parrot run under gdb, stopped in the function which prints the
 above
 message, but since I don't in general know my way around in the innards of
 parrot,
 I wonder "what next"?

 {{{
 (gdb) where
 #0  Parrot_Null_get_pmc_keyed_str (interp=0xeed03040, pmc=0xeedb3cb0,
     key=0xeec19b08) at ./src/pmc/null.c:542
 #1  0x01a3a148 in internal_ns_keyed_str (interp=0xeed03040,
     base_ns=0xeedb3cb0, key=0xeec19b08, flags=1) at src/global.c:185
 #2  0x01a3a2a8 in Parrot_make_namespace_keyed_str (interp=0xeed03040,
     base_ns=0xeedb3cb0, str_key=0xeec19b08) at src/global.c:354
 #3  0x01a3ac10 in get_namespace_pmc (interp=dwarf2_read_address: Corrupted
 DWARF expression.
 ) at src/global.c:788
 #4  0x01a3adb4 in Parrot_store_sub_in_namespace (interp=0xeed03040,
     sub_pmc=0xeedfa130) at src/global.c:858
 #5  0x019d82a0 in add_const_pmc_sub (interp=0xeed03040, r=0xeed5a5b0,
 offs=0,
     end=109) at compilers/imcc/pbc.c:1473
 #6  0x019d8798 in e_pbc_emit (interp=0xeed03040, param_unused=0x0,
     unit=0xeec2e100, ins=0xeed62500) at compilers/imcc/pbc.c:2150
 #7  0x019d100c in emit_flush (interp=0xeed03040, param=0x0,
 unit=0xeec2e100)
     at compilers/imcc/instructions.c:908
 #8  0x01c777f0 in imc_compile_unit (interp=0xeed03040, unit=0xeec2e100)
     at compilers/imcc/imc.c:123
 #9  0x01c77880 in imc_close_unit (interp=0xeed03040, unit=0xeec2e100)
     at compilers/imcc/imc.c:230
 #10 0x01c69a14 in yyparse (yyscanner=0xeed60200, interp=0xeed03040)
     at compilers/imcc/imcc.y:919
 #11 0x019ce7e4 in compile_to_bytecode (interp=0xeed03040,
     sourcefile=0xffffe979 "runtime/parrot/library/parrotlib.pir",
     output_file=0xffffe954 "runtime/parrot/include/parrotlib.pbc")
     at compilers/imcc/main.c:962
 #12 0x019cef50 in imcc_run (interp=0xeed03040,
     sourcefile=0xffffe979 "runtime/parrot/library/parrotlib.pir", argc=1,
     argv=0xffffd810) at compilers/imcc/main.c:1060
 #13 0x018bd428 in main (argc=1, argv=0xffffd810) at src/main.c:61
 (gdb)
 (gdb) p base_ns
 $15 = (PMC *) 0xeedb3cb0
 (gdb) p *$
 $16 = {cache = {_b = {_bufstart = 0xdeadbeef, _buflen = 3735928559}, _ptrs
 = {
       _struct_val = 0xdeadbeef, _pmc_val = 0xdeadbeef}, _i = {
       _int_val = -559038737, _int_val2 = -559038737},
     _num_val = -1.1885959257070704e+148, _string_val = 0xdeadbeef},
   flags = 4608, vtable = 0xeed0e400, data = 0x0, pmc_ext = 0x0}
 (gdb) p $->vtable
 $17 = (VTABLE *) 0xeed0e400
 (gdb) p *$
 $18 = {_namespace = 0xeedad4c8, base_type = 1, whoami = 0xeed6c548,
   flags = 16, provides_str = 0xeed6c520, isa_hash = 0xeed5b0d0,
   pmc_class = 0xeedb3cb0, mro = 0xeedad4e0, attribute_defs = 0x1d08f14 "",
   ro_variant_vtable = 0x0, absolute = 0x1adb544 <Parrot_Null_absolute>,
 ...
   get_pmc = 0x1ad9ad4 <Parrot_Null_get_pmc>,
   get_pmc_keyed = 0x1ad9a84 <Parrot_Null_get_pmc_keyed>,
   get_pmc_keyed_int = 0x1ad9a34 <Parrot_Null_get_pmc_keyed_int>,
   get_pmc_keyed_str = 0x1ad99e4 <Parrot_Null_get_pmc_keyed_str>,
   get_pointer = 0x1ad6344 <Parrot_Null_get_pointer>,
 ...
 (gdb)
 }}}

 Best regards,

 - HÃ¥vard

-- 
Ticket URL: <https://trac.parrot.org/parrot/ticket/464#comment:1>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
_______________________________________________
parrot-tickets mailing list
[email protected]
http://lists.parrot.org/mailman/listinfo/parrot-tickets

Reply via email to