From 77c1feb00ed60a5540003dd48ce4df3598e13c9d Mon Sep 17 00:00:00 2001 From: Eric Traut Date: Thu, 17 Sep 2026 04:05:59 +0000 Subject: [PATCH] Box app-server request handler futures to reduce stack usage (#46107) Use `Box::pin` when awaiting `handle_initialized_client_request` to keep queued requests small and avoid large stack temporaries during construction. GitOrigin-RevId: f3d1a6f9129f8b3a612cf054dbbb315ca61601dc --- codex-rs/app-server/src/message_processor.rs | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/codex-rs/app-server/src/message_processor.rs b/codex-rs/app-server/src/message_processor.rs index 6d9457157c..0aff37ce90 100644 --- a/codex-rs/app-server/src/message_processor.rs +++ b/codex-rs/app-server/src/message_processor.rs @@ -1019,15 +1019,15 @@ impl MessageProcessor { return; } let processor_for_request = Arc::clone(&processor); - let result = processor_for_request - .handle_initialized_client_request( - connection_request_id, - codex_request, - request_context, - session, - event_stream_ready, - ) - .await; + // Keep queued requests small to avoid large stack temporaries during construction. + let result = Box::pin(processor_for_request.handle_initialized_client_request( + connection_request_id, + codex_request, + request_context, + session, + event_stream_ready, + )) + .await; if let Err(error) = result { processor.outgoing.send_error(error_request_id, error).await; }