diff --git a/Cargo.toml b/Cargo.toml index eea2342..c5dd66c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -5,7 +5,7 @@ license = "Apache-2.0" [package] name = "mnn" -version = "0.1.0" +version = "0.2.0" edition = "2021" license = { workspace = true } diff --git a/mnn-sync/Cargo.toml b/mnn-sync/Cargo.toml index 72d51fc..b9a16d6 100644 --- a/mnn-sync/Cargo.toml +++ b/mnn-sync/Cargo.toml @@ -12,3 +12,7 @@ flume = { version = "0.11.0", default-features = false, features = [ ] } mnn = { version = "0.1.0", path = ".." } oneshot = "0.1.8" +tracing = { version = "0.1", optional = true } + +[features] +tracing = ["dep:tracing", "mnn/tracing"] diff --git a/mnn-sync/src/lib.rs b/mnn-sync/src/lib.rs index 6ca3033..6ea8747 100644 --- a/mnn-sync/src/lib.rs +++ b/mnn-sync/src/lib.rs @@ -77,7 +77,8 @@ impl SessionHandle { let (tx, rx) = flume::unbounded(); let handle = builder .spawn(move || -> Result<()> { - let session = interpreter.create_session(config)?; + let mut session = interpreter.create_session(config)?; + interpreter.update_cache_file(&mut session); let mut session_runner = SessionRunner { interpreter, session, @@ -103,7 +104,10 @@ impl SessionHandle { if let Some(backtrace) = e.downcast_ref::() { err = err.attach_printable(format!("{:?}", backtrace)); }; - Err(MNNError::from(err)) + let ret = Err(MNNError::from(err)); + #[cfg(feature = "tracing")] + tracing::error!("Panic in session thread: {:?}", ret); + ret }); tx.send(result) .change_context(ErrorKind::SyncError)