debug: Add aggressive logging to track main exit
This commit is contained in:
parent
17205a4907
commit
66b0f03878
1 changed files with 26 additions and 2 deletions
|
|
@ -39,8 +39,8 @@ fn log(msg: &str) {
|
|||
let _ = std::io::stdout().flush();
|
||||
}
|
||||
|
||||
#[tokio::main]
|
||||
async fn main() -> anyhow::Result<()> {
|
||||
// Wrapper to catch when main returns
|
||||
async fn run() -> anyhow::Result<()> {
|
||||
log("=== NORMOGEN STARTING ===");
|
||||
log("[1/7] Loading environment variables...");
|
||||
|
||||
|
|
@ -74,6 +74,8 @@ async fn main() -> anyhow::Result<()> {
|
|||
};
|
||||
|
||||
log(&format!("[4/7] Connecting to MongoDB at {}...", config.database.uri));
|
||||
log("[4/7] Starting MongoDB connection (this may hang)...");
|
||||
|
||||
let db = match db::MongoDb::new(&config.database.uri, &config.database.database).await {
|
||||
Ok(db) => {
|
||||
log("[4/7] MongoDB connection successful!");
|
||||
|
|
@ -148,10 +150,32 @@ async fn main() -> anyhow::Result<()> {
|
|||
|
||||
log("=== SERVER READY ===");
|
||||
log(&format!("Listening on http://{}:{}", config.server.host, config.server.port));
|
||||
log("About to call axum::serve (this blocks forever)...");
|
||||
|
||||
tracing::info!("Server listening on {}:{}", config.server.host, config.server.port);
|
||||
|
||||
// This should block forever
|
||||
axum::serve(listener, app).await?;
|
||||
|
||||
// This should never be reached
|
||||
log("[UNEXPECTED] Server stopped!");
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[tokio::main]
|
||||
async fn main() {
|
||||
log("MAIN ENTERED");
|
||||
let result = run().await;
|
||||
log(&format!("MAIN EXITING: {:?}", result));
|
||||
std::process::exit(match result {
|
||||
Ok(_) => {
|
||||
log("EXIT CODE 0");
|
||||
0
|
||||
}
|
||||
Err(e) => {
|
||||
log(&format!("EXIT CODE 1: {}", e));
|
||||
1
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue