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'
signature.asc
Description: Digital signature
_______________________________________________ http://lists.parrot.org/mailman/listinfo/parrot-dev
