-
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
test: skip test_threadsafe_function for debug build #33276
test: skip test_threadsafe_function for debug build #33276
Conversation
This comit suggests skipping this test when the build type is Debug. The reason for this is that it currently aborts with the following message: 1: 0xe5ba88 node::DumpBacktrace(_IO_FILE*) [out/Debug/node] 2: 0xfc4e2d [out/Debug/node] 3: 0xfc4e4d [out/Debug/node] 4: 0x288c9e8 V8_Fatal(char const*, int, char const*, ...) [out/Debug/node] 5: 0x288ca13 [out/Debug/node] 6: 0x115ef49 v8::internal::Isolate::Current() [out/Debug/node] 7: 0xec6e1c [out/Debug/node] 8: 0xec9c26 napi_call_threadsafe_function [out/Debug/node] 9: 0x7f3a39de3474 [test/node-api/test_threadsafe_function/build/Debug/binding.node] 10: 0x7f3a39a5a4e2 [/lib64/libpthread.so.0] 11: 0x7f3a399896d3 clone [/lib64/libc.so.6] Illegal instruction (core dumped) This is generated from ThreadSafeFunction::Push and the call to v8::Isolate::GetCurrent() which has a debug mode check (DCHECK) which is causing this to abort if the current thread's Isolate is a null. As far as I know there is nothing like v8::internal::Isolate::TryGetCurrent() exposed with could be used which is the reason for suggesting this test just be skipped.
@nodejs/n-api Would someone from the team be able to take a look at this and approve if they think this change is resonable? Thanks |
@gabrielschulhof do you have an opinion on this? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, I think its ok if this is disabled for debug only as I don't see a good work around.
(I don’t want to block this but this should eventually be reverted, so as far as I am concerned this can be landed this as long as an issue or sth equivalent opened about it. Also, I’m surprised that addons still aren’t tested in CI?) |
@addaleax I'm sure addons are tested, just not in debug mode. |
@mhdawson Yes, that was the point. Addon tests are among the set of tests that should definitely run under debug mode in CI. |
This reverts commit d26ca06 because it breaks running the tests in debug mode, as `v8::Isolate::GetCurrent()` is not allowed if no `Isolate` is active on the current thread. Refs: nodejs#33276 Refs: nodejs#32860
Opened #33453 with a revert PR |
This reverts commit d26ca06 because it breaks running the tests in debug mode, as `v8::Isolate::GetCurrent()` is not allowed if no `Isolate` is active on the current thread. Refs: nodejs#33276 Refs: nodejs#32860 PR-URL: nodejs#33453 Reviewed-By: Daniel Bevenius <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: David Carlier <[email protected]> Reviewed-By: Gireesh Punathil <[email protected]> Reviewed-By: Gabriel Schulhof <[email protected]>
This reverts commit d26ca06 because it breaks running the tests in debug mode, as `v8::Isolate::GetCurrent()` is not allowed if no `Isolate` is active on the current thread. Refs: #33276 Refs: #32860 PR-URL: #33453 Reviewed-By: Daniel Bevenius <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: David Carlier <[email protected]> Reviewed-By: Gireesh Punathil <[email protected]> Reviewed-By: Gabriel Schulhof <[email protected]>
This reverts commit d26ca06 because it breaks running the tests in debug mode, as `v8::Isolate::GetCurrent()` is not allowed if no `Isolate` is active on the current thread. Refs: #33276 Refs: #32860 PR-URL: #33453 Reviewed-By: Daniel Bevenius <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: David Carlier <[email protected]> Reviewed-By: Gireesh Punathil <[email protected]> Reviewed-By: Gabriel Schulhof <[email protected]>
This reverts commit d26ca06 because it breaks running the tests in debug mode, as `v8::Isolate::GetCurrent()` is not allowed if no `Isolate` is active on the current thread. Refs: #33276 Refs: #32860 PR-URL: #33453 Reviewed-By: Daniel Bevenius <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: David Carlier <[email protected]> Reviewed-By: Gireesh Punathil <[email protected]> Reviewed-By: Gabriel Schulhof <[email protected]>
This comit suggests skipping this test when the build type is
Debug
. Thereason for this is that it currently aborts with the following message:
This is generated from
ThreadSafeFunction::Push
and the call tov8::Isolate::GetCurrent()
which has a debug mode check (DCHECK) which iscausing this to abort if the current thread's Isolate is a null. As far
as I know there is nothing like v8::internal::Isolate::TryGetCurrent()
exposed with could be used which is the reason for suggesting this test
just be skipped.
Checklist
make -j4 test
(UNIX), orvcbuild test
(Windows) passes