diff --git a/crates/horizon-client/examples/wind_burst_hook_probe.rs b/crates/horizon-client/examples/wind_burst_hook_probe.rs index b836e34a7c..b9a6688dec 100644 --- a/crates/horizon-client/examples/wind_burst_hook_probe.rs +++ b/crates/horizon-client/examples/wind_burst_hook_probe.rs @@ -24,5 +24,13 @@ fn main() { } else { Arc::from([Box::new(Protect) as Box]) }; - horizon_client::entry::main_with(mods); + // Debug Game construction exceeds the Windows main thread's default stack. + // This worker only loads the isolated component fixture; it has no window. + std::thread::Builder::new() + .name("wind-burst-fixture".into()) + .stack_size(64 * 1024 * 1024) + .spawn(move || horizon_client::entry::main_with(mods)) + .expect("start wind fixture") + .join() + .expect("wind fixture panicked"); } diff --git a/tools/test_wind_burst_hook.py b/tools/test_wind_burst_hook.py index ae36bd75ba..ba5c02c7c7 100644 --- a/tools/test_wind_burst_hook.py +++ b/tools/test_wind_burst_hook.py @@ -52,6 +52,9 @@ def check(binary, resources, timeout=600, evidence=None): for mode in ['no_mod', 'noop', 'protect']: output = work / (mode + '.txt') env = dict(os.environ, HORIZON_DISPENSE_FIXTURE=f'{inputs},{output}') + env['RUST_MIN_STACK'] = str(64 * 1024 * 1024) + env.setdefault('HORIZON_WORKER_THREADS', '2') + env.setdefault('HORIZON_JOB_THREADS', '2') env.pop('HORIZON_WIND_NO_MOD', None) env.pop('HORIZON_WIND_PROTECT', None) if mode == 'no_mod':