mirror of
https://github.com/openai/codex.git
synced 2026-09-15 12:08:01 +00:00
Increase Tokio worker stack to avoid detached review overflow
This commit is contained in:
@@ -13,7 +13,9 @@ const APPLY_PATCH_ARG0: &str = "apply_patch";
|
||||
const MISSPELLED_APPLY_PATCH_ARG0: &str = "applypatch";
|
||||
const LOCK_FILENAME: &str = ".lock";
|
||||
#[cfg(target_os = "windows")]
|
||||
const WINDOWS_TOKIO_WORKER_STACK_SIZE_BYTES: usize = 16 * 1024 * 1024;
|
||||
const TOKIO_WORKER_STACK_SIZE_BYTES: usize = 16 * 1024 * 1024;
|
||||
#[cfg(not(target_os = "windows"))]
|
||||
const TOKIO_WORKER_STACK_SIZE_BYTES: usize = 4 * 1024 * 1024;
|
||||
|
||||
/// Keeps the per-session PATH entry alive and locked for the process lifetime.
|
||||
pub struct Arg0PathEntryGuard {
|
||||
@@ -129,12 +131,10 @@ where
|
||||
fn build_runtime() -> anyhow::Result<tokio::runtime::Runtime> {
|
||||
let mut builder = tokio::runtime::Builder::new_multi_thread();
|
||||
builder.enable_all();
|
||||
#[cfg(target_os = "windows")]
|
||||
{
|
||||
// Defensive hardening: Windows worker threads have lower effective
|
||||
// stack headroom, so use a larger stack for runtime workers.
|
||||
builder.thread_stack_size(WINDOWS_TOKIO_WORKER_STACK_SIZE_BYTES);
|
||||
}
|
||||
// Bazel/Linux workers commonly run with the default Tokio worker stack (2 MiB),
|
||||
// which can overflow in deeper app-server startup paths (for example, detached review thread init).
|
||||
// Pin a larger worker stack across platforms (Windows keeps the larger 16 MiB value).
|
||||
builder.thread_stack_size(TOKIO_WORKER_STACK_SIZE_BYTES);
|
||||
Ok(builder.build()?)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user