From 375ba275bea01018a78d3a8a076764b14d30699b Mon Sep 17 00:00:00 2001 From: Yureka Date: Mon, 30 Mar 2026 17:37:16 +0200 Subject: [PATCH 1/2] main: print scheduler error --- vicky/src/bin/vicky/main.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vicky/src/bin/vicky/main.rs b/vicky/src/bin/vicky/main.rs index 9f70e81..99628d6 100644 --- a/vicky/src/bin/vicky/main.rs +++ b/vicky/src/bin/vicky/main.rs @@ -162,7 +162,7 @@ async fn inner_main() -> Result<()> { select! { e = web_task => e.map(|_| ()).context(startup::JoinErr)?, _ = task_timeout_sweeper => panic!("Task timeout sweeper shouldn't exit"), - _ = scheduler_join_handle => panic!("Scheduler shouldn't exit"), + e = scheduler_join_handle => panic!("Scheduler shouldn't exit. Returned: {:?}", e), } Ok(()) From bfcb5f9b5bec7438962eb533703093631d3f136e Mon Sep 17 00:00:00 2001 From: Yureka Date: Mon, 30 Mar 2026 18:22:13 +0200 Subject: [PATCH 2/2] scheduler: ignore RecvError::Lagged --- vicky/src/lib/vicky/scheduler.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/vicky/src/lib/vicky/scheduler.rs b/vicky/src/lib/vicky/scheduler.rs index 4a6b4b9..00a96d2 100644 --- a/vicky/src/lib/vicky/scheduler.rs +++ b/vicky/src/lib/vicky/scheduler.rs @@ -99,8 +99,10 @@ impl Scheduler { tokio::select! { res = global_events_rx.recv() => { // wait for changed or new tasks... - if res.is_err() { - return Err(SchedulerError::ChannelClosed.into()); + match res { + Ok(_) => {}, + Err(tokio::sync::broadcast::error::RecvError::Lagged(_)) => {}, + Err(_) => return Err(SchedulerError::ChannelClosed.into()), } } res = fairy_handles_rx.recv() => {