Decrease default wasm stack to 512k from 1M (#3861)
This commit aims to achieve the goal of being able to run the test suite on Windows with `--test-threads 1`, or more notably allowing Wasmtime's defaults to work better with the main thread on Windows which appears to have a smaller stack by default than Linux by comparison. In decreasing the default wasm stack size a test is also update to probe for less stack to work on Windows' main thread by default, ideally allowing the full test suite to work with `--test-threads 1` (although this isn't added to CI as it's not really critical). Closes #3857
This commit is contained in:
@@ -115,7 +115,15 @@ impl Config {
|
||||
profiler: Arc::new(NullProfilerAgent),
|
||||
mem_creator: None,
|
||||
allocation_strategy: InstanceAllocationStrategy::OnDemand,
|
||||
max_wasm_stack: 1 << 20,
|
||||
// 512k of stack -- note that this is chosen currently to not be too
|
||||
// big, not be too small, and be a good default for most platforms.
|
||||
// One platform of particular note is Windows where the stack size
|
||||
// of the main thread seems to, by default, be smaller than that of
|
||||
// Linux and macOS. This 512k value at least lets our current test
|
||||
// suite pass on the main thread of Windows (using `--test-threads
|
||||
// 1` forces this), or at least it passed when this change was
|
||||
// committed.
|
||||
max_wasm_stack: 512 * 1024,
|
||||
wasm_backtrace_details_env_used: false,
|
||||
features: WasmFeatures::default(),
|
||||
#[cfg(feature = "async")]
|
||||
@@ -444,7 +452,7 @@ impl Config {
|
||||
/// on stack overflow, a host function that overflows the stack will
|
||||
/// abort the process.
|
||||
///
|
||||
/// By default this option is 1 MiB.
|
||||
/// By default this option is 512 KiB.
|
||||
pub fn max_wasm_stack(&mut self, size: usize) -> Result<&mut Self> {
|
||||
#[cfg(feature = "async")]
|
||||
if size > self.async_stack_size {
|
||||
|
||||
Reference in New Issue
Block a user