-
Notifications
You must be signed in to change notification settings - Fork 3.4k
Try to resolve some flaky tests #23716
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
test list - browser64.test_offset_converter - wasm64.test_pthread_wait64_notify 1. Sometimes test_offset_converter give unresponsiveness and the possibility for it is the error from JS section 2. TimeoutNegativeWarning emerges node >= 23 and wasm64 requires node >= 24. `emscripten_set_timeout_loop` may throw warning. Node serves [`--disable-warning` option on 21.3.0](https://nodejs.org/en/blog/release/v21.3.0) fortunately.
|
a54c72d
to
08115b7
Compare
This restores the two different paths for calculating the remaining milliseconds which was removed in emscripten-core#12122. Inspired by emscripten-core#23716
Thanks for looking into these. I summited a PR to address the node warning: #23722 |
Because we control the generation of the code but we don't control the flags that folks are using when they run our code. If we don't change our code we will likely see bug reports about this warning showing up in production. |
This restores the two different paths for calculating the remaining milliseconds which was removed in emscripten-core#12122. Inspired by emscripten-core#23716
This restores the two different paths for calculating the remaining milliseconds which was removed in emscripten-core#12122. Inspired by emscripten-core#23716
This restores the two different paths for calculating the remaining milliseconds which was removed in emscripten-core#12122. Inspired by emscripten-core#23716
@sbc100 I understand. I may close this PR, and I may loop up for other flaky tests, including offset converter, for next step |
If you can figure out what is up with the offset convert that would be awesome! |
test browser64.test_offset_converter
original output for the test
Why unresponsive?
I don't know. Furthermore, I don't know what
wasmOffsetConverter
exactly is. But forcing temporal error in JS makes unresponsive.-> unresponsive. so, just set try catch on it
It gives log like this.
If some error was on JS, this change should give more hint to resolve flakiness.
test wasm64.test_pthread_wait64_notify
file
libeventloop.js
node
+wasm64
generated following error, output from Circle CI hereemscripten_set_timeout_loop()
sometimes call setTimeout with negative value.TimeoutNegativeWarning
, which warns that case.--disable-warning
option on 21.3.0 fortunately.To fix the problem, I changed
common.py
for every node>=23 calls in this PR.Does it really resolve flakiness?
For this kind of flakiness(throwing
TimeoutNegativeWarning
), yes.change
libeventloop.js
before merge this PR.run
wasm64.test_pthread_wait64_notify
I see the test fails, with following log
Apply this patch
Now, test works, with
setTimeout(tick, -1);
Possible alternative change
test_pthread_wait64_notify
@node_pthreads @no_wasm2js('https://github.com/WebAssembly/binaryen/issues/5991') def test_pthread_wait64_notify(self): + self.node_args += ['--disable-warning=TimeoutNegativeWarning'] self.do_run_in_out_file_test('atomic/test_wait64_notify.c')
libeventloop.js
-> It make bundle size bigger, even it has environment with browser, not only Node.Summary
browser64.test_offset_converter
? No.browser64.test_offset_converter
? Maybe?wasm64.test_pthread_wait64_notify
? Maybe? But, if every failed test was due toTimeoutNegativeWarning
, Yes.