Skip to content

Commit 0d03fd8

Browse files
authored
Increase Wasm Worker stack size to 4KB in all used examples except #26823. (#26835)
Increase Wasm Worker stack size to 4KB in all used examples except `audioworklet_worker.c`. It is not feasible to run Wasm Workers with tiny 1KB stack sizes, that is not enough to call `emscripten_outf()` from a Wasm Worker. Mass-convert all examples that use tiny 1KB Wasm Worker stack sizes to have a 4KB stacks. Improve RUNTIME_DEBUG print to actually print what exception was thrown.
1 parent 361ebd7 commit 0d03fd8

37 files changed

Lines changed: 43 additions & 43 deletions

site/source/docs/api_reference/wasm_workers.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ Quick Example
2323
2424
int main()
2525
{
26-
emscripten_wasm_worker_t worker = emscripten_malloc_wasm_worker(/*stackSize: */1024);
26+
emscripten_wasm_worker_t worker = emscripten_malloc_wasm_worker(/*stackSize: */4096);
2727
emscripten_wasm_worker_post_function_v(worker, run_in_worker);
2828
}
2929

src/lib/libcore.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2031,7 +2031,7 @@ addToLibrary({
20312031
}
20322032
#endif
20332033
#if RUNTIME_DEBUG
2034-
dbg("handleException: got unexpected exception, calling quit_")
2034+
dbg(`handleException: got unexpected exception ${e}, calling quit_`)
20352035
#endif
20362036
quit_(1, e);
20372037
},

test/atomic/test_wait32_notify.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ int main() {
8888
emscripten_out("main: creating worker");
8989

9090
#ifdef __EMSCRIPTEN_WASM_WORKERS__
91-
static char stack[1024];
91+
static char stack[4096];
9292
emscripten_wasm_worker_t worker = emscripten_create_wasm_worker(stack, sizeof(stack));
9393
emscripten_wasm_worker_post_function_v(worker, worker_main);
9494
#else

test/atomic/test_wait64_notify.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ void run_test() {
4545
// This test run in both wasm workers and pthreads mode
4646
#ifdef __EMSCRIPTEN_WASM_WORKERS__
4747

48-
char stack[1024];
48+
char stack[4096];
4949

5050
void worker_main() {
5151
run_test();

test/atomic/test_wait_async.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ int main() {
8484
emscripten_out("main: creating worker");
8585

8686
#ifdef __EMSCRIPTEN_WASM_WORKERS__
87-
emscripten_wasm_worker_t worker = emscripten_malloc_wasm_worker(1024);
87+
emscripten_wasm_worker_t worker = emscripten_malloc_wasm_worker(4096);
8888
emscripten_wasm_worker_post_function_v(worker, worker_main);
8989
#else
9090
pthread_create(&t, NULL, thread_main, NULL);

test/core/test_stdio_locking.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,8 @@ int main() {
5252
printf("in main\n");
5353
#ifdef __EMSCRIPTEN_WASM_WORKERS__
5454
emscripten_wasm_worker_t worker[2];
55-
worker[0] = emscripten_malloc_wasm_worker(/*stack size: */ 1024);
56-
worker[1] = emscripten_malloc_wasm_worker(/*stack size: */ 1024);
55+
worker[0] = emscripten_malloc_wasm_worker(/*stack size: */ 4096);
56+
worker[1] = emscripten_malloc_wasm_worker(/*stack size: */ 4096);
5757
emscripten_wasm_worker_post_function_v(worker[0], thread_func);
5858
emscripten_wasm_worker_post_function_v(worker[1], thread_func);
5959

test/embind/test_embind_wasm_workers.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ void run_in_worker() {
2424
}
2525

2626
int main() {
27-
emscripten_wasm_worker_t worker = emscripten_malloc_wasm_worker(/*stackSize: */1024);
27+
emscripten_wasm_worker_t worker = emscripten_malloc_wasm_worker(/*stackSize: */4096);
2828
emscripten_wasm_worker_post_function_v(worker, run_in_worker);
2929
emscripten_exit_with_live_runtime();
3030
}

test/wasm_worker/c11__Thread_local.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ void worker_main() {
2323
emscripten_wasm_worker_post_function_v(0, main_thread_func);
2424
}
2525

26-
char stack[1024];
26+
char stack[4096];
2727

2828
int main() {
2929
emscripten_outf("%d", tls);

test/wasm_worker/condvar_waitinf.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,10 +90,10 @@ int main() {
9090
pthread_join(signaler, NULL);
9191
emscripten_out("done");
9292
#else
93-
emscripten_wasm_worker_t waiter = emscripten_malloc_wasm_worker(1024);
93+
emscripten_wasm_worker_t waiter = emscripten_malloc_wasm_worker(4096);
9494
emscripten_wasm_worker_post_function_v(waiter, waiter_main);
9595

96-
emscripten_wasm_worker_t signaler = emscripten_malloc_wasm_worker(1024);
96+
emscripten_wasm_worker_t signaler = emscripten_malloc_wasm_worker(4096);
9797
emscripten_wasm_worker_post_function_v(signaler, signaler_main);
9898
#endif
9999
}

test/wasm_worker/cpp11_thread_local.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ void worker_main() {
2121
emscripten_wasm_worker_post_function_v(0, main_thread_func);
2222
}
2323

24-
char stack[1024];
24+
char stack[4096];
2525

2626
int main() {
2727
emscripten_outf("%d", tls);

0 commit comments

Comments
 (0)