From 37ff92e0dae4ac17526b5ccc09c3c70544f396a9 Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Thu, 18 Mar 2021 17:52:36 -0400 Subject: [PATCH 1/3] [wasm] Use g_error to emit errors in mini-wasm.c, so they show up with traces in js console --- src/mono/mono/mini/mini-wasm.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/mono/mono/mini/mini-wasm.c b/src/mono/mono/mini/mini-wasm.c index f18d837f1b19b..15ae77be52b59 100644 --- a/src/mono/mono/mini/mini-wasm.c +++ b/src/mono/mono/mini/mini-wasm.c @@ -218,7 +218,7 @@ mono_arch_create_vars (MonoCompile *cfg) if (cinfo->ret.storage == ArgValuetypeAddrInIReg || cinfo->ret.storage == ArgGsharedVTOnStack) { cfg->vret_addr = mono_compile_create_var (cfg, mono_get_int_type (), OP_ARG); if (G_UNLIKELY (cfg->verbose_level > 1)) { - printf ("vret_addr = "); + g_error ("vret_addr = "); mono_print_ins (cfg->vret_addr); } } @@ -567,13 +567,13 @@ mono_set_timeout_exec (int id) //YES we swallow exceptions cuz there's nothing much we can do from here. //FIXME Maybe call the unhandled exception function? if (!is_ok (error)) { - printf ("timeout callback failed due to %s\n", mono_error_get_message (error)); + g_error ("timeout callback failed due to %s\n", mono_error_get_message (error)); mono_error_cleanup (error); } if (exc) { char *type_name = mono_type_get_full_name (mono_object_class (exc)); - printf ("timeout callback threw a %s\n", type_name); + g_error ("timeout callback threw a %s\n", type_name); g_free (type_name); } } @@ -605,13 +605,13 @@ tp_cb (void) mono_runtime_try_invoke (method, NULL, NULL, &exc, error); if (!is_ok (error)) { - printf ("ThreadPool Callback failed due to error: %s\n", mono_error_get_message (error)); + g_error ("ThreadPool Callback failed due to error: %s\n", mono_error_get_message (error)); mono_error_cleanup (error); } if (exc) { char *type_name = mono_type_get_full_name (mono_object_class (exc)); - printf ("ThreadPool Callback threw an unhandled exception of type %s\n", type_name); + g_error ("ThreadPool Callback threw an unhandled exception of type %s\n", type_name); g_free (type_name); } } From c5a6165cb2a91a4086833144fe2d30b38f6d46b0 Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Thu, 18 Mar 2021 20:08:49 -0400 Subject: [PATCH 2/3] address review feedback vargaz: printf in JIT code is mapped to the platform logging operation, so this one can stay as it is. --- src/mono/mono/mini/mini-wasm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mono/mono/mini/mini-wasm.c b/src/mono/mono/mini/mini-wasm.c index 15ae77be52b59..1409350d73c60 100644 --- a/src/mono/mono/mini/mini-wasm.c +++ b/src/mono/mono/mini/mini-wasm.c @@ -218,7 +218,7 @@ mono_arch_create_vars (MonoCompile *cfg) if (cinfo->ret.storage == ArgValuetypeAddrInIReg || cinfo->ret.storage == ArgGsharedVTOnStack) { cfg->vret_addr = mono_compile_create_var (cfg, mono_get_int_type (), OP_ARG); if (G_UNLIKELY (cfg->verbose_level > 1)) { - g_error ("vret_addr = "); + printf ("vret_addr = "); mono_print_ins (cfg->vret_addr); } } From 4ac39b74b15a186d56cb2e2dda2c711c17a50400 Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Fri, 19 Mar 2021 13:35:29 -0400 Subject: [PATCH 3/3] Use g_printerr instead of g_error, as suggested by feedback --- src/mono/mono/mini/mini-wasm.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/mono/mono/mini/mini-wasm.c b/src/mono/mono/mini/mini-wasm.c index 1409350d73c60..1f93181af3a1b 100644 --- a/src/mono/mono/mini/mini-wasm.c +++ b/src/mono/mono/mini/mini-wasm.c @@ -567,13 +567,13 @@ mono_set_timeout_exec (int id) //YES we swallow exceptions cuz there's nothing much we can do from here. //FIXME Maybe call the unhandled exception function? if (!is_ok (error)) { - g_error ("timeout callback failed due to %s\n", mono_error_get_message (error)); + g_printerr ("timeout callback failed due to %s\n", mono_error_get_message (error)); mono_error_cleanup (error); } if (exc) { char *type_name = mono_type_get_full_name (mono_object_class (exc)); - g_error ("timeout callback threw a %s\n", type_name); + g_printerr ("timeout callback threw a %s\n", type_name); g_free (type_name); } } @@ -605,13 +605,13 @@ tp_cb (void) mono_runtime_try_invoke (method, NULL, NULL, &exc, error); if (!is_ok (error)) { - g_error ("ThreadPool Callback failed due to error: %s\n", mono_error_get_message (error)); + g_printerr ("ThreadPool Callback failed due to error: %s\n", mono_error_get_message (error)); mono_error_cleanup (error); } if (exc) { char *type_name = mono_type_get_full_name (mono_object_class (exc)); - g_error ("ThreadPool Callback threw an unhandled exception of type %s\n", type_name); + g_printerr ("ThreadPool Callback threw an unhandled exception of type %s\n", type_name); g_free (type_name); } }