From 3693eb8744b3a718c844b961e29a3d642c195a78 Mon Sep 17 00:00:00 2001 From: Sergei Shulepov Date: Fri, 10 Sep 2021 15:40:53 +0200 Subject: [PATCH] Add logging for worker spawn failures (#3827) --- polkadot/node/core/pvf/src/worker_common.rs | 32 ++++++++++++++++++--- 1 file changed, 28 insertions(+), 4 deletions(-) diff --git a/polkadot/node/core/pvf/src/worker_common.rs b/polkadot/node/core/pvf/src/worker_common.rs index 34bfc7cf28..9c68eaeeb0 100644 --- a/polkadot/node/core/pvf/src/worker_common.rs +++ b/polkadot/node/core/pvf/src/worker_common.rs @@ -47,14 +47,38 @@ pub async fn spawn_with_program_path( with_transient_socket_path(debug_id, |socket_path| { let socket_path = socket_path.to_owned(); async move { - let listener = UnixListener::bind(&socket_path).await.map_err(|_| SpawnErr::Bind)?; + let listener = UnixListener::bind(&socket_path).await.map_err(|err| { + tracing::warn!( + target: LOG_TARGET, + %debug_id, + "cannot bind unix socket: {:?}", + err, + ); + SpawnErr::Bind + })?; - let handle = WorkerHandle::spawn(program_path, extra_args, socket_path) - .map_err(|_| SpawnErr::ProcessSpawn)?; + let handle = + WorkerHandle::spawn(program_path, extra_args, socket_path).map_err(|err| { + tracing::warn!( + target: LOG_TARGET, + %debug_id, + "cannot spawn a worker: {:?}", + err, + ); + SpawnErr::ProcessSpawn + })?; futures::select! { accept_result = listener.accept().fuse() => { - let (stream, _) = accept_result.map_err(|_| SpawnErr::Accept)?; + let (stream, _) = accept_result.map_err(|err| { + tracing::warn!( + target: LOG_TARGET, + %debug_id, + "cannot accept a worker: {:?}", + err, + ); + SpawnErr::Accept + })?; Ok((IdleWorker { stream, pid: handle.id() }, handle)) } _ = Delay::new(spawn_timeout).fuse() => {