Skip to content

Conversation

juj
Copy link
Collaborator

@juj juj commented Aug 25, 2025

Proxy process exit from pthread to main thread using a postMessage() and not the WebAssembly heap-based proxying queue, so that all postMessage()s will flush in-order before the process exit command does.

Fixes other.test_pthread_print_override_modularize flakiness.

There the problem was that a pthread performs a print, which is proxied over to the main thread using a print callHandler.

Then pthread quits, which would result in exitOnMainThread being called, but that would utilize the WebAssembly heap based proxying queue.

On the main thread then depending on the phase of the moon, the main thread will either flush the Wasm heap queue or the postMessage() queue first.

By postMessage()ing also the process exit call, then we can ensure that all previous postMessage()s, such as the print() call, will be flushed sequentially before the process exit call is processed.

@juj juj force-pushed the fix_flaky_test_pthread_print_override_modularize branch from d6162c2 to 17dabaa Compare August 25, 2025 23:38
juj added 3 commits August 26, 2025 13:51
…and not the WebAssembly heap-based proxying queue, so that all postMessage()s will flush in-order before the process exit command does. Fixes other.test_pthread_print_override_modularize flakiness.
This is an automatic change generated by tools/maint/rebaseline_tests.py.

The following (2) test expectation files were updated by
running the tests with `--rebaseline`:

```
code_size/test_codesize_minimal_pthreads.json: 27237 => 27226 [-11 bytes / -0.04%]
code_size/test_codesize_minimal_pthreads_memgrowth.json: 27665 => 27654 [-11 bytes / -0.04%]

Average change: -0.04% (-0.04% - -0.04%)
```
@juj juj force-pushed the fix_flaky_test_pthread_print_override_modularize branch from d96e783 to 878a6e8 Compare August 26, 2025 10:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant