-
Notifications
You must be signed in to change notification settings - Fork 29.8k
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
wpt/test-structured-clone is flaky #49852
Comments
It seems strange that this is a flake, the error should be thrown by V8 when the object cannot be deserialized somehow. Unfortunately we don't have a lot of information about where the exception comes from, the JS stack is lost due to asynchronicity, maybe we can tweak the wpt harness a bit to capture the stack (not sure if it's already lost by then though) |
cc @legendecas as you've recently touched the serdes part |
I wonder if could be related to #49713 |
That could be a cause, we can try stress-testing a revert |
Does it not seem to be happening on macos? I tried locally with --repeat 1000 but no reproduction would be weird if this was os specific |
Sorry for the delay, I was on a trip last week. I'm going to take a look as soon as possible. |
JSTransferable wrapper object is a short-lived wrapper in the scope of the serialization or the deserialization. Make the JSTransferable wrapper object pointer as a strongly-referenced detached BaseObjectPtr so that a JSTransferable wrapper object and its target object will never be garbage-collected during a ser-des process, and the wrapper object will be immediately destroyed when the process is completed. PR-URL: #50026 Fixes: #49852 Fixes: #49844 Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
JSTransferable wrapper object is a short-lived wrapper in the scope of the serialization or the deserialization. Make the JSTransferable wrapper object pointer as a strongly-referenced detached BaseObjectPtr so that a JSTransferable wrapper object and its target object will never be garbage-collected during a ser-des process, and the wrapper object will be immediately destroyed when the process is completed. PR-URL: nodejs#50026 Fixes: nodejs#49852 Fixes: nodejs#49844 Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
JSTransferable wrapper object is a short-lived wrapper in the scope of the serialization or the deserialization. Make the JSTransferable wrapper object pointer as a strongly-referenced detached BaseObjectPtr so that a JSTransferable wrapper object and its target object will never be garbage-collected during a ser-des process, and the wrapper object will be immediately destroyed when the process is completed. PR-URL: nodejs#50026 Fixes: nodejs#49852 Fixes: nodejs#49844 Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Test
wpt/test-structured-clone
Platform
Linux ARM64, Linux x64, Windows
Console output
wpt/test-structured-clone
Additional information
nodejs/reliability#675
The text was updated successfully, but these errors were encountered: