[Pkg-parrot-devel] parrot FTBS on ia64 mipsel and sparc

Alessandro Ghedini al3xbio at gmail.com
Sun Apr 15 12:21:41 UTC 2012


On Sun, Apr 15, 2012 at 07:00:28AM +0800, Allison Randal wrote:
> On 04/14/2012 10:18 PM, Alessandro Ghedini wrote:
> > Hi,
> > 
> > I've just noticed that parrot 4.0.0 fails to build from source on ia64 mipsel
> > and sparc [0] with the same "Bus error" when calling:
> > 
> >> ./miniparrot -Iruntime/parrot/include config_lib.pir > runtime/parrot/include/config.fpmc
> > 
> > and I can reproduce the failures in the respective porterboxes (I've tried
> > smetana.d.o for sparc and eder.d.o for mipsel). The same happens with the
> > latest revision in the upstream git repository.
> 
> Bus error is a memory handling error. Is there a way that I or others
> can get access to the porter boxes?

Since you are a DM you can ask a temporary guest account to the NM frontdesk
[0], don't know how much it will take though.

[0] http://dsa.debian.org/doc/guest-account/

> You can do a quick bisect to start with, only looking at changes to
> src/pmc/task.pmc. There aren't very many since 3.6.0, which is the last
> release that successfully built on ia64, mipsel, and sparc.
> 
> https://github.com/parrot/parrot/commits/master/src/pmc/task.pmc
> 
> git blame reports that the questionable line was added in this revision:
> 
> https://github.com/parrot/parrot/commit/f35c165d0e8cd0820588d1216d8bb9c8cd073488#diff-6
> 
> So, I'd start by checking before and after that one change. (Though you
> may have to go a little farther back or forward if there are several
> related commits together.)

I have done a little test, that is replacing

> core_struct->birthtime = Parrot_floatval_time();

with

> core_struct->birthtime = 0.0;

It resolves the bus error above, but I get another when

> ./parrot-nqp --target=pir compilers/data_json/JSON.nqp > runtime/parrot/languages/JSON/JSON.pir

is called. Backtrace:

> (gdb) r --target=pir compilers/data_json/JSON.nqp > runtime/parrot/languages/JSON/JSON.pir
> Starting program: /home/ghedo/parrot/parrot-nqp --target=pir compilers/data_json/JSON.nqp > runtime/parrot/languages/JSON/JSON.pir
> [Thread debugging using libthread_db enabled]
> Using host libthread_db library "/lib/mipsel-linux-gnu/libthread_db.so.1".
> 
> Program received signal SIGBUS, Bus error.
> 0x2ab92f88 in Parrot_set_n_p (cur_opcode=0x2c825b88, interp=0x4ac028) at src/ops/core_ops.c:20140
> 20140	    NREG(1) = VTABLE_get_number(interp, PREG(2));
> (gdb) bt
> #0  0x2ab92f88 in Parrot_set_n_p (cur_opcode=0x2c825b88, interp=0x4ac028) at src/ops/core_ops.c:20140
> #1  0x2ac46c38 in runops_fast_core (interp=0x4ac028, runcore_unused=0x53fbb8, pc=0x2c825b88) at src/runcore/cores.c:499
> #2  0x2ac45cac in runops_int (interp=0x4ac028, offset=1063) at src/runcore/main.c:220
> #3  0x2ac0e2ec in runops (interp=0x4ac028, offs=1063) at src/call/ops.c:126
> #4  0x2ac048fc in Parrot_pcc_invoke_from_sig_object (interp=0x4ac028, sub_obj=PMC<Continuation> = {...}, call_object=PMC<CallContext> = {...}) at src/call/pcc.c:338
> #5  0x2abdc014 in Parrot_ext_call (interp=0x4ac028, sub_pmc=0x7f4d08, signature=0x2aeaaac4 "P->") at src/extend.c:175
> #6  0x2add1c40 in Parrot_Task_invoke (interp=0x4ac028, _self=PMC<Task> = {...}, next=0x0) at src/pmc/task.c:166
> #7  0x2ac0487c in Parrot_pcc_invoke_from_sig_object (interp=0x4ac028, sub_obj=PMC<Task> = {...}, call_object=PMC<CallContext> = {...}) at src/call/pcc.c:330
> #8  0x2abdc014 in Parrot_ext_call (interp=0x4ac028, sub_pmc=0x7dcb5c, signature=0x2ae51bb0 "->") at src/extend.c:175
> #9  0x2ac50188 in Parrot_cx_next_task (interp=0x4ac028, scheduler=PMC<Scheduler> = {...}) at src/scheduler.c:218
> #10 0x2ac4fdd4 in Parrot_cx_outer_runloop (interp=0x4ac028) at src/scheduler.c:147
> #11 0x2ac4fc98 in Parrot_cx_begin_execution (interp=0x4ac028, main=PMC<Sub> = {...}, argv=PMC<ResizableStringArray> = {...}) at src/scheduler.c:111
> #12 0x2ac63a98 in Parrot_pf_execute_bytecode_program (interp=0x4ac028, pbc=PMC<PackfileView> = {...}, args=PMC<ResizableStringArray> = {...}) at src/packfile/api.c:2677
> #13 0x2abd335c in Parrot_api_run_bytecode (interp_pmc=0x53a4c4, pbc=0x595ab8, args=0x54108c) at src/embed/bytecode.c:161
> #14 0x004012f0 in main ()

This is on mipsel, I'm now going to do the same on sparc.

Cheers

-- 
perl -E '$_=q;$/= @{[@_]};and s;\S+;<inidehG ordnasselA>;eg;say~~reverse'
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.parrot.org/pipermail/parrot-dev/attachments/20120415/e8385471/attachment.asc>


More information about the parrot-dev mailing list