Created
October 2, 2012 08:25
-
-
Save tadzik/3817314 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
┌─[tadzik@yavin4]─[~] | |
└─[%]─> cat threads.nqp | |
say("alive"); | |
my $x := 5; | |
my $a := sub foo() { | |
say($x); | |
say(5); | |
} | |
my $b := pir::new__PSP('Task', $a); | |
pir::schedule__0P($b); | |
pir::wait__0P($b); | |
say(7); | |
┌─[tadzik@yavin4]─[~] | |
└─[%]─> parrot-nqp threads.nqp | |
alive | |
5 | |
5 | |
7 | |
┌─[tadzik@yavin4]─[~] | |
└─[%]─> nqp threads.nqp | |
alive | |
src/pmc.c:209: failed assertion 'interp->n_vtable_max > base_type' | |
Backtrace - Obtained 22 stack frames (max trace depth is 32). | |
/home/tadzik/src/parrot/install/lib/libparrot.so.4.7.0(+0x19f0d5) [0x7f333242d0d5] | |
/home/tadzik/src/parrot/install/lib/libparrot.so.4.7.0(Parrot_confess+0x8a) [0x7f333242d09a] | |
/home/tadzik/src/parrot/install/lib/libparrot.so.4.7.0(Parrot_pmc_new+0x5e) [0x7f333247a4ee] | |
/home/tadzik/src/parrot/install/lib/libparrot.so.4.7.0(Parrot_ex_build_exception+0x68) [0x7f333242be98] | |
/home/tadzik/src/parrot/install/lib/libparrot.so.4.7.0(+0x19e79e) [0x7f333242c79e] | |
/home/tadzik/src/parrot/install/lib/libparrot.so.4.7.0(Parrot_ex_throw_from_c_args+0xf7) [0x7f333242cc27] | |
/home/tadzik/src/parrot/install/lib/libparrot.so.4.7.0(+0x21ee71) [0x7f33324ace71] | |
/home/tadzik/src/parrot/install/lib/libparrot.so.4.7.0(+0x21fafc) [0x7f33324adafc] | |
/home/tadzik/src/parrot/install/lib/libparrot.so.4.7.0(+0x1fd8e5) [0x7f333248b8e5] | |
/home/tadzik/src/parrot/install/lib/libparrot.so.4.7.0(+0x17ba41) [0x7f3332409a41] | |
/home/tadzik/src/parrot/install/lib/libparrot.so.4.7.0(+0x1ef6b9) [0x7f333247d6b9] | |
/home/tadzik/src/parrot/install/lib/libparrot.so.4.7.0(+0x1eeb62) [0x7f333247cb62] | |
/home/tadzik/src/parrot/install/lib/libparrot.so.4.7.0(+0x1c3651) [0x7f3332451651] | |
/home/tadzik/src/parrot/install/lib/libparrot.so.4.7.0(Parrot_pcc_invoke_from_sig_object+0x190) [0x7f333244a1a0] | |
/home/tadzik/src/parrot/install/lib/libparrot.so.4.7.0(Parrot_ext_call+0x188) [0x7f333242dca8] | |
/home/tadzik/src/parrot/install/lib/libparrot.so.4.7.0(+0x31df34) [0x7f33325abf34] | |
/home/tadzik/src/parrot/install/lib/libparrot.so.4.7.0(Parrot_pcc_invoke_from_sig_object+0x12b) [0x7f333244a13b] | |
/home/tadzik/src/parrot/install/lib/libparrot.so.4.7.0(Parrot_ext_call+0x188) [0x7f333242dca8] | |
/home/tadzik/src/parrot/install/lib/libparrot.so.4.7.0(+0x1f649d) [0x7f333248449d] | |
/home/tadzik/src/parrot/install/lib/libparrot.so.4.7.0(+0x1f8244) [0x7f3332486244] | |
/lib/x86_64-linux-gnu/libpthread.so.0(+0x6b50) [0x7f33315a0b50] | |
/lib/x86_64-linux-gnu/libc.so.6(clone+0x6d) [0x7f332f34170d] | |
Attempting to get PIR backtrace. No guarantees. Here goes... | |
current instr.: '' pc 118 ((file unknown):63511984) (threads.nqp:1) | |
called from Sub '' pc 29466 (src/stage2/gen/NQPHLL.pir:11147) (src/stage2/gen/NQPHLL.pm:1219) | |
called from Sub 'eval' pc 29318 (src/stage2/gen/NQPHLL.pir:11086) (src/stage2/gen/NQPHLL.pm:1206) | |
called from Sub 'evalfiles' pc 31784 (src/stage2/gen/NQPHLL.pir:12096) (src/stage2/gen/NQPHLL.pm:1419) | |
called from Sub 'command_eval' pc 30498 (src/stage2/gen/NQPHLL.pir:11596) (src/stage2/gen/NQPHLL.pm:1329) | |
called from Sub 'command_line' pc 30040 (src/stage2/gen/NQPHLL.pir:11427) (src/stage2/gen/NQPHLL.pm:1304) | |
called from Sub 'MAIN' pc 699 (src/stage2/gen/NQP.pir:228) (src/stage2/gen/NQP.pm:3134) | |
called from Sub '' pc 444 (src/stage2/gen/NQP.pir:156) (src/stage2/gen/NQP.pm:1500) | |
zsh: abort nqp threads.nqp |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
$ lldb nqp ext/nqp-rx/t/nqp/50-threads.t
Current executable set to 'nqp' (x86_64).
(lldb) r
Process 26364 launched: '/usr/local/bin/nqp' (x86_64)
alive
Process 26364 stopped
frame #0: 0x0000000101e07580
-> 0x101e07580: addb %dl, 65(%rax)
0x101e07583: addb $1, %al
0x101e07585: addb %al, (%rax)
0x101e07587: addb %dl, -119(%rax)
(lldb) bt
frame #0: 0x0000000101e07580
frame #1: 0x0000000101db869b nqp_group.bundle
Parrot_NQPLexPad_set_pointer + 43 at nqplexpad.c:290 frame #2: 0x0000000100343642 libparrot.dylib
Parrot_Sub_invoke + 1026 at sub.c:505frame #3: 0x00000001002c042b libparrot.dylib
Parrot_pcc_invoke_from_sig_object + 299 at pcc.c:330 frame #4: 0x00000001002a3608 libparrot.dylib
Parrot_ext_call + 392 at extend.c:158frame #5: 0x0000000100424d84 libparrot.dylib
Parrot_Task_invoke + 340 at task.c:168 frame #6: 0x00000001002c042b libparrot.dylib
Parrot_pcc_invoke_from_sig_object + 299 at pcc.c:330frame #7: 0x00000001002a3608 libparrot.dylib
Parrot_ext_call + 392 at extend.c:158 frame #8: 0x00000001002fad1d libparrot.dylib
Parrot_cx_next_task + 317 at scheduler.c:231frame #9: 0x00000001002fcaf4 libparrot.dylib
Parrot_thread_outer_runloop + 148 at thread.c:318 frame #10: 0x00007fff89158742 libsystem_c.dylib
_pthread_start + 327frame #11: 0x00007fff89145181 libsystem_c.dylib`thread_start + 13