Merge "Write panic messages to logcat"
diff --git a/compos/composd/src/composd_main.rs b/compos/composd/src/composd_main.rs
index 235c107..d1b711d 100644
--- a/compos/composd/src/composd_main.rs
+++ b/compos/composd/src/composd_main.rs
@@ -29,6 +29,7 @@
use anyhow::{Context, Result};
use compos_common::compos_client::VmInstance;
use log::{error, info};
+use std::panic;
use std::sync::Arc;
fn try_main() -> Result<()> {
@@ -38,6 +39,11 @@
android_logger::Config::default().with_tag("composd").with_min_level(log_level),
);
+ // Redirect panic messages to logcat.
+ panic::set_hook(Box::new(|panic_info| {
+ log::error!("{}", panic_info);
+ }));
+
ProcessState::start_thread_pool();
let virtualization_service = VmInstance::connect_to_virtualization_service()?;
diff --git a/compos/src/compsvc_main.rs b/compos/src/compsvc_main.rs
index c2923f0..ebb5514 100644
--- a/compos/src/compsvc_main.rs
+++ b/compos/src/compsvc_main.rs
@@ -38,6 +38,7 @@
use binder_common::rpc_server::run_rpc_server;
use compos_common::COMPOS_VSOCK_PORT;
use log::{debug, error};
+use std::panic;
/// The CID representing the host VM
const VMADDR_CID_HOST: u32 = 2;
@@ -59,6 +60,10 @@
android_logger::init_once(
android_logger::Config::default().with_tag("compsvc").with_min_level(log::Level::Debug),
);
+ // Redirect panic messages to logcat.
+ panic::set_hook(Box::new(|panic_info| {
+ log::error!("{}", panic_info);
+ }));
}
let service = compsvc::new_binder()?.as_binder();
diff --git a/compos/verify_key/verify_key.rs b/compos/verify_key/verify_key.rs
index 13d3c8b..9454442 100644
--- a/compos/verify_key/verify_key.rs
+++ b/compos/verify_key/verify_key.rs
@@ -27,6 +27,7 @@
};
use std::fs::{self, File};
use std::io::Read;
+use std::panic;
use std::path::{Path, PathBuf};
const MAX_FILE_SIZE_BYTES: u64 = 8 * 1024;
@@ -38,6 +39,11 @@
.with_min_level(log::Level::Info),
);
+ // Redirect panic messages to logcat.
+ panic::set_hook(Box::new(|panic_info| {
+ log::error!("{}", panic_info);
+ }));
+
if let Err(e) = try_main() {
log::error!("{:?}", e);
std::process::exit(-1)