Skip to content

Instantly share code, notes, and snippets.

@NattyNarwhal
Created March 5, 2018 22:14
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 NattyNarwhal/3046cbf0cff0688afa1969edbaf49298 to your computer and use it in GitHub Desktop.
Save NattyNarwhal/3046cbf0cff0688afa1969edbaf49298 to your computer and use it in GitHub Desktop.
aaaaaaa i hate trampolines
diff --git a/mono/mini/tramp-ppc.c b/mono/mini/tramp-ppc.c
index bfbeca9..a1d39e5 100644
--- a/mono/mini/tramp-ppc.c
+++ b/mono/mini/tramp-ppc.c
@@ -241,10 +241,10 @@ guchar*
mono_arch_create_generic_trampoline (MonoTrampolineType tramp_type, MonoTrampInfo **info, gboolean aot)
{
char *tramp_name;
- guint8 *buf, *code = NULL;
+ guint8 *buf, *code = NULL, *exception_branch;
int i, offset;
gconstpointer tramp_handler;
- int size = MONO_PPC_32_64_CASE (600, 800);
+ int size = MONO_PPC_32_64_CASE (700, 900);
GSList *unwind_ops = NULL;
MonoJumpInfo *ji = NULL;
@@ -365,16 +365,15 @@ mono_arch_create_generic_trampoline (MonoTrampolineType tramp_type, MonoTrampInf
ppc_blrl (code);
}
- /* OK, code address is now on r3. Move it to the counter reg
- * so it will be ready for the final jump: this is safe since we
- * won't do any more calls.
+ /* OK, code address is now on r3. Move it to r11 because we need
+ * to still do exception checks.
*/
if (!MONO_TRAMPOLINE_TYPE_MUST_RETURN (tramp_type)) {
#ifdef PPC_USES_FUNCTION_DESCRIPTOR
ppc_ldptr (code, ppc_r2, sizeof (gpointer), ppc_r3);
ppc_ldptr (code, ppc_r3, 0, ppc_r3);
#endif
- ppc_mtctr (code, ppc_r3);
+ ppc_mr (code, ppc_r11, ppc_r3);
}
/*
@@ -390,6 +389,45 @@ mono_arch_create_generic_trampoline (MonoTrampolineType tramp_type, MonoTrampInf
ppc_ldptr (code, ppc_r6, G_STRUCT_OFFSET(MonoLMF, lmf_addr), ppc_r12);
/* *(lmf_addr) = previous_lmf */
ppc_stptr (code, ppc_r5, G_STRUCT_OFFSET(MonoLMF, previous_lmf), ppc_r6);
+
+ /* thread interruption check */
+ if (aot) {
+ g_error ("Not implemented");
+ } else {
+ gconstpointer checkpoint = mono_thread_force_interruption_checkpoint_noraise;
+ ppc_load_func (code, PPC_CALL_REG, checkpoint);
+ ppc_mtlr (code, PPC_CALL_REG);
+ }
+ ppc_blrl (code);
+
+ ppc_compare_reg_imm (code, 0, ppc_r3, 0); // is there an exception?
+ exception_branch = code;
+ ppc_break (code); // will be rewritten
+
+ /* exception */
+ ppc_ldr (code, ppc_r1, 0, ppc_r1);
+ ppc_ldr (code, ppc_r12, PPC_RET_ADDR_OFFSET, ppc_r1);
+ ppc_mtlr (code, ppc_r12);
+
+ if (aot) {
+ g_error ("Not implemented");
+ } else {
+ gconstpointer throw = mono_get_throw_exception_addr ();
+ ppc_load_func (code, PPC_CALL_REG, throw);
+ ppc_ldr (code, PPC_CALL_REG, 0, PPC_CALL_REG);
+ ppc_mtctr (code, PPC_CALL_REG);
+ }
+ ppc_bcctr (code, 20, 0);
+
+ ppc_break (code); //never reach, inject branch replacement above?
+
+ /* rewrite the trap above to a branch */
+ ppc_bc (exception_branch, PPC_BR_FALSE, PPC_BR_EQ, (code - exception_branch));
+
+ /* no exception, move r11 to ctr and carry on */
+ ppc_mtctr (code, ppc_r11);
+ ppc_addi (code, ppc_r12, ppc_r1, STACK - sizeof (MonoLMF));
+
/* restore iregs */
ppc_ldr_multiple (code, ppc_r13, G_STRUCT_OFFSET(MonoLMF, iregs), ppc_r12);
/* restore fregs */
converting method void System.OutOfMemoryException:.ctor (string)
Method void System.OutOfMemoryException:.ctor (string) emitted at 700000000083600 to 7000000000836ec (code length 236) [exception.exe]
converting method (wrapper runtime-invoke) object <Module>:runtime_invoke_void__this___object (object,intptr,intptr,intptr)
Method (wrapper runtime-invoke) object <Module>:runtime_invoke_void__this___object (object,intptr,intptr,intptr) emitted at 700000000083780 to 7000000000839f0 (code length 624) [exception.exe]
[1: 0.00000 0] ENTER: (wrapper runtime-invoke) <Module>:runtime_invoke_void__this___object (object,intptr,intptr,intptr)() ip: 9000000045768a8
[1: 0.00010 1] ENTER: System.OutOfMemoryException:.ctor (string)() ip: 700000000083934
converting method void System.SystemException:.ctor (string)
Method void System.SystemException:.ctor (string) emitted at 7000000000839f0 to 700000000083adc (code length 236) [exception.exe]
converting method void System.NullReferenceException:.ctor ()
Method void System.NullReferenceException:.ctor () emitted at 700000000083b10 to 700000000083c08 (code length 248) [exception.exe]
converting method (wrapper runtime-invoke) object object:runtime_invoke_void__this__ (object,intptr,intptr,intptr)
Method (wrapper runtime-invoke) object object:runtime_invoke_void__this__ (object,intptr,intptr,intptr) emitted at 700000000083c08 to 700000000083e68 (code length 608) [exception.exe]
[1: 0.00145 2] ENTER: (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr)() ip: 9000000045768a8
[1: 0.00155 3] ENTER: System.NullReferenceException:.ctor ()() ip: 700000000083dac
[1: 0.00166 4] ENTER: (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr)() ip: 9000000045768a8
[1: 0.00175 5] ENTER: System.NullReferenceException:.ctor ()() ip: 700000000083dac
[1: 0.00184 6] ENTER: System.SystemException:.ctor (string)() ip: 700000000083b94
converting method void System.Exception:.ctor (string)
Method void System.Exception:.ctor (string) emitted at 700000000083e68 to 700000000083fa0 (code length 312) [exception.exe]
converting method void System.Exception:.cctor ()
Method void System.Exception:.cctor () emitted at 700000000083fd0 to 7000000000840a8 (code length 216) [exception.exe]
converting method (wrapper runtime-invoke) object object:runtime_invoke_void (object,intptr,intptr,intptr)
Method (wrapper runtime-invoke) object object:runtime_invoke_void (object,intptr,intptr,intptr) emitted at 7000000000840d8 to 700000000084330 (code length 600) [exception.exe]
[1: 0.00301 7] ENTER: (wrapper runtime-invoke) object:runtime_invoke_void (object,intptr,intptr,intptr)() ip: 9000000045768a8
[1: 0.00311 8] ENTER: System.Exception:.cctor ()() ip: 7000000000841e4
converting method (wrapper alloc) object object:AllocSmall (intptr,intptr)
Method (wrapper alloc) object object:AllocSmall (intptr,intptr) emitted at 700000000084360 to 700000000084534 (code length 468) [exception.exe]
[1: 0.00356 9] ENTER: (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr)() ip: 9000000045768a8
[1: 0.00366 10] ENTER: System.NullReferenceException:.ctor ()() ip: 700000000083dac
[1: 0.00375 11] ENTER: System.SystemException:.ctor (string)() ip: 700000000083b94
[1: 0.00387 12] ENTER: (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr)() ip: 9000000045768a8
[1: 0.00396 13] ENTER: System.NullReferenceException:.ctor ()() ip: 700000000083dac
[1: 0.00405 14] ENTER: System.SystemException:.ctor (string)() ip: 700000000083b94
[1: 0.00413 15] ENTER: System.Exception:.ctor (string)() ip: 700000000083a68
converting method void System.Exception:Init ()
Method void System.Exception:Init () emitted at 700000000084538 to 7000000000846d8 (code length 416) [exception.exe]
[1: 0.00466 16] ENTER: (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr)() ip: 9000000045768a8
[1: 0.00476 17] ENTER: System.NullReferenceException:.ctor ()() ip: 700000000083dac
[1: 0.00485 18] ENTER: System.SystemException:.ctor (string)() ip: 700000000083b94
[1: 0.00494 19] ENTER: System.Exception:.ctor (string)() ip: 700000000083a68
[1: 0.00502 20] ENTER: System.Exception:Init ()() ip: 700000000083ee0
converting method void System.Exception:set_HResult (int)
Method void System.Exception:set_HResult (int) emitted at 700000000084708 to 7000000000847dc (code length 212) [exception.exe]
[1: 0.00540 21] ENTER: (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr)() ip: 9000000045768a8
[1: 0.00549 22] ENTER: System.NullReferenceException:.ctor ()() ip: 700000000083dac
[1: 0.00558 23] ENTER: System.SystemException:.ctor (string)() ip: 700000000083b94
[1: 0.00568 24] ENTER: System.Exception:.ctor (string)() ip: 700000000083a68
[1: 0.00576 25] ENTER: System.Exception:Init ()() ip: 700000000083ee0
[1: 0.00583 26] ENTER: System.Exception:set_HResult (int)() ip: 7000000000845e4
[1: 0.00591 26] LEAVE: System.Exception:set_HResult (int)
[1: 0.00602 26] ENTER: (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr)() ip: 9000000045768a8
[1: 0.00610 27] ENTER: System.NullReferenceException:.ctor ()() ip: 700000000083dac
[1: 0.00618 28] ENTER: System.SystemException:.ctor (string)() ip: 700000000083b94
[1: 0.00626 29] ENTER: System.Exception:.ctor (string)() ip: 700000000083a68
[1: 0.00634 30] ENTER: System.Exception:Init ()() ip: 700000000083ee0
[1: 0.00641 31] ENTER: System.Exception:set_HResult (int)() ip: 7000000000845e4
[1: 0.00656 31] LEAVE: System.Exception:set_HResult (int)
[1: 0.00664 31] ENTER: (wrapper alloc) object:AllocSmall (intptr,intptr)() ip: 70000000008461c
[1: 0.00672 31] LEAVE: (wrapper alloc) object:AllocSmall (intptr,intptr)[System.Runtime.Serialization.SafeSerializationManager:700000000400528]
[1: 0.00682 30] LEAVE: System.Exception:Init ()
[1: 0.00690 29] LEAVE: System.Exception:.ctor (string)
converting method void System.Exception:SetErrorCode (int)
Method void System.Exception:SetErrorCode (int) emitted at 7000000000847e0 to 70000000008489c (code length 188) [exception.exe]
[1: 0.00724 29] ENTER: (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr)() ip: 9000000045768a8
[1: 0.00732 30] ENTER: System.NullReferenceException:.ctor ()() ip: 700000000083dac
[1: 0.00740 31] ENTER: System.SystemException:.ctor (string)() ip: 700000000083b94
[1: 0.00748 32] ENTER: System.Exception:.ctor (string)() ip: 700000000083a68
[1: 0.00756 33] ENTER: System.Exception:Init ()() ip: 700000000083ee0
[1: 0.00764 34] ENTER: System.Exception:set_HResult (int)() ip: 7000000000845e4
[1: 0.00773 34] LEAVE: System.Exception:set_HResult (int)
[1: 0.00781 34] ENTER: (wrapper alloc) object:AllocSmall (intptr,intptr)() ip: 70000000008461c
[1: 0.00789 34] LEAVE: (wrapper alloc) object:AllocSmall (intptr,intptr)[System.Runtime.Serialization.SafeSerializationManager:7000000004005e8]
[1: 0.00798 33] LEAVE: System.Exception:Init ()
[1: 0.00805 32] LEAVE: System.Exception:.ctor (string)
[1: 0.00813 32] ENTER: System.Exception:SetErrorCode (int)() ip: 700000000083a98
[1: 0.00825 33] ENTER: (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr)() ip: 9000000045768a8
[1: 0.00834 34] ENTER: System.NullReferenceException:.ctor ()() ip: 700000000083dac
[1: 0.00842 35] ENTER: System.SystemException:.ctor (string)() ip: 700000000083b94
[1: 0.00850 36] ENTER: System.Exception:.ctor (string)() ip: 700000000083a68
[1: 0.00857 37] ENTER: System.Exception:Init ()() ip: 700000000083ee0
[1: 0.00865 38] ENTER: System.Exception:set_HResult (int)() ip: 7000000000845e4
[1: 0.00873 38] LEAVE: System.Exception:set_HResult (int)
[1: 0.00881 38] ENTER: (wrapper alloc) object:AllocSmall (intptr,intptr)() ip: 70000000008461c
[1: 0.00889 38] LEAVE: (wrapper alloc) object:AllocSmall (intptr,intptr)[System.Runtime.Serialization.SafeSerializationManager:7000000004006a8]
[1: 0.00898 37] LEAVE: System.Exception:Init ()
[1: 0.00906 36] LEAVE: System.Exception:.ctor (string)
[1: 0.00913 36] ENTER: System.Exception:SetErrorCode (int)() ip: 700000000083a98
[1: 0.00921 37] ENTER: System.Exception:set_HResult (int)() ip: 700000000084858
[1: 0.00929 37] LEAVE: System.Exception:set_HResult (int)
[1: 0.00937 36] LEAVE: System.Exception:SetErrorCode (int)
[1: 0.00945 35] LEAVE: System.SystemException:.ctor (string)
[1: 0.00955 35] ENTER: (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr)() ip: 9000000045768a8
[1: 0.00963 36] ENTER: System.NullReferenceException:.ctor ()() ip: 700000000083dac
[1: 0.00971 37] ENTER: System.SystemException:.ctor (string)() ip: 700000000083b94
[1: 0.00979 38] ENTER: System.Exception:.ctor (string)() ip: 700000000083a68
[1: 0.00987 39] ENTER: System.Exception:Init ()() ip: 700000000083ee0
[1: 0.00994 40] ENTER: System.Exception:set_HResult (int)() ip: 7000000000845e4
[1: 0.01002 40] LEAVE: System.Exception:set_HResult (int)
[1: 0.01010 40] ENTER: (wrapper alloc) object:AllocSmall (intptr,intptr)() ip: 70000000008461c
[1: 0.01018 40] LEAVE: (wrapper alloc) object:AllocSmall (intptr,intptr)[System.Runtime.Serialization.SafeSerializationManager:700000000400768]
[1: 0.01027 39] LEAVE: System.Exception:Init ()
[1: 0.01035 38] LEAVE: System.Exception:.ctor (string)
[1: 0.01042 38] ENTER: System.Exception:SetErrorCode (int)() ip: 700000000083a98
[1: 0.01050 39] ENTER: System.Exception:set_HResult (int)() ip: 700000000084858
[1: 0.01058 39] LEAVE: System.Exception:set_HResult (int)
[1: 0.01066 38] LEAVE: System.Exception:SetErrorCode (int)
[1: 0.01074 37] LEAVE: System.SystemException:.ctor (string)
[1: 0.01081 37] ENTER: System.Exception:SetErrorCode (int)() ip: 700000000083bc4
[1: 0.01089 38] ENTER: System.Exception:set_HResult (int)() ip: 700000000084858
[1: 0.01097 38] LEAVE: System.Exception:set_HResult (int)
[1: 0.01106 37] LEAVE: System.Exception:SetErrorCode (int)
[1: 0.01114 36] LEAVE: System.NullReferenceException:.ctor ()
[1: 0.01122 35] LEAVE: (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr)[OBJECT:0]
converting method string System.Exception:get_Message ()
Method string System.Exception:get_Message () emitted at 7000000000848a0 to 700000000084abc (code length 540) [exception.exe]
converting method (wrapper runtime-invoke) object <Module>:runtime_invoke_object__this__ (object,intptr,intptr,intptr)
Method (wrapper runtime-invoke) object <Module>:runtime_invoke_object__this__ (object,intptr,intptr,intptr) emitted at 700000000084b50 to 700000000084db8 (code length 616) [exception.exe]
[1: 0.01405 35] ENTER: (wrapper runtime-invoke) <Module>:runtime_invoke_object__this__ (object,intptr,intptr,intptr)() ip: 9000000045768a8
[1: 0.01413 36] ENTER: System.Exception:get_Message ()() ip: 700000000084c60
[1: 0.01421 36] LEAVE: System.Exception:get_Message ()[System.String:7000000004007a0]
[1: 0.01429 35] LEAVE: (wrapper runtime-invoke) <Module>:runtime_invoke_object__this__ (object,intptr,intptr,intptr)[System.String:7000000004007a0]
[1:] EXCEPTION handling: System.NullReferenceException: Object reference not set to an instance of an object
converting method string System.Exception:ToString ()
Method string System.Exception:ToString () emitted at 700000000084db8 to 700000000084e80 (code length 200) [exception.exe]
[1: 0.01526 35] ENTER: (wrapper runtime-invoke) <Module>:runtime_invoke_object__this__ (object,intptr,intptr,intptr)() ip: 9000000045768a8
[1: 0.01535 36] ENTER: System.Exception:ToString ()() ip: 700000000084c60
converting method string System.Exception:ToString (bool,bool)
Method string System.Exception:ToString (bool,bool) emitted at 700000000084eb0 to 700000000085364 (code length 1204) [exception.exe]
[1: 0.01627 37] ENTER: (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr)() ip: 9000000045768a8
[1: 0.01636 38] ENTER: System.NullReferenceException:.ctor ()() ip: 700000000083dac
[1: 0.01644 39] ENTER: System.SystemException:.ctor (string)() ip: 700000000083b94
[1: 0.01652 40] ENTER: System.Exception:.ctor (string)() ip: 700000000083a68
[1: 0.01660 41] ENTER: System.Exception:Init ()() ip: 700000000083ee0
[1: 0.01668 42] ENTER: System.Exception:set_HResult (int)() ip: 7000000000845e4
[1: 0.01676 42] LEAVE: System.Exception:set_HResult (int)
[1: 0.01684 42] ENTER: (wrapper alloc) object:AllocSmall (intptr,intptr)() ip: 70000000008461c
[1: 0.01692 42] LEAVE: (wrapper alloc) object:AllocSmall (intptr,intptr)[System.Runtime.Serialization.SafeSerializationManager:700000000400a48]
[1: 0.01700 41] LEAVE: System.Exception:Init ()
[1: 0.01708 40] LEAVE: System.Exception:.ctor (string)
[1: 0.01716 40] ENTER: System.Exception:SetErrorCode (int)() ip: 700000000083a98
[1: 0.01730 41] ENTER: System.Exception:set_HResult (int)() ip: 700000000084858
[1: 0.01738 41] LEAVE: System.Exception:set_HResult (int)
[1: 0.01746 40] LEAVE: System.Exception:SetErrorCode (int)
[1: 0.01754 39] LEAVE: System.SystemException:.ctor (string)
[1: 0.01762 39] ENTER: System.Exception:SetErrorCode (int)() ip: 700000000083bc4
[1: 0.01770 40] ENTER: System.Exception:set_HResult (int)() ip: 700000000084858
[1: 0.01777 40] LEAVE: System.Exception:set_HResult (int)
[1: 0.01785 39] LEAVE: System.Exception:SetErrorCode (int)
[1: 0.01793 38] LEAVE: System.NullReferenceException:.ctor ()
[1: 0.01801 37] LEAVE: (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr)[OBJECT:0]
[1: 0.01811 37] ENTER: (wrapper runtime-invoke) <Module>:runtime_invoke_object__this__ (object,intptr,intptr,intptr)() ip: 9000000045768a8
[1: 0.01819 38] ENTER: System.Exception:get_Message ()() ip: 700000000084c60
[1: 0.01827 38] LEAVE: System.Exception:get_Message ()[System.String:700000000400a80]
[1: 0.01835 37] LEAVE: (wrapper runtime-invoke) <Module>:runtime_invoke_object__this__ (object,intptr,intptr,intptr)[System.String:700000000400a80]
[1:] EXCEPTION handling: System.NullReferenceException: Object reference not set to an instance of an object
EXCEPTION: catch found at clause 0 of (wrapper runtime-invoke) <Module>:runtime_invoke_object__this__ (object,intptr,intptr,intptr)
[1: 0.01862 36] LEAVE: (wrapper runtime-invoke) <Module>:runtime_invoke_object__this__ (object,intptr,intptr,intptr)[OBJECT:0]
Unhandled Exception:
Nested exception detected.
Original Exception: at System.NullReferenceException..ctor () [0x00010] in <ed20377020504649863303af004d6a67>:0
at System.SystemException..ctor (string) [0x00007] in <ed20377020504649863303af004d6a67>:0
at System.NullReferenceException..ctor () [0x0000b] in <ed20377020504649863303af004d6a67>:0
Nested exception:at System.Exception.ToString () [0x00000] in <ed20377020504649863303af004d6a67>:0
[1: 0.02226 36] ENTER: (wrapper runtime-invoke) <Module>:runtime_invoke_object__this__ (object,intptr,intptr,intptr)() ip: 9000000045768a8
[1: 0.02235 37] ENTER: System.Exception:ToString ()() ip: 700000000084c60
[1: 0.02242 38] ENTER: System.Exception:ToString (bool,bool)() ip: 700000000084e30
[1: 0.02252 39] ENTER: (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr)() ip: 9000000045768a8
[1: 0.02260 40] ENTER: System.NullReferenceException:.ctor ()() ip: 700000000083dac
[1: 0.02268 41] ENTER: System.SystemException:.ctor (string)() ip: 700000000083b94
[1: 0.02276 42] ENTER: System.Exception:.ctor (string)() ip: 700000000083a68
[1: 0.02283 43] ENTER: System.Exception:Init ()() ip: 700000000083ee0
[1: 0.02291 44] ENTER: System.Exception:set_HResult (int)() ip: 7000000000845e4
[1: 0.02299 44] LEAVE: System.Exception:set_HResult (int)
[1: 0.02307 44] ENTER: (wrapper alloc) object:AllocSmall (intptr,intptr)() ip: 70000000008461c
[1: 0.02315 44] LEAVE: (wrapper alloc) object:AllocSmall (intptr,intptr)[System.Runtime.Serialization.SafeSerializationManager:700000000400bc0]
[1: 0.02323 43] LEAVE: System.Exception:Init ()
[1: 0.02331 42] LEAVE: System.Exception:.ctor (string)
[1: 0.02339 42] ENTER: System.Exception:SetErrorCode (int)() ip: 700000000083a98
[1: 0.02347 43] ENTER: System.Exception:set_HResult (int)() ip: 700000000084858
[1: 0.02354 43] LEAVE: System.Exception:set_HResult (int)
[1: 0.02362 42] LEAVE: System.Exception:SetErrorCode (int)
[1: 0.02371 41] LEAVE: System.SystemException:.ctor (string)
[1: 0.02378 41] ENTER: System.Exception:SetErrorCode (int)() ip: 700000000083bc4
[1: 0.02386 42] ENTER: System.Exception:set_HResult (int)() ip: 700000000084858
[1: 0.02394 42] LEAVE: System.Exception:set_HResult (int)
[1: 0.02408 41] LEAVE: System.Exception:SetErrorCode (int)
[1: 0.02416 40] LEAVE: System.NullReferenceException:.ctor ()
[1: 0.02424 39] LEAVE: (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr)[OBJECT:0]
[1: 0.02433 39] ENTER: (wrapper runtime-invoke) <Module>:runtime_invoke_object__this__ (object,intptr,intptr,intptr)() ip: 9000000045768a8
[1: 0.02442 40] ENTER: System.Exception:get_Message ()() ip: 700000000084c60
[1: 0.02449 40] LEAVE: System.Exception:get_Message ()[System.String:700000000400bf8]
[1: 0.02458 39] LEAVE: (wrapper runtime-invoke) <Module>:runtime_invoke_object__this__ (object,intptr,intptr,intptr)[System.String:700000000400bf8]
[1:] EXCEPTION handling: System.NullReferenceException: Object reference not set to an instance of an object
EXCEPTION: catch found at clause 0 of (wrapper runtime-invoke) <Module>:runtime_invoke_object__this__ (object,intptr,intptr,intptr)
[1: 0.02483 38] LEAVE: (wrapper runtime-invoke) <Module>:runtime_invoke_object__this__ (object,intptr,intptr,intptr)[OBJECT:0]
[ERROR] FATAL UNHANDLED EXCEPTION: Nested exception detected.
Original Exception: at System.NullReferenceException..ctor () [0x00010] in <ed20377020504649863303af004d6a67>:0
at System.SystemException..ctor (string) [0x00007] in <ed20377020504649863303af004d6a67>:0
at System.NullReferenceException..ctor () [0x0000b] in <ed20377020504649863303af004d6a67>:0
Nested exception:at System.Exception.ToString (bool,bool) [0x00006] in <ed20377020504649863303af004d6a67>:0
at System.Exception.ToString () [0x00000] in <ed20377020504649863303af004d6a67>:0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment