# New Ticket Created by Moritz Lenz
# Please include the string: [perl #65258]
# in the subject line of all future correspondence about this issue.
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=65258 >
Rakudo 5646dfcb7f4a86fbd436205a4934cb95060a9690 on parrot r38385
sometimes segfaults while executing
t/spec/S02-literals/char-by-number.rakudo (as of pugs svn r26562). I've
captured it in gdb once:
(gdb) run t/spec/S02-literals/char-by-number.rakudo
Starting program: /home/moritz/rakudo/perl6
t/spec/S02-literals/char-by-number.r
akudo
[Thread debugging using libthread_db enabled]
warning: Lowest section in /usr/lib/libicudata.so.36 is .hash at
000000000000012
0
[New Thread 0x7f166bf3e6f0 (LWP 5262)]
1..43
ok 1 - \x20 normal space
ok 2 - \xa0 non-breaking space
ok 3 - \x[20] normal space
ok 4 - \x[a0] non-breaking space
ok 5 - \x[263a] wide hex character (SMILEY)
ok 6 - \x[597d] wide hex character (Chinese char)
ok 7 - broken "\x[6211"
not ok 8 - broken "\x [6211]"# TODO feature
ok 9 - \x[list]
ok 10 - \x[a,b]
ok 11 - \xlist not valid
ok 12 - \o40 normal space
ok 13 - \o240 non-breaking space
ok 14 - \o[40] normal space
ok 15 - \o[240] non-breaking space
ok 16 - \o[23072] wide hex character (SMILEY)
ok 17 - \o[61021] wide hex character (Chinese char)
ok 18 - broken "\o[6211"
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7f166bf3e6f0 (LWP 5262)]
0x00007f166b72117a in pobject_lives (interp=0x15dc010, obj=0x1)
at src/gc/mark_sweep.c:489
489 if (PObj_is_live_or_free_TESTALL(obj))
(gdb) bt
#0 0x00007f166b72117a in pobject_lives (interp=0x15dc010, obj=0x1)
at src/gc/mark_sweep.c:489
#1 0x00007f166b90b4f8 in Parrot_Object_mark (interp=0x15dc010,
pmc=0x7f166666ea20) at ./src/pmc/object.pmc:192
#2 0x00007f166b7205e7 in mark_special (interp=0x15dc010,
obj=0x7f166666ea20)
at src/gc/mark_sweep.c:677
#3 0x00007f166b7211e3 in pobject_lives (interp=0x15dc010,
obj=0x7f166666ea20)
at src/gc/mark_sweep.c:509
#4 0x00007f166b721cd5 in trace_mem_block (interp=0x15dc010,
lo_var_ptr=140735138924048, hi_var_ptr=140735138904080)
at src/gc/system.c:268
#5 0x00007f166b721d83 in trace_system_stack (interp=0x15dc010)
at src/gc/system.c:164
#6 0x00007f166b721dfa in trace_system_areas (interp=0x15dc010)
at src/gc/system.c:138
#7 0x00007f166b721776 in Parrot_gc_trace_root (interp=0x15dc010,
trace=GC_TRACE_FULL) at src/gc/mark_sweep.c:361
#8 0x00007f166b7217e2 in trace_active_PMCs (interp=0x15dc010,
trace=GC_TRACE_FULL) at src/gc/mark_sweep.c:889
#9 0x00007f166b7219ce in Parrot_gc_ms_run (interp=0x15dc010, flags=1)
at src/gc/mark_sweep.c:208
#10 0x00007f166b71ba7d in Parrot_do_gc_run (interp=0x15dc010, flags=1)
at src/gc/api.c:516
#11 0x00007f166b7838fd in run_thaw (interp=0x15dc010, image=0x3816208,
what=VISIT_THAW_NORMAL) at src/pmc_freeze.c:1858
#12 0x00007f166b783b88 in Parrot_thaw (interp=0x15dc010, image=0x3816208)
at src/pmc_freeze.c:1997
#13 0x00007f166b6bda76 in Parrot_thaw_p_s (cur_opcode=0x1825f10,
interp=0x15dc010) at src/ops/pmc.ops:502
#14 0x00007f166b7885a5 in runops_slow_core (interp=0x15dc010, pc=0x1825f10)
at src/runcore/cores.c:460
#15 0x00007f166b7872b5 in runops_int (interp=0x15dc010, offset=24)
at src/runcore/main.c:981
#16 0x00007f166b72fd1a in runops (interp=0x15dc010, offs=24)
at src/call/ops.c:107
#17 0x00007f166b729921 in Parrot_pcc_invoke_from_sig_object
(interp=0x15dc010,
sub_obj=0x7f16679a53c0, sig_obj=0x3b97440) at src/call/pcc.c:3027
#18 0x00007f166b8d251a in initialize_parents (interp=0x15dc010,
object=0x3b974a0, all_parents=0x3b87000) at ./src/pmc/class.pmc:343
#19 0x00007f166b8d3d18 in Parrot_Class_instantiate (interp=0x15dc010,
pmc=0x7f166849bf60, init=0x16651e0) at ./src/pmc/class.pmc:1202
#20 0x00007f166b6bdfc6 in Parrot_new_p_pc (cur_opcode=0x7f166bea9a90,
interp=0x15dc010) at src/ops/pmc.ops:95
#21 0x00007f166b7885a5 in runops_slow_core (interp=0x15dc010,
pc=0x7f166bea9a90) at src/runcore/cores.c:460
#22 0x00007f166b7872b5 in runops_int (interp=0x15dc010, offset=468)
at src/runcore/main.c:981
#23 0x00007f166b72fd1a in runops (interp=0x15dc010, offs=468)
at src/call/ops.c:107
#24 0x00007f166b7300f6 in runops_args (interp=0x15dc010,
sub=0x7f166bd94a50,
obj=0x16651e0, meth_unused=0x0, sig=0x7f166b9b371c "vP",
ap=0x7fff73f67ff0)
at src/call/ops.c:255
#25 0x00007f166b7314ac in Parrot_runops_fromc_args (interp=0x15dc010,
sub=0x7f166bd94a50, sig=0x7f166b9b371c "vP") at src/call/ops.c:324
#26 0x00007f166b71046d in Parrot_ex_throw_from_c (interp=0x15dc010,
exception=0x7f166bd949f0) at src/exceptions.c:370
#27 0x00007f166b710644 in Parrot_ex_throw_from_c_args (interp=0x15dc010,
ret_addr_unused=0x0, exitcode=51,
format=0x7f166b9badd0 "can't convert unicode string to ascii")
at src/exceptions.c:441
#28 0x00007f166b82d813 in to_ascii (interp=0x15dc010, src=0x7f166854e798,
dest=0x7f166854e750) at src/string/charset/ascii.c:282
#29 0x00007f166b82e199 in to_charset (interp=0x15dc010, src=0x7f166854e798,
dest=0x7f166854e750) at src/string/charset/ascii.c:343
#30 0x00007f166b690b71 in Parrot_str_change_charset (interp=0x15dc010,
src=0x7f166854e798, charset_nr=0, dest=0x7f166854e750)
at src/string/api.c:2993
#31 0x00007f166b6b72ba in Parrot_trans_charset_s_s_i (
cur_opcode=0x7f166bf58028, interp=0x15dc010) at src/ops/string.ops:555
#32 0x00007f166b7885a5 in runops_slow_core (interp=0x15dc010,
pc=0x7f166bf58028) at src/runcore/cores.c:460
#33 0x00007f166b7872b5 in runops_int (interp=0x15dc010, offset=23950)
at src/runcore/main.c:981
#34 0x00007f166b72fd1a in runops (interp=0x15dc010, offs=23950)
at src/call/ops.c:107
#35 0x00007f166b7300f6 in runops_args (interp=0x15dc010,
sub=0x7f166bd9bbc0,
obj=0x16651e0, meth_unused=0x0, sig=0x7f166b9b2ea3 "vP",
ap=0x7fff73f68520)
at src/call/ops.c:255
#36 0x00007f166b7314ac in Parrot_runops_fromc_args (interp=0x15dc010,
sub=0x7f166bd9bbc0, sig=0x7f166b9b2ea3 "vP") at src/call/ops.c:324
#37 0x00007f166b70ca0e in Parrot_runcode (interp=0x15dc010, argc=2,
argv=0x7fff73f68758) at src/embed.c:1012
#38 0x0000000000400cbd in main ()
This is on Debian GNU/Linux 5.0 "Lenny" AMD 64
Cheers,
moritz
--
Moritz Lenz
http://perlgeek.de/ | http://perl-6.de/ | http://sudokugarden.de/