Ticket #1134 (closed bug: fixed)
Extremely weird stack trace produced my Parrot when allocating things in a long loop in Rakudo
Reported by: | masak | Owned by: | |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | GC | Version: | 1.7.0 |
Severity: | high | Keywords: | |
Cc: | Language: | ||
Patch status: | Platform: |
Description
$ time perl6 -e 'my @a; for 1 .. 100_000 { @a.push(42) }' src/gc/api.c:248: failed assertion 'PObj_is_PMC_TEST(obj)' Backtrace - Obtained 31 stack frames (max trace depth is 32). 0 libparrot.dylib 0x005fc2ad Parrot_do_check_events + 173 1 libparrot.dylib 0x005fc417 Parrot_confess + 151 2 libparrot.dylib 0x006097a7 Parrot_gc_mark_PMC_alive_fun + 135 3 libparrot.dylib 0x007a05f5 Parrot_CodeString_get_isa + 1957 4 libparrot.dylib 0x0060d4fe Parrot_is_blocked_GC_sweep + 6398 5 libparrot.dylib 0x006098c7 Parrot_gc_mark_PObj_alive + 183 6 libparrot.dylib 0x0060eac1 Parrot_is_blocked_GC_sweep + 11969 7 libparrot.dylib 0x0060eb8e Parrot_is_blocked_GC_sweep + 12174 8 libparrot.dylib 0x0060ec0c Parrot_is_blocked_GC_sweep + 12300 9 libparrot.dylib 0x0060d076 Parrot_is_blocked_GC_sweep + 5238 10 libparrot.dylib 0x0060c213 Parrot_is_blocked_GC_sweep + 1555 11 libparrot.dylib 0x0060c355 Parrot_is_blocked_GC_sweep + 1877 12 libparrot.dylib 0x0060a7e3 Parrot_gc_mark_STRING_alive_fun + 3827 13 libparrot.dylib 0x0060c5e8 Parrot_is_blocked_GC_sweep + 2536 14 libparrot.dylib 0x0060c750 Parrot_is_blocked_GC_sweep + 2896 15 libparrot.dylib 0x00609dfd Parrot_gc_mark_STRING_alive_fun + 1293 16 libparrot.dylib 0x00673156 pmc_reuse + 566 17 libparrot.dylib 0x00673278 pmc_new + 232 18 libparrot.dylib 0x0067d52e new_ret_continuation_pmc + 78 19 libparrot.dylib 0x0061d92d new_runloop_jump_point + 765 20 libparrot.dylib 0x0061e2a5 Parrot_run_meth_fromc_args_reti + 213 21 libparrot.dylib 0x007c135a Parrot_NameSpace_get_isa + 30186 22 libparrot.dylib 0x0057dd2d Parrot_str_from_int + 3469 23 libparrot.dylib 0x00676037 enable_event_checking + 1991 24 libparrot.dylib 0x00674f2a Parrot_runcore_switch + 3978 25 libparrot.dylib 0x0061d7b8 new_runloop_jump_point + 392 26 libparrot.dylib 0x0061dae6 new_runloop_jump_point + 1206 27 libparrot.dylib 0x0061e7ea Parrot_runops_fromc_args + 186 28 libparrot.dylib 0x005f9101 Parrot_runcode + 337 29 perl6 0x00001ac9 start + 505 30 perl6 0x00001906 start + 54 Abort trap real 0m13.675s user 0m8.711s sys 0m0.405s <masak> hi, does this look strange to anyone? http://gist.github.com/215912 <whiteknight> masak: extremely weird <masak> whiteknight: well, now you know how to reproduce it. <masak> just push stuff to an array in a long Perl 6 for loop. <whiteknight> Can you create a ticket? <masak> whiteknight: I'll try. <whiteknight> awesome. Thanks
Change History
Note: See
TracTickets for help on using
tickets.