On Fri, 4 Feb 2005, Andy Dougherty wrote: > On Solaris/SPARC, I'm still seeing failure on the tests others have > reported problems for. > > Failed 3/133 test scripts, 97.74% okay. 30/2167 subtests failed, 98.62% > okay. > Failed Test Stat Wstat Total Fail Failed List of Failed > ------------------------------------------------------------------------------- > t/dynclass/pybuiltin.t 3 768 6 3 50.00% 2 4-5 > t/dynclass/pyclass.t 3 768 6 3 50.00% 2 5-6 > t/dynclass/pyint.t 24 6144 25 24 96.00% 1-10 12-25 > 7 tests and 66 subtests skipped.
Here are some more details: [EMAIL PROTECTED] ([EMAIL PROTECTED]) signal SEGV (no mapping at the fault address) in Parrot_switch_to_cs at line 2136 in file "packfile.c" 2136 if (new_cs->base.pf != interpreter->code) (dbx) where current thread: [EMAIL PROTECTED] =>[1] Parrot_switch_to_cs(interpreter = 0x5800d0, new_cs = 0x9de3bf70, really = 1), line 2136 in "packfile.c" [2] Parrot_Sub_invoke(interpreter = 0x5800d0, pmc = 0x78daa0, next = 0x864dc0), line 240 in "sub.c" [3] Parrot_Closure_invoke(interpreter = 0x5800d0, pmc = 0x78daa0, next = 0x864dc0), line 84 in "closure.c" [4] Parrot_PyFunc_invoke(interpreter = 0x5800d0, pmc = 0x78daa0, next = 0x864dc0), line 171 in "pyfunc.pmc" [5] Parrot_invoke(cur_opcode = 0x864dbc, interpreter = 0x5800d0), line 421 in "core.ops" [6] runops_slow_core(interpreter = 0x5800d0, pc = 0x864dbc), line 147 in "runops_cores.c" [7] runops_int(interpreter = 0x5800d0, offset = 0), line 742 in "interpreter.c" [8] runops(interpreter = 0x5800d0, offs = 0), line 81 in "inter_run.c" [9] Parrot_runcode(interpreter = 0x5800d0, argc = 1, argv = 0xffbefa90), line 768 in "embed.c" [10] Parrot_runcode(interpreter = 0x5800d0, argc = 1, argv = 0xffbefa90), line 700 in "embed.c" [11] main(argc = 1, argv = 0xffbefa90), line 603 in "main.c" The new_cs structure is coming from Parrot_Sub_invoke in the file sub.c. It's generated with line 232: 232 struct Parrot_sub * sub = PMC_sub(pmc); At this point, the 'sub' structure doesn't appear to have anything useful. (dbx) print *sub *sub = { seg = 0x9de3bf70 address = 0xf227a048 end = 0xf027a044 name = 0xe007a044 packed = 0x90140000 "<bad address 0x90140000>" use_reg_offs = 1080280737U pad_stack = 0x1000000 } Attempts to access any of those members yield error messages, like (dbx) print *sub->name dbx: cannot access address 0xe007a044 Tracing back further, I lost track and couldn't figure out who was ultimately responsible for ensuring that 'pmc' was properly initialized, so I got stuck here. -- Andy Dougherty [EMAIL PROTECTED]