Skip to content

Instantly share code, notes, and snippets.

@rolfbjarne
Created March 1, 2018 10:47
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rolfbjarne/302a97bc805f7dc16364565d414704e4 to your computer and use it in GitHub Desktop.
Save rolfbjarne/302a97bc805f7dc16364565d414704e4 to your computer and use it in GitHub Desktop.
(lldb) b mono_error_set_invalid_operation
Breakpoint 1: where = MinimalisticWatchAppExtension`mono_error_set_invalid_operation + 18 at mono-error.c:480, address = 0x003f3b0c
(lldb) c
Process 320 resuming
MinimalisticWatchAppExtension was compiled with optimization - stepping may behave oddly; variables may not be available.
Process 320 stopped
* thread #1, name = 'tid_d07', queue = 'com.apple.main-thread', stop reason = breakpoint 1.1
frame #0: 0x003f3b0c MinimalisticWatchAppExtension`mono_error_set_invalid_operation(oerror=0x0221e8cc, msg_format="Could not execute the method because the containing type is not fully instantiated.") at mono-error.c:480 [opt]
477 mono_error_set_invalid_operation (MonoError *oerror, const char *msg_format, ...)
478 {
479 va_list args;
-> 480 va_start (args, msg_format);
481 mono_error_set_generic_errorv (oerror, "System", "InvalidOperationException", msg_format, args);
482 va_end (args);
483 }
Target 0: (MinimalisticWatchAppExtension) stopped.
(lldb) bt
warning: could not execute support code to read Objective-C class data in the process. This may reduce the quality of type information available.
* thread #1, name = 'tid_d07', queue = 'com.apple.main-thread', stop reason = breakpoint 1.1
* frame #0: 0x003f3b0c MinimalisticWatchAppExtension`mono_error_set_invalid_operation(oerror=0x0221e8cc, msg_format="Could not execute the method because the containing type is not fully instantiated.") at mono-error.c:480 [opt]
frame #1: 0x00316334 MinimalisticWatchAppExtension`mono_jit_compile_method_with_opt(method=<unavailable>, opt=<unavailable>, jit_only=<unavailable>, error=<unavailable>) at mini-runtime.c:1996 [opt]
frame #2: 0x0031d7c2 MinimalisticWatchAppExtension`mono_create_jit_trampoline(domain=0x17565f00, method=0x175936e0, error=0x0221e8cc) at mini-trampolines.c:1480 [opt]
frame #3: 0x00315aec MinimalisticWatchAppExtension`mono_resolve_patch_target(method=0x00000000, domain=<unavailable>, code="?oF\x92?\r\x90\f\x90\n\x91\t\x90\b\x92I0??, patch_info=0x17a05040, run_cctors=1, error=0x0221e8cc) at mini-runtime.c:1376 [opt]
frame #4: 0x002ea9f6 MinimalisticWatchAppExtension`init_method(amodule=0x179f0800, method_index=<unavailable>, method=0x00000000, init_class=0x179ef5e8, context=<unavailable>, error=0x0221e8cc) at aot-runtime.c:4350 [opt]
frame #5: 0x002e4442 MinimalisticWatchAppExtension`mono_aot_init_gshared_method_this [inlined] init_llvmonly_method(method=<unavailable>) at aot-runtime.c:4397 [opt]
frame #6: 0x002e4432 MinimalisticWatchAppExtension`mono_aot_init_gshared_method_this(aot_module=0x179f0800, method_index=533, this_obj=<unavailable>) at aot-runtime.c:4434 [opt]
frame #7: 0x002a892e MinimalisticWatchAppExtension`init_method_gshared_this + 44
frame #8: 0x002c86c0 MinimalisticWatchAppExtension`Xamarin_WatchOS_System_Collections_Generic_Dictionary_2_TKey_REF_TValue_INTPTR__ctor_int_System_Collections_Generic_IEqualityComparer_1_TKey_REF + 324
frame #9: 0x002c856c MinimalisticWatchAppExtension`Xamarin_WatchOS_System_Collections_Generic_Dictionary_2_TKey_REF_TValue_INTPTR__ctor_System_Collections_Generic_IEqualityComparer_1_TKey_REF + 140
frame #10: 0x002b6a8a MinimalisticWatchAppExtension`Xamarin_WatchOS_ObjCRuntime_Class_Initialize_ObjCRuntime_Runtime_InitializationOptions_ + 154
frame #11: 0x002adc9a MinimalisticWatchAppExtension`Xamarin_WatchOS_ObjCRuntime_Runtime_Initialize_ObjCRuntime_Runtime_InitializationOptions_ + 708
frame #12: 0x0026e650 MinimalisticWatchAppExtension`mscorlib_wrapper_unknown_object_gsharedvt_out_sig_object__intptr + 32
frame #13: 0x00258dd8 MinimalisticWatchAppExtension`mscorlib_wrapper_runtime_invoke_object_runtime_invoke_sig_void_intptr_intptr_object_intptr_intptr_intptr + 360
frame #14: 0x0031ba1c MinimalisticWatchAppExtension`mono_llvmonly_runtime_invoke(method=<unavailable>, info=<unavailable>, obj=<unavailable>, params=<unavailable>, exc=<unavailable>, error=<unavailable>) at mini-runtime.c:2601 [opt]
frame #15: 0x00318c1e MinimalisticWatchAppExtension`mono_jit_runtime_invoke(method=<unavailable>, obj=<unavailable>, params=<unavailable>, exc=0x0221eeec, error=<unavailable>) at mini-runtime.c:2801 [opt]
frame #16: 0x0037a63a MinimalisticWatchAppExtension`do_runtime_invoke(method=<unavailable>, obj=<unavailable>, params=0x0221eef4, exc=0x0221eeec, error=<unavailable>) at object.c:2887 [opt]
frame #17: 0x0037a590 MinimalisticWatchAppExtension`mono_runtime_invoke [inlined] mono_runtime_try_invoke(method=<unavailable>, obj=0x00000000, params=0x0221eef4, exc=0x0221eeec, error=0x00000000) at object.c:2994 [opt]
frame #18: 0x0037a562 MinimalisticWatchAppExtension`mono_runtime_invoke(method=0x179f1da0, obj=0x00000000, params=0x0221eef4, exc=0x0221eeec) at object.c:2935 [opt]
frame #19: 0x00409ef8 MinimalisticWatchAppExtension`::xamarin_initialize() at runtime.m:1367 [opt]
frame #20: 0x0040edd2 MinimalisticWatchAppExtension`::xamarin_main(argc=1, argv=<unavailable>, launch_mode=XamarinLaunchModeExtension) at monotouch-main.m:429 [opt]
frame #21: 0x0007581a MinimalisticWatchAppExtension`::xamarin_watchextension_main(argc=1, argv=0x0221fbc4) at main.m:40
(lldb) up
frame #1: 0x00316334 MinimalisticWatchAppExtension`mono_jit_compile_method_with_opt(method=<unavailable>, opt=<unavailable>, jit_only=<unavailable>, error=<unavailable>) at mini-runtime.c:1996 [opt]
1993 error_init (error);
1994
1995 if (mono_class_is_open_constructed_type (&method->klass->byval_arg)) {
-> 1996 mono_error_set_invalid_operation (error, "Could not execute the method because the containing type is not fully instantiated.");
1997 return NULL;
1998 }
1999
(lldb) p method
error: Couldn't materialize: couldn't get the value of variable method: variable not available
error: errored out in DoExecute, couldn't PrepareToExecuteJITExpression
(lldb) up
frame #2: 0x0031d7c2 MinimalisticWatchAppExtension`mono_create_jit_trampoline(domain=0x17565f00, method=0x175936e0, error=0x0221e8cc) at mini-trampolines.c:1480 [opt]
1477 /* These wrappers are not generated */
1478 return method_not_found;
1479 /* Methods are lazily initialized on first call, so this can't lead recursion */
-> 1480 code = mono_jit_compile_method (method, error);
1481 if (!mono_error_ok (error))
1482 return NULL;
1483 return code;
(lldb) p method->name
(const char *) $0 = 0x022bb237 "get_Default"
(lldb) p method->klass->name
(const char *) $1 = 0x022ab938 "EqualityComparer`1"
(lldb) p method->klass->byval_arg
(MonoType) $2 = {
data = {
klass = 0x17a01618
type = 0x17a01618
array = 0x17a01618
method = 0x17a01618
generic_param = 0x17a01618
generic_class = 0x17a01618
}
attrs = 0
type = MONO_TYPE_GENERICINST
num_mods = 0
byref = 0
pinned = 0
modifiers = {}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment