Created
December 28, 2018 19:18
-
-
Save timo/fea5d736aa6e95d7c75016286a07675c to your computer and use it in GitHub Desktop.
gdb session for an exception in Red
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
timo@schmand ~/p/moarvm (master)> gdb -p 16034 (which moar) | |
GNU gdb (GDB) Fedora 8.1.1-3.fc28 | |
Copyright (C) 2018 Free Software Foundation, Inc. | |
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> | |
This is free software: you are free to change and redistribute it. | |
There is NO WARRANTY, to the extent permitted by law. Type "show copying" | |
and "show warranty" for details. | |
This GDB was configured as "x86_64-redhat-linux-gnu". | |
Type "show configuration" for configuration details. | |
For bug reporting instructions, please see: | |
<http://www.gnu.org/software/gdb/bugs/>. | |
Find the GDB manual and other documentation resources online at: | |
<http://www.gnu.org/software/gdb/documentation/>. | |
For help, type "help". | |
Type "apropos word" to search for commands related to "word"... | |
Reading symbols from /home/timo/perl6/install/bin/moar...done. | |
Attaching to program: /home/timo/perl6/install/bin/moar, process 16034 | |
[New LWP 16036] | |
[Thread debugging using libthread_db enabled] | |
Using host libthread_db library "/lib64/libthread_db.so.1". | |
serialize_object (obj=0x7fbf86e38050, writer=0xb84e1b0, tc=0x13a6ca0) | |
at src/6model/serialization.c:1235 | |
1235 while (1) { } | |
warning: File "/home/timo/perl6/moarvm/tools/moar-gdb.py" auto-loading has been declined by your `auto-load safe-path' set to "$debugdir:$datadir/auto-load:/usr/lib/golang/src/runtime/runtime-gdb.py". | |
To enable execution of this file add | |
add-auto-load-safe-path /home/timo/perl6/moarvm/tools/moar-gdb.py | |
line to your configuration file "/home/timo/.gdbinit". | |
To completely disable this security protection add | |
set auto-load safe-path / | |
line to your configuration file "/home/timo/.gdbinit". | |
For more information about this security protection see the | |
"Auto-loading safe path" section in the GDB manual. E.g., run from the shell: | |
info "(gdb)Auto-loading safe path" | |
Missing separate debuginfos, use: dnf debuginfo-install glibc-2.27-35.fc28.x86_64 | |
(gdb) list | |
1230 if (REPR(obj)->serialize) | |
1231 REPR(obj)->serialize(tc, STABLE(obj), OBJECT_BODY(obj), writer); | |
1232 else | |
1233 { | |
1234 fprintf(stderr, "b0rked PID: %ld", MVM_proc_getpid(tc)); | |
1235 while (1) { } | |
1236 MVM_exception_throw_adhoc(tc, | |
1237 "Missing serialize REPR function for REPR %s (%s)", REPR(obj)->name, MVM_6model_get_debug_name(tc, obj)); | |
1238 } | |
1239 } | |
(gdb) print obj | |
$1 = (MVMObject *) 0x7fbf86e38050 | |
(gdb) print (MVMEx | |
MVMException MVMException_this_repr MVMExtOpRegistry | |
MVMExceptionBody MVMExtOpFactDiscover MVMExtOpSpesh | |
MVMException_initialize MVMExtOpFunc MVMExtRegistry | |
MVMException_initialize@plt MVMExtOpRecord | |
(gdb) print (MVMException *)obj | |
$2 = (MVMException *) 0x7fbf86e38050 | |
(gdb) print ((MVMException *)obj)[0] | |
$3 = {common = {header = {sc_forward_u = {forwarder = 0x3b800000016, sc = {sc_idx = 22, idx = 952}, | |
st = 0x3b800000016}, owner = 1, flags = 8192, size = 80}, st = 0x140ff20}, body = { | |
message = 0x0, payload = 0x7fbf86e34778, category = 1, return_after_unwind = 0 '\000', | |
origin = 0x7fbf86e380a0, throw_address = 0x7fbf854f5a3c "\b", resume_addr = 0x7fbf854f5a3c "\b", | |
jit_resume_label = 0x0}} | |
(gdb) print ((MVMException *)obj)[0].body.payload | |
$4 = (MVMObject *) 0x7fbf86e34778 | |
(gdb) print STABLE(((MVMException *)obj)[0].body.payload) | |
$5 = (MVMSTable *) 0x27ed070 | |
(gdb) print STABLE(((MVMException *)obj)[0].body.payload)[0] | |
$6 = {header = {sc_forward_u = {forwarder = 0xffffffff00000017, sc = {sc_idx = 23, | |
idx = 4294967295}, st = 0xffffffff00000017}, owner = 1, flags = 18, size = 200}, | |
REPR = 0x7fbf88866dc0 <P6opaque_this_repr>, REPR_data = 0x2af0e40, size = 56, | |
type_check_cache_length = 4, mode_flags = 4, type_check_cache = 0x2af0d60, | |
method_cache = 0xc17dc80, type_cache_id = 648192, container_spec = 0x0, container_data = 0x0, | |
boolification_spec = 0x2af0d90, hll_owner = 0x2369fa0, hll_role = 0, | |
invoke = 0x7fbf881d4aa0 <MVM_6model_invoke_default>, invocation_spec = 0x2af0db0, | |
WHAT = 0x27fd710, WHO = 0x2abef98, HOW = 0x0, paramet = {ric = {parameterizer = 0x0, | |
lookup = 0x0}, erized = {parametric_type = 0x0, parameters = 0x0}}, HOW_sc = 0x3e86510, | |
HOW_idx = 76553, method_cache_offset = 618661, method_cache_sc = 0x0, | |
debug_name = 0x2af0e20 "X::NoSuchSymbol", being_repossessed = 0 '\000'} | |
(gdb) print ((MVMException *)obj)[0].body.origin)[0 | |
Junk after end of expression. | |
(gdb) print ((MVMException *)obj)[0].body.origin) | |
Junk after end of expression. | |
(gdb) print ((MVMException *)obj)[0].body.origin | |
$7 = (MVMFrame *) 0x7fbf86e380a0 | |
(gdb) print (((MVMException *)obj)[0].body.origin)[0] | |
$8 = {header = {sc_forward_u = {forwarder = 0x0, sc = {sc_idx = 0, idx = 0}, st = 0x0}, owner = 1, | |
flags = 4, size = 184}, env = 0x3eddcf0, work = 0x0, args = 0x15e4bb8, | |
cur_args_callsite = 0x7fbf88871c80 <inv_arg_callsite>, outer = 0x4037670, caller = 0x7fbf86e38158, | |
static_info = 0x2086da0, code_ref = 0x22fc9e0, params = { | |
callsite = 0x7fbf88871c60 <two_args_callsite>, arg_flags = 0x0, args = 0x13bb348, named_used = { | |
byte_array = 0x0, bit_field = 0}, named_used_size = 0, arg_count = 2, num_pos = 2, | |
flag_count = 3}, effective_spesh_slots = 0x0, spesh_cand = 0x0, | |
return_address = 0x7fbf854f59e8 "\226\001\r", return_value = 0x13a6e78, return_type = 1 '\001', | |
flags = 0 '\000', allocd_work = 304, allocd_env = 32, spesh_correlation_id = 0, | |
sequence_nr = 821013, jit_entry_label = 0x7fbf88ab14bf, extra = 0x0} | |
(gdb) print (((MVMException *)obj)[0].body.origin)[0].body | |
There is no member named body. | |
(gdb) print (((MVMException *)obj)[0].body.origin)[0].static_info | |
$9 = (MVMStaticFrame *) 0x2086da0 | |
(gdb) print (((MVMException *)obj)[0].body.origin)[0].static_info[0] | |
$10 = {common = {header = {sc_forward_u = {forwarder = 0x0, sc = {sc_idx = 0, idx = 0}, st = 0x0}, | |
owner = 1, flags = 16, size = 232}, st = 0x140ffe8}, body = {bytecode = 0x7fbf854f5864 "\214", | |
cu = 0x1433bd0, local_types = 0x3eb4020, lexical_types = 0x3eb4050, lexical_names = 0x3eb40a0, | |
lexical_names_list = 0x3eb4070, static_env = 0x3eb41c0, static_env_flags = 0x3eb41f0 "", | |
has_state_vars = 0 '\000', allocate_on_heap = 0 '\000', no_inline = 0 '\000', | |
specializable = 1 '\001', instrumentation_level = 1, spesh = 0x3e95090, env_size = 32, | |
work_size = 304, num_lexicals = 4, num_annotations = 7, work_initial = 0x3eb4210, | |
bytecode_size = 532, num_locals = 17, handlers = 0x3eb41a0, num_handlers = 1, | |
fully_deserialized = 1 '\001', is_thunk = 0 '\000', has_exit_handler = 0 '\000', | |
cuuid = 0x208d140, name = 0x1f77070, outer = 0x20858c8, static_code = 0x22fc9e0, | |
annotations_data = 0x7fbf857574a0 "\300", orig_bytecode = 0x7fbf854f5864 "\214", | |
frame_data_pos = 0x7fbf84b832a2 "\034 5", frame_static_lex_pos = 0x7fbf84b83322 "\003", | |
code_obj_sc_dep_idx = 1, code_obj_sc_idx = 34634, instrumentation = 0x0}} | |
(gdb) print (((MVMException *)obj)[0].body.origin)[0].static_info[0].body.static_code | |
$11 = (MVMCode *) 0x22fc9e0 | |
(gdb) print (((MVMException *)obj)[0].body.origin)[0].static_info[0].body.static_code[0] | |
$12 = {common = {header = {sc_forward_u = {forwarder = 0xffffffff00000017, sc = {sc_idx = 23, | |
idx = 4294967295}, st = 0xffffffff00000017}, owner = 1, flags = 16, size = 72}, | |
st = 0x140f9a8}, body = {sf = 0x2086da0, outer = 0x4037670, code_object = 0x0, name = 0x1f77070, | |
state_vars = 0x0, is_static = 1, is_compiler_stub = 0}} | |
(gdb) print (((MVMException *)obj)[0].body.origin)[0].static_info[0].body.static_code[0].name | |
There is no member named name. | |
(gdb) print (((MVMException *)obj)[0].body.origin)[0].static_info[0].body.static_code[0].body.name | |
$13 = (MVMString *) 0x1f77070 | |
(gdb) print (((MVMException *)obj)[0].body.origin)[0].static_info[0].body.static_code[0].body.name[0] | |
$14 = {common = {header = {sc_forward_u = {forwarder = 0x0, sc = {sc_idx = 0, idx = 0}, st = 0x0}, | |
owner = 1, flags = 16, size = 48}, st = 0x140f2a0}, body = {storage = {blob_32 = 0x1f87b40, | |
blob_ascii = 0x1f87b40 "throw", blob_8 = 0x1f87b40 "throw", strands = 0x1f87b40, | |
any = 0x1f87b40}, storage_type = 2, num_strands = 0, num_graphs = 5, | |
cached_hash_code = 5359735516278109269}} | |
(gdb) print (((MVMException *)obj)[0].body.origin)[0] | |
$15 = {header = {sc_forward_u = {forwarder = 0x0, sc = {sc_idx = 0, idx = 0}, st = 0x0}, owner = 1, | |
flags = 4, size = 184}, env = 0x3eddcf0, work = 0x0, args = 0x15e4bb8, | |
cur_args_callsite = 0x7fbf88871c80 <inv_arg_callsite>, outer = 0x4037670, caller = 0x7fbf86e38158, | |
static_info = 0x2086da0, code_ref = 0x22fc9e0, params = { | |
callsite = 0x7fbf88871c60 <two_args_callsite>, arg_flags = 0x0, args = 0x13bb348, named_used = { | |
byte_array = 0x0, bit_field = 0}, named_used_size = 0, arg_count = 2, num_pos = 2, | |
flag_count = 3}, effective_spesh_slots = 0x0, spesh_cand = 0x0, | |
return_address = 0x7fbf854f59e8 "\226\001\r", return_value = 0x13a6e78, return_type = 1 '\001', | |
flags = 0 '\000', allocd_work = 304, allocd_env = 32, spesh_correlation_id = 0, | |
sequence_nr = 821013, jit_entry_label = 0x7fbf88ab14bf, extra = 0x0} | |
(gdb) print (((MVMException *)obj)[0].body.origin)[0].parent | |
There is no member named parent. | |
(gdb) print (((MVMException *)obj)[0].body.origin)[0].caller | |
$16 = (MVMFrame *) 0x7fbf86e38158 | |
(gdb) print ((((MVMException *)obj)[0].body.origin)[0].caller).static_info[0].body.static_code[0].body.name[0] | |
$17 = {common = {header = {sc_forward_u = {forwarder = 0x0, sc = {sc_idx = 0, idx = 0}, st = 0x0}, | |
owner = 1, flags = 16, size = 48}, st = 0x140f2a0}, body = {storage = {blob_32 = 0x1f87b40, | |
blob_ascii = 0x1f87b40 "throw", blob_8 = 0x1f87b40 "throw", strands = 0x1f87b40, | |
any = 0x1f87b40}, storage_type = 2, num_strands = 0, num_graphs = 5, | |
cached_hash_code = 5359735516278109269}} | |
(gdb) print ((((MVMException *)obj)[0].body.origin)[0].caller.caller).static_info[0].body.static_code[0].body.name[0] | |
$18 = {common = {header = {sc_forward_u = {forwarder = 0x0, sc = {sc_idx = 0, idx = 0}, st = 0x0}, | |
owner = 1, flags = 16, size = 48}, st = 0x140f2a0}, body = {storage = {blob_32 = 0x1f0b390, | |
blob_ascii = 0x1f0b390 "sink", blob_8 = 0x1f0b390 "sink", strands = 0x1f0b390, | |
any = 0x1f0b390}, storage_type = 2, num_strands = 0, num_graphs = 4, | |
cached_hash_code = 1843822429391094512}} | |
(gdb) print ((((MVMException *)obj)[0].body.origin)[0].caller.caller.caller).static_info[0].body.static_code[0].body.name[0] | |
$19 = {common = {header = {sc_forward_u = {forwarder = 0x0, sc = {sc_idx = 0, idx = 0}, st = 0x0}, | |
owner = 1, flags = 16, size = 48}, st = 0x140f2a0}, body = {storage = {blob_32 = 0x46e5740, | |
blob_ascii = 0x46e5740 "\240\374\366\207\277\177", | |
blob_8 = 0x46e5740 "\240\374\366\207\277\177", strands = 0x46e5740, any = 0x46e5740}, | |
storage_type = 2, num_strands = 0, num_graphs = 0, cached_hash_code = 0}} | |
(gdb) print ((((MVMException *)obj)[0].body.origin)[0].caller.caller.caller.caller).static_info[0].body.static_code[0].body.name[0] | |
$20 = {common = {header = {sc_forward_u = {forwarder = 0x0, sc = {sc_idx = 0, idx = 0}, st = 0x0}, | |
owner = 1, flags = 16, size = 48}, st = 0x140f2a0}, body = {storage = {blob_32 = 0x46e5740, | |
blob_ascii = 0x46e5740 "\240\374\366\207\277\177", | |
blob_8 = 0x46e5740 "\240\374\366\207\277\177", strands = 0x46e5740, any = 0x46e5740}, | |
storage_type = 2, num_strands = 0, num_graphs = 0, cached_hash_code = 0}} | |
(gdb) print ((((MVMException *)obj)[0].body.origin)[0].caller.caller.caller.caller.caller).static_info[0].body.static_code[0].body.name[0] | |
$21 = {common = {header = {sc_forward_u = {forwarder = 0x0, sc = {sc_idx = 0, idx = 0}, st = 0x0}, | |
owner = 1, flags = 16, size = 48}, st = 0x140f2a0}, body = {storage = {blob_32 = 0x46e5c20, | |
blob_ascii = 0x46e5c20 "compose", blob_8 = 0x46e5c20 "compose", strands = 0x46e5c20, | |
any = 0x46e5c20}, storage_type = 2, num_strands = 0, num_graphs = 7, | |
cached_hash_code = 8495377741244677746}} | |
(gdb) print ((((MVMException *)obj)[0].body.origin)[0].caller.caller.caller.caller.caller).static_info[0].body.static_code[0].body | |
$22 = {sf = 0xbdef110, outer = 0xbfb0510, code_object = 0x0, name = 0xbdecfb0, state_vars = 0x0, | |
is_static = 1, is_compiler_stub = 0} | |
(gdb) print ((((MVMException *)obj)[0].body.origin)[0].caller.caller.caller.caller.caller).static_info[0].body.static_code[0].body.sf | |
$23 = (MVMStaticFrame *) 0xbdef110 | |
(gdb) print ((((MVMException *)obj)[0].body.origin)[0].caller.caller.caller.caller.caller).static_info[0].body.static_code[0].body.sf[0] | |
$24 = {common = {header = {sc_forward_u = {forwarder = 0x0, sc = {sc_idx = 0, idx = 0}, st = 0x0}, | |
owner = 1, flags = 16, size = 232}, st = 0x140ffe8}, body = {bytecode = 0x7fbf8436da54 "\237", | |
cu = 0x1436388, local_types = 0xba9f180, lexical_types = 0xbc5fcb0, lexical_names = 0xc7dd390, | |
lexical_names_list = 0xba0beb0, static_env = 0xb883080, static_env_flags = 0xbfe4e90 "", | |
has_state_vars = 0 '\000', allocate_on_heap = 0 '\000', no_inline = 0 '\000', | |
specializable = 1 '\001', instrumentation_level = 1, spesh = 0xc03f238, env_size = 64, | |
work_size = 320, num_lexicals = 8, num_annotations = 19, work_initial = 0xb9e3db0, | |
bytecode_size = 2746, num_locals = 30, handlers = 0xbc403c0, num_handlers = 4, | |
fully_deserialized = 1 '\001', is_thunk = 0 '\000', has_exit_handler = 0 '\000', | |
cuuid = 0xbdecf80, name = 0xbdecfb0, outer = 0xbded980, static_code = 0xbde5620, | |
annotations_data = 0x7fbf843750fa <incomplete sequence \354>, | |
orig_bytecode = 0x7fbf8436da54 "\237", frame_data_pos = 0x7fbf84355c58 "J:", | |
frame_static_lex_pos = 0x7fbf84355d46 "\001", code_obj_sc_dep_idx = 1, code_obj_sc_idx = 199, | |
instrumentation = 0x0}} | |
(gdb) print ((((MVMException *)obj)[0].body.origin)[0].caller.caller.caller.caller.caller).static_info[0].body.static_code[0].body.sf[0].body | |
$25 = {bytecode = 0x7fbf8436da54 "\237", cu = 0x1436388, local_types = 0xba9f180, | |
lexical_types = 0xbc5fcb0, lexical_names = 0xc7dd390, lexical_names_list = 0xba0beb0, | |
static_env = 0xb883080, static_env_flags = 0xbfe4e90 "", has_state_vars = 0 '\000', | |
allocate_on_heap = 0 '\000', no_inline = 0 '\000', specializable = 1 '\001', | |
instrumentation_level = 1, spesh = 0xc03f238, env_size = 64, work_size = 320, num_lexicals = 8, | |
num_annotations = 19, work_initial = 0xb9e3db0, bytecode_size = 2746, num_locals = 30, | |
handlers = 0xbc403c0, num_handlers = 4, fully_deserialized = 1 '\001', is_thunk = 0 '\000', | |
has_exit_handler = 0 '\000', cuuid = 0xbdecf80, name = 0xbdecfb0, outer = 0xbded980, | |
static_code = 0xbde5620, annotations_data = 0x7fbf843750fa <incomplete sequence \354>, | |
orig_bytecode = 0x7fbf8436da54 "\237", frame_data_pos = 0x7fbf84355c58 "J:", | |
frame_static_lex_pos = 0x7fbf84355d46 "\001", code_obj_sc_dep_idx = 1, code_obj_sc_idx = 199, | |
instrumentation = 0x0} | |
(gdb) print ((((MVMException *)obj)[0].body.origin)[0].caller.caller.caller.caller.caller).static_info[0].body.static_code[0].body.sf[0].body.cu | |
$26 = (MVMCompUnit *) 0x1436388 | |
(gdb) print ((((MVMException *)obj)[0].body.origin)[0].caller.caller.caller.caller.caller).static_info[0].body.static_code[0].body.sf[0].body.cu[0] | |
$27 = {common = {header = {sc_forward_u = {forwarder = 0x0, sc = {sc_idx = 0, idx = 0}, st = 0x0}, | |
owner = 1, flags = 16, size = 248}, st = 0x14100b0}, body = { | |
data_start = 0x7fbf84354a92 "MOARVM\r\n\005", data_size = 149954, num_extops = 1, | |
max_callsite_size = 10, coderefs = 0x2576370, num_frames = 103, orig_frames = 103, | |
main_frame = 0xbded4f8, load_frame = 0xbdf3168, deserialize_frame = 0xbdf2f98, | |
callsites = 0x14a6270, num_callsites = 20, orig_callsites = 20, extops = 0xc8f0b28, | |
strings = 0xbdff6b0, num_strings = 949, orig_strings = 949, string_heap_fast_table = 0x46e4fb0, | |
string_heap_fast_table_top = 59, serialized_size = 0, string_heap_start = 0x7fbf8435823a "\006", | |
string_heap_read_limit = 0x7fbf84379454 "", serialized = 0x0, scs = 0xbdff2b0, num_scs = 22, | |
deallocate = MVM_DEALLOCATE_UNMAP, scs_to_resolve = 0x3c54840, sc_handle_idxs = 0x46e50b0, | |
hll_config = 0x2369fa0, hll_name = 0xbe02750, filename = 0xafe0870, handle = 0x0, | |
inline_tweak_mutex = 0x46e4ef0, deserialize_frame_mutex = 0xbdec1d0, bytecode_version = 5, | |
invoked = 1 '\001'}} | |
(gdb) print ((((MVMException *)obj)[0].body.origin)[0].caller.caller.caller.caller.caller).static_info[0].body.static_code[0].body.sf[0].body.cu[0].body.filename | |
$28 = (MVMString *) 0xafe0870 | |
(gdb) print ((((MVMException *)obj)[0].body.origin)[0].caller.caller.caller.caller.caller).static_info[0].body.static_code[0].body.sf[0].body.cu[0].body.filename[0] | |
$29 = {common = {header = {sc_forward_u = {forwarder = 0x0, sc = {sc_idx = 0, idx = 0}, st = 0x0}, | |
owner = 1, flags = 16, size = 48}, st = 0x140f2a0}, body = {storage = {blob_32 = 0xb61e200, | |
blob_ascii = 0xb61e200 "pI\377\003", blob_8 = 0xb61e200 "pI\377\003", strands = 0xb61e200, | |
any = 0xb61e200}, storage_type = 3, num_strands = 9, num_graphs = 128, cached_hash_code = 0}} | |
(gdb) print ((((MVMException *)obj)[0].body.origin)[0].caller.caller.caller.caller.caller).static_info[0].body.static_code[0].body.sf[0].body.cu[0].body.filename[0].body.storage.strands | |
$30 = (MVMStringStrand *) 0xb61e200 | |
(gdb) print ((((MVMException *)obj)[0].body.origin)[0].caller.caller.caller.caller.caller).static_info[0].body.static_code[0].body.sf[0].body.cu[0].body.filename[0].body.storage.strands[0] | |
$31 = {blob_string = 0x3ff4970, start = 5, end = 39, repetitions = 0} | |
(gdb) print ((((MVMException *)obj)[0].body.origin)[0].caller.caller.caller.caller.caller).static_info[0].body.static_code[0].body.sf[0].body.cu[0].body.filename[0].body.storage.strands[1] | |
$32 = {blob_string = 0x2a564f0, start = 0, end = 1, repetitions = 0} | |
(gdb) print ((((MVMException *)obj)[0].body.origin)[0].caller.caller.caller.caller.caller).static_info[0].body.static_code[0].body.sf[0].body.cu[0].body.filename[0].body.storage.strands[2] | |
$33 = {blob_string = 0x3c4d9e0, start = 0, end = 8, repetitions = 0} | |
(gdb) print ((((MVMException *)obj)[0].body.origin)[0].caller.caller.caller.caller.caller).static_info[0].body.static_code[0].body.sf[0].body.cu[0].body.filename[0].body.storage.strands[3] | |
$34 = {blob_string = 0x2a564f0, start = 0, end = 1, repetitions = 0} | |
(gdb) call MVM_string_encod | |
MVM_string_encode MVM_string_encode_to_buf@plt | |
MVM_string_encode_config MVM_string_encode_to_buf_config | |
MVM_string_encode_config@plt MVM_string_encode_to_buf_config@plt | |
MVM_string_encode_to_buf MVM_string_encoding_cname | |
(gdb) call MVM_string_encod | |
MVM_string_encode MVM_string_encode_to_buf@plt | |
MVM_string_encode_config MVM_string_encode_to_buf_config | |
MVM_string_encode_config@plt MVM_string_encode_to_buf_config@plt | |
MVM_string_encode_to_buf MVM_string_encoding_cname | |
(gdb) call MVM_string_utf | |
MVM_string_utf16_decode MVM_string_utf8_c8_decode@plt | |
MVM_string_utf16_decode@plt MVM_string_utf8_c8_decodestream | |
MVM_string_utf16_decode_main MVM_string_utf8_c8_decodestream@plt | |
MVM_string_utf16_decode_main.isra.7 MVM_string_utf8_c8_encode | |
MVM_string_utf16_decodestream MVM_string_utf8_c8_encode@plt | |
MVM_string_utf16_decodestream@plt MVM_string_utf8_c8_encode_C_string | |
MVM_string_utf16_decodestream_main MVM_string_utf8_c8_encode_C_string@plt | |
MVM_string_utf16_decodestream_main@plt MVM_string_utf8_c8_encode_substr | |
MVM_string_utf16_encode MVM_string_utf8_c8_encode_substr.localalias.6 | |
MVM_string_utf16_encode@plt MVM_string_utf8_c8_encode_substr@plt | |
MVM_string_utf16_encode_substr MVM_string_utf8_decode | |
MVM_string_utf16_encode_substr@plt MVM_string_utf8_decode@plt | |
MVM_string_utf16_encode_substr_main MVM_string_utf8_decode_strip_bom | |
MVM_string_utf16_encode_substr_main@plt MVM_string_utf8_decode_strip_bom@plt | |
MVM_string_utf16be_decode MVM_string_utf8_decodestream | |
MVM_string_utf16be_decode@plt MVM_string_utf8_decodestream@plt | |
MVM_string_utf16be_decodestream MVM_string_utf8_encode | |
MVM_string_utf16be_decodestream@plt MVM_string_utf8_encode@plt | |
MVM_string_utf16be_encode_substr MVM_string_utf8_encode_C_string | |
MVM_string_utf16be_encode_substr@plt MVM_string_utf8_encode_C_string@plt | |
MVM_string_utf16le_decode MVM_string_utf8_encode_substr | |
MVM_string_utf16le_decode@plt MVM_string_utf8_encode_substr.localalias.9 | |
MVM_string_utf16le_decodestream MVM_string_utf8_encode_substr@plt | |
MVM_string_utf16le_decodestream@plt MVM_string_utf8_maybe_encode_C_string | |
MVM_string_utf16le_encode_substr MVM_string_utf8_maybe_encode_C_string@plt | |
MVM_string_utf16le_encode_substr@plt MVM_string_utf8_throw_encoding_exception | |
MVM_string_utf8_c8_decode MVM_string_utf8_throw_encoding_exception@plt | |
(gdb) call MVM_string_utf | |
MVM_string_utf16_decode MVM_string_utf8_c8_decode@plt | |
MVM_string_utf16_decode@plt MVM_string_utf8_c8_decodestream | |
MVM_string_utf16_decode_main MVM_string_utf8_c8_decodestream@plt | |
MVM_string_utf16_decode_main.isra.7 MVM_string_utf8_c8_encode | |
MVM_string_utf16_decodestream MVM_string_utf8_c8_encode@plt | |
MVM_string_utf16_decodestream@plt MVM_string_utf8_c8_encode_C_string | |
MVM_string_utf16_decodestream_main MVM_string_utf8_c8_encode_C_string@plt | |
MVM_string_utf16_decodestream_main@plt MVM_string_utf8_c8_encode_substr | |
MVM_string_utf16_encode MVM_string_utf8_c8_encode_substr.localalias.6 | |
MVM_string_utf16_encode@plt MVM_string_utf8_c8_encode_substr@plt | |
MVM_string_utf16_encode_substr MVM_string_utf8_decode | |
MVM_string_utf16_encode_substr@plt MVM_string_utf8_decode@plt | |
MVM_string_utf16_encode_substr_main MVM_string_utf8_decode_strip_bom | |
MVM_string_utf16_encode_substr_main@plt MVM_string_utf8_decode_strip_bom@plt | |
MVM_string_utf16be_decode MVM_string_utf8_decodestream | |
MVM_string_utf16be_decode@plt MVM_string_utf8_decodestream@plt | |
MVM_string_utf16be_decodestream MVM_string_utf8_encode | |
MVM_string_utf16be_decodestream@plt MVM_string_utf8_encode@plt | |
MVM_string_utf16be_encode_substr MVM_string_utf8_encode_C_string | |
MVM_string_utf16be_encode_substr@plt MVM_string_utf8_encode_C_string@plt | |
MVM_string_utf16le_decode MVM_string_utf8_encode_substr | |
MVM_string_utf16le_decode@plt MVM_string_utf8_encode_substr.localalias.9 | |
MVM_string_utf16le_decodestream MVM_string_utf8_encode_substr@plt | |
MVM_string_utf16le_decodestream@plt MVM_string_utf8_maybe_encode_C_string | |
MVM_string_utf16le_encode_substr MVM_string_utf8_maybe_encode_C_string@plt | |
MVM_string_utf16le_encode_substr@plt MVM_string_utf8_throw_encoding_exception | |
MVM_string_utf8_c8_decode MVM_string_utf8_throw_encoding_exception@plt | |
(gdb) call MVM_string_utf8_encode | |
MVM_string_utf8_encode MVM_string_utf8_encode_substr | |
MVM_string_utf8_encode@plt MVM_string_utf8_encode_substr.localalias.9 | |
MVM_string_utf8_encode_C_string MVM_string_utf8_encode_substr@plt | |
MVM_string_utf8_encode_C_string@plt | |
(gdb) print MVM_string_utf8_encode_C_string(tc, ((((MVMException *)obj)[0].body.origin)[0].caller.caller.caller.caller.caller).static_info[0].body.static_code[0].body.sf[0].body.cu[0].body.filename) | |
$35 = 0x2d531e0 "/home/timo/perl6/ecosystem/Red/lib/.precomp/CE43128101351974707BF65575A9896FBC8FED1B/1B/1B59E7FCD19AECF1CB70B19B29D072489D23DF52" | |
(gdb) ((((MVMException *)obj)[0].body.origin)[0].caller.caller.caller.caller.caller).static_info[0].body.static_code[0].body.sf[0].body.cu[0].body | |
Undefined command: "". Try "help". | |
(gdb) print ((((MVMException *)obj)[0].body.origin)[0].caller.caller.caller.caller.caller).static_info[0].body.static_code[0].body.sf[0].body.cu[0].body | |
$36 = {data_start = 0x7fbf84354a92 "MOARVM\r\n\005", data_size = 149954, num_extops = 1, | |
max_callsite_size = 10, coderefs = 0x2576370, num_frames = 103, orig_frames = 103, | |
main_frame = 0xbded4f8, load_frame = 0xbdf3168, deserialize_frame = 0xbdf2f98, | |
callsites = 0x14a6270, num_callsites = 20, orig_callsites = 20, extops = 0xc8f0b28, | |
strings = 0xbdff6b0, num_strings = 949, orig_strings = 949, string_heap_fast_table = 0x46e4fb0, | |
string_heap_fast_table_top = 59, serialized_size = 0, string_heap_start = 0x7fbf8435823a "\006", | |
string_heap_read_limit = 0x7fbf84379454 "", serialized = 0x0, scs = 0xbdff2b0, num_scs = 22, | |
deallocate = MVM_DEALLOCATE_UNMAP, scs_to_resolve = 0x3c54840, sc_handle_idxs = 0x46e50b0, | |
hll_config = 0x2369fa0, hll_name = 0xbe02750, filename = 0xafe0870, handle = 0x0, | |
inline_tweak_mutex = 0x46e4ef0, deserialize_frame_mutex = 0xbdec1d0, bytecode_version = 5, | |
invoked = 1 '\001'} | |
(gdb) print ((((MVMException *)obj)[0].body.origin)[0].caller.caller.caller.caller.caller).static_info[0].body.static_code[0].body.sf[0].body.cu[0].body.hll_name | |
$37 = (MVMString *) 0xbe02750 | |
(gdb) print ((((MVMException *)obj)[0].body.origin)[0].caller.caller.caller.caller.caller).static_info[0].body.static_code[0].body.sf[0].body.cu[0].body.hll_name[0] | |
$38 = {common = {header = {sc_forward_u = {forwarder = 0x0, sc = {sc_idx = 0, idx = 0}, st = 0x0}, | |
owner = 1, flags = 16, size = 48}, st = 0x140f2a0}, body = {storage = {blob_32 = 0x46e6c40, | |
blob_ascii = 0x46e6c40 "perl6", blob_8 = 0x46e6c40 "perl6", strands = 0x46e6c40, | |
any = 0x46e6c40}, storage_type = 2, num_strands = 0, num_graphs = 5, | |
cached_hash_code = 4342380933787404572}} | |
(gdb) print ((((MVMException *)obj)[0].body.origin)[0].caller.caller.caller.caller.caller).static_info[0].body.static_code[0].body.sf[0].body.cu[0].body.strings | |
$39 = (MVMString **) 0xbdff6b0 | |
(gdb) print ((((MVMException *)obj)[0].body.origin)[0].caller.caller.caller.caller.caller).static_info[0].body.static_code[0].body.sf[0].body.cu[0].body.strings[0] | |
$40 = (MVMString *) 0xbdec650 | |
(gdb) print ((((MVMException *)obj)[0].body.origin)[0].caller.caller.caller.caller.caller).static_info[0].body.static_code[0].body.sf[0].body.cu[0].body.strings[0][0].body | |
$41 = {storage = {blob_32 = 0x46e55e0, blob_ascii = 0x46e55e0 "101\207\277\177", | |
blob_8 = 0x46e55e0 "101\207\277\177", strands = 0x46e55e0, any = 0x46e55e0}, storage_type = 2, | |
num_strands = 0, num_graphs = 3, cached_hash_code = 0} | |
(gdb) print ((((MVMException *)obj)[0].body.origin)[0].caller.caller.caller.caller.caller).static_info[0].body.static_code[0].body.sf[0].body.cu[0].body.strings[1][0].body | |
$42 = {storage = {blob_32 = 0x46e5600, blob_ascii = 0x46e5600 "<unit-outer>\277\177", | |
blob_8 = 0x46e5600 "<unit-outer>\277\177", strands = 0x46e5600, any = 0x46e5600}, | |
storage_type = 2, num_strands = 0, num_graphs = 12, cached_hash_code = 0} | |
(gdb) print ((((MVMException *)obj)[0].body.origin)[0].caller.caller.caller.caller.caller).static_info[0].body.static_code[0].body.sf[0].body.cu[0].body.strings[2][0].body | |
$43 = {storage = {blob_32 = 0xbe04b20, | |
blob_ascii = 0xbe04b20 "/home/timo/perl6/ecosystem/Red/lib/MetamodelX/Red/Model.pm6 (MetamodelX::Red::Model)", | |
blob_8 = 0xbe04b20 "/home/timo/perl6/ecosystem/Red/lib/MetamodelX/Red/Model.pm6 (MetamodelX::Red::Model)", strands = 0xbe04b20, any = 0xbe04b20}, storage_type = 2, num_strands = 0, num_graphs = 84, | |
cached_hash_code = 2003488570839545010} | |
(gdb) print ((((MVMException *)obj)[0].body.origin)[0].caller.caller.caller.caller.caller).static_info[0].body.static_code[0].body.sf[0].body.cu[0].body.strings[3][0].body | |
$44 = {storage = {blob_32 = 0x46e5620, blob_ascii = 0x46e5620 "100\207\277\177", | |
blob_8 = 0x46e5620 "100\207\277\177", strands = 0x46e5620, any = 0x46e5620}, storage_type = 2, | |
num_strands = 0, num_graphs = 3, cached_hash_code = 0} | |
(gdb) print ((((MVMException *)obj)[0].body.origin)[0].caller.caller.caller.caller.caller).static_info[0].body.static_code[0].body.sf[0].body.cu[0].body.strings[4][0].body | |
$45 = {storage = {blob_32 = 0x46e5640, blob_ascii = 0x46e5640 "<unit>", blob_8 = 0x46e5640 "<unit>", | |
strands = 0x46e5640, any = 0x46e5640}, storage_type = 2, num_strands = 0, num_graphs = 6, | |
cached_hash_code = 0} | |
(gdb) print ((((MVMException *)obj)[0].body.origin)[0].caller.caller.caller.caller.caller).static_info[0].body.static_code[0].body.sf[0].body.cu[0].body.strings[5][0].body | |
$46 = {storage = {blob_32 = 0x46e5660, blob_ascii = 0x46e5660 "96\366\207\277\177", | |
blob_8 = 0x46e5660 "96\366\207\277\177", strands = 0x46e5660, any = 0x46e5660}, | |
storage_type = 2, num_strands = 0, num_graphs = 2, cached_hash_code = 0} | |
(gdb) print ((((MVMException *)obj)[0].body.origin)[0].caller.caller.caller.caller.caller).static_info[0].body.static_code[0].body.sf[0].body.cu[0].body.strings[6][0].body | |
$47 = {storage = {blob_32 = 0x46e5680, blob_ascii = 0x46e5680 "rs-class\240\374\366\207\277\177", | |
blob_8 = 0x46e5680 "rs-class\240\374\366\207\277\177", strands = 0x46e5680, any = 0x46e5680}, | |
storage_type = 2, num_strands = 0, num_graphs = 8, cached_hash_code = 16702589414853440801} | |
(gdb) print ((((MVMException *)obj)[0].body.origin)[0].caller.caller.caller.caller.caller).static_info[0].body.static_code[0].body.sf[0].body.cu[0].body.strings[7][0].body | |
$48 = {storage = {blob_32 = 0xbe1b880, blob_ascii = 0xbe1b880 "$!rs-class\366\207\277\177", | |
blob_8 = 0xbe1b880 "$!rs-class\366\207\277\177", strands = 0xbe1b880, any = 0xbe1b880}, | |
storage_type = 2, num_strands = 0, num_graphs = 10, cached_hash_code = 15760115836200227349} | |
(gdb) print ((((MVMException *)obj)[0].body.origin)[0].caller.caller.caller.caller.caller).static_info[0].body.static_code[0].body.sf[0].body.cu[0] | |
$49 = {common = {header = {sc_forward_u = {forwarder = 0x0, sc = {sc_idx = 0, idx = 0}, st = 0x0}, | |
owner = 1, flags = 16, size = 248}, st = 0x14100b0}, body = { | |
data_start = 0x7fbf84354a92 "MOARVM\r\n\005", data_size = 149954, num_extops = 1, | |
max_callsite_size = 10, coderefs = 0x2576370, num_frames = 103, orig_frames = 103, | |
main_frame = 0xbded4f8, load_frame = 0xbdf3168, deserialize_frame = 0xbdf2f98, | |
callsites = 0x14a6270, num_callsites = 20, orig_callsites = 20, extops = 0xc8f0b28, | |
strings = 0xbdff6b0, num_strings = 949, orig_strings = 949, string_heap_fast_table = 0x46e4fb0, | |
string_heap_fast_table_top = 59, serialized_size = 0, string_heap_start = 0x7fbf8435823a "\006", | |
string_heap_read_limit = 0x7fbf84379454 "", serialized = 0x0, scs = 0xbdff2b0, num_scs = 22, | |
deallocate = MVM_DEALLOCATE_UNMAP, scs_to_resolve = 0x3c54840, sc_handle_idxs = 0x46e50b0, | |
hll_config = 0x2369fa0, hll_name = 0xbe02750, filename = 0xafe0870, handle = 0x0, | |
inline_tweak_mutex = 0x46e4ef0, deserialize_frame_mutex = 0xbdec1d0, bytecode_version = 5, | |
invoked = 1 '\001'}} | |
(gdb) print ((((MVMException *)obj)[0].body.origin)[0].caller.caller.caller.caller.caller).static_info[0].body.static_code[0].body.sf[0].body.cu[0].scs | |
There is no member named scs. | |
(gdb) print ((((MVMException *)obj)[0].body.origin)[0].caller.caller.caller.caller.caller).static_info[0].body.static_code[0].body.sf[0].body.cu[0].body.scs | |
$50 = (MVMSerializationContext **) 0xbdff2b0 | |
(gdb) print ((((MVMException *)obj)[0].body.origin)[0].caller.caller.caller.caller.caller).static_info[0].body.static_code[0].body.sf[0].body.cu[0].body.scs[0] | |
$51 = (MVMSerializationContext *) 0xb7ba160 | |
(gdb) print ((((MVMException *)obj)[0].body.origin)[0].caller.caller.caller.caller.caller).static_info[0].body.static_code[0].body.sf[0].body.cu[0].body.scs[0][0] | |
$52 = {common = {header = {sc_forward_u = {forwarder = 0x0, sc = {sc_idx = 0, idx = 0}, st = 0x0}, | |
owner = 1, flags = 8208, size = 32}, st = 0x140fcc8}, body = 0x46e5140} | |
(gdb) print ((((MVMException *)obj)[0].body.origin)[0].caller.caller.caller.caller.caller).static_info[0].body.static_code[0].body.sf[0].body.cu[0].body.scs[0][0].body | |
$53 = (MVMSerializationContextBody *) 0x46e5140 | |
(gdb) print ((((MVMException *)obj)[0].body.origin)[0].caller.caller.caller.caller.caller).static_info[0].body.static_code[0].body.sf[0].body.cu[0].body.scs[0][0].body[0] | |
$54 = {handle = 0xbdec200, description = 0xbe02900, num_objects = 1468, alloc_objects = 1468, | |
root_objects = 0xbe05130, root_stables = 0xbe07f20, num_stables = 39, alloc_stables = 39, | |
root_codes = 0xc0b4130, rep_indexes = 0xbddc628, rep_scs = 0xbddc698, owned_objects = 0xbddc6d0, | |
sc = 0xb7ba160, hash_handle = {tbl = 0x13ab2f8, hh_next = 0x4265468, key = 0xbdec200, keylen = 0, | |
hashv = 3111469283961844069}, sc_idx = 64, claimed = 1, sr = 0xbe04c00, mutex = 0xbe028d0} | |
(gdb) print ((((MVMException *)obj)[0].body.origin)[0].caller.caller.caller.caller.caller).static_info[0].body.static_code[0].body.sf[0].body.cu[0].body.scs[0][0].body[0].description | |
$55 = (MVMString *) 0xbe02900 | |
(gdb) print ((((MVMException *)obj)[0].body.origin)[0].caller.caller.caller.caller.caller).static_info[0].body.static_code[0].body.sf[0].body.cu[0].body.scs[0][0].body[0].description[0] | |
$56 = {common = {header = {sc_forward_u = {forwarder = 0x0, sc = {sc_idx = 0, idx = 0}, st = 0x0}, | |
owner = 1, flags = 16, size = 48}, st = 0x140f2a0}, body = {storage = {blob_32 = 0xbe04b20, | |
blob_ascii = 0xbe04b20 "/home/timo/perl6/ecosystem/Red/lib/MetamodelX/Red/Model.pm6 (MetamodelX::Red::Model)", | |
blob_8 = 0xbe04b20 "/home/timo/perl6/ecosystem/Red/lib/MetamodelX/Red/Model.pm6 (MetamodelX::Red::Model)", strands = 0xbe04b20, any = 0xbe04b20}, storage_type = 2, num_strands = 0, | |
num_graphs = 84, cached_hash_code = 2003488570839545010}} | |
(gdb) print ((((MVMException *)obj)[0].body.origin)[0].caller.caller.caller.caller.caller).static_info[0].body.static_code[0].body.sf[0].body.cu[0].body.scs[1][0].body[0].description[0] | |
$57 = {common = {header = {sc_forward_u = {forwarder = 0x0, sc = {sc_idx = 0, idx = 0}, st = 0x0}, | |
owner = 1, flags = 16, size = 48}, st = 0x140f2a0}, body = {storage = {blob_32 = 0x23d4750, | |
blob_ascii = 0x23d4750 "gen/moar/BOOTSTRAP.nqp", blob_8 = 0x23d4750 "gen/moar/BOOTSTRAP.nqp", | |
strands = 0x23d4750, any = 0x23d4750}, storage_type = 2, num_strands = 0, num_graphs = 22, | |
cached_hash_code = 3934646779507429574}} | |
(gdb) print ((((MVMException *)obj)[0].body.origin)[0].caller.caller.caller.caller.caller).static_info[0].body.static_code[0].body.sf[0].body.cu[0].body.scs[2][0].body[0].description[0] | |
$58 = {common = {header = {sc_forward_u = {forwarder = 0x0, sc = {sc_idx = 0, idx = 0}, st = 0x0}, | |
owner = 1, flags = 16, size = 48}, st = 0x140f2a0}, body = {storage = {blob_32 = 0x3f63220, | |
blob_ascii = 0x3f63220 "/home/timo/perl6/ecosystem/Red/lib/Red/AST.pm6 (Red::AST)", | |
blob_8 = 0x3f63220 "/home/timo/perl6/ecosystem/Red/lib/Red/AST.pm6 (Red::AST)", | |
strands = 0x3f63220, any = 0x3f63220}, storage_type = 2, num_strands = 0, num_graphs = 57, | |
cached_hash_code = 4452300689833851587}} | |
(gdb) print ((((MVMException *)obj)[0].body.origin)[0].caller.caller.caller.caller.caller).static_info[0].body.static_code[0].body.sf[0].body.cu[0].body.scs[3][0].body[0].description[0] | |
$59 = {common = {header = {sc_forward_u = {forwarder = 0x0, sc = {sc_idx = 0, idx = 0}, st = 0x0}, | |
owner = 1, flags = 16, size = 48}, st = 0x140f2a0}, body = {storage = {blob_32 = 0xb612910, | |
blob_ascii = 0xb612910 "/home/timo/perl6/ecosystem/Red/lib/Red/Utils.pm6 (Red::Utils)", | |
blob_8 = 0xb612910 "/home/timo/perl6/ecosystem/Red/lib/Red/Utils.pm6 (Red::Utils)", | |
strands = 0xb612910, any = 0xb612910}, storage_type = 2, num_strands = 0, num_graphs = 61, | |
cached_hash_code = 0}} | |
(gdb) quit | |
A debugging session is active. | |
Inferior 1 [process 16034] will be detached. | |
Quit anyway? (y or n) y | |
Detaching from program: /home/timo/perl6/install/bin/moar, process 16034 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment