@@ -9,6 +9,7 @@ use serde::Serialize;
9
9
use crate :: api:: GoApi ;
10
10
use crate :: args:: { CACHE_ARG , CHECKSUM_ARG , CONFIG_ARG , WASM_ARG } ;
11
11
use crate :: error:: { handle_c_error_binary, handle_c_error_default, handle_c_error_ptr, Error } ;
12
+ use crate :: handle_vm_panic:: handle_vm_panic;
12
13
use crate :: memory:: { ByteSliceView , UnmanagedVector } ;
13
14
use crate :: querier:: GoQuerier ;
14
15
use crate :: storage:: GoStorage ;
@@ -31,7 +32,7 @@ pub extern "C" fn init_cache(
31
32
error_msg : Option < & mut UnmanagedVector > ,
32
33
) -> * mut cache_t {
33
34
let r = catch_unwind ( || do_init_cache ( config) ) . unwrap_or_else ( |err| {
34
- eprintln ! ( "Panic in do_init_cache: { err:?}" ) ;
35
+ handle_vm_panic ( " do_init_cache" , err) ;
35
36
Err ( Error :: panic ( ) )
36
37
} ) ;
37
38
handle_c_error_ptr ( r, error_msg) as * mut cache_t
@@ -56,7 +57,7 @@ pub extern "C" fn save_wasm(
56
57
let r = match to_cache ( cache) {
57
58
Some ( c) => catch_unwind ( AssertUnwindSafe ( move || do_save_wasm ( c, wasm, unchecked) ) )
58
59
. unwrap_or_else ( |err| {
59
- eprintln ! ( "Panic in do_save_wasm: { err:?}" ) ;
60
+ handle_vm_panic ( " do_save_wasm" , err) ;
60
61
Err ( Error :: panic ( ) )
61
62
} ) ,
62
63
None => Err ( Error :: unset_arg ( CACHE_ARG ) ) ,
@@ -88,7 +89,7 @@ pub extern "C" fn remove_wasm(
88
89
let r = match to_cache ( cache) {
89
90
Some ( c) => catch_unwind ( AssertUnwindSafe ( move || do_remove_wasm ( c, checksum) ) )
90
91
. unwrap_or_else ( |err| {
91
- eprintln ! ( "Panic in do_remove_wasm: { err:?}" ) ;
92
+ handle_vm_panic ( " do_remove_wasm" , err) ;
92
93
Err ( Error :: panic ( ) )
93
94
} ) ,
94
95
None => Err ( Error :: unset_arg ( CACHE_ARG ) ) ,
@@ -117,7 +118,7 @@ pub extern "C" fn load_wasm(
117
118
let r = match to_cache ( cache) {
118
119
Some ( c) => catch_unwind ( AssertUnwindSafe ( move || do_load_wasm ( c, checksum) ) )
119
120
. unwrap_or_else ( |err| {
120
- eprintln ! ( "Panic in do_load_wasm: { err:?}" ) ;
121
+ handle_vm_panic ( " do_load_wasm" , err) ;
121
122
Err ( Error :: panic ( ) )
122
123
} ) ,
123
124
None => Err ( Error :: unset_arg ( CACHE_ARG ) ) ,
@@ -147,7 +148,7 @@ pub extern "C" fn pin(
147
148
let r = match to_cache ( cache) {
148
149
Some ( c) => {
149
150
catch_unwind ( AssertUnwindSafe ( move || do_pin ( c, checksum) ) ) . unwrap_or_else ( |err| {
150
- eprintln ! ( "Panic in do_pin: { err:?}" ) ;
151
+ handle_vm_panic ( " do_pin" , err) ;
151
152
Err ( Error :: panic ( ) )
152
153
} )
153
154
}
@@ -177,7 +178,7 @@ pub extern "C" fn unpin(
177
178
let r = match to_cache ( cache) {
178
179
Some ( c) => {
179
180
catch_unwind ( AssertUnwindSafe ( move || do_unpin ( c, checksum) ) ) . unwrap_or_else ( |err| {
180
- eprintln ! ( "Panic in do_unpin: { err:?}" ) ;
181
+ handle_vm_panic ( " do_unpin" , err) ;
181
182
Err ( Error :: panic ( ) )
182
183
} )
183
184
}
@@ -285,7 +286,7 @@ pub extern "C" fn analyze_code(
285
286
let r = match to_cache ( cache) {
286
287
Some ( c) => catch_unwind ( AssertUnwindSafe ( move || do_analyze_code ( c, checksum) ) )
287
288
. unwrap_or_else ( |err| {
288
- eprintln ! ( "Panic in do_analyze_code: { err:?}" ) ;
289
+ handle_vm_panic ( " do_analyze_code" , err) ;
289
290
Err ( Error :: panic ( ) )
290
291
} ) ,
291
292
None => Err ( Error :: unset_arg ( CACHE_ARG ) ) ,
@@ -363,7 +364,7 @@ pub extern "C" fn get_metrics(
363
364
let r = match to_cache ( cache) {
364
365
Some ( c) => {
365
366
catch_unwind ( AssertUnwindSafe ( move || do_get_metrics ( c) ) ) . unwrap_or_else ( |err| {
366
- eprintln ! ( "Panic in do_get_metrics: { err:?}" ) ;
367
+ handle_vm_panic ( " do_get_metrics" , err) ;
367
368
Err ( Error :: panic ( ) )
368
369
} )
369
370
}
@@ -418,7 +419,7 @@ pub extern "C" fn get_pinned_metrics(
418
419
let r = match to_cache ( cache) {
419
420
Some ( c) => {
420
421
catch_unwind ( AssertUnwindSafe ( move || do_get_pinned_metrics ( c) ) ) . unwrap_or_else ( |err| {
421
- eprintln ! ( "Panic in do_get_pinned_metrics: { err:?}" ) ;
422
+ handle_vm_panic ( " do_get_pinned_metrics" , err) ;
422
423
Err ( Error :: panic ( ) )
423
424
} )
424
425
}
0 commit comments