test: skip test_threadsafe_function for debug build#33276
test: skip test_threadsafe_function for debug build#33276danbev wants to merge 1 commit intonodejs:masterfrom
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? |
mhdawson
left a comment
There was a problem hiding this comment.
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 <daniel.bevenius@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: David Carlier <devnexen@gmail.com> Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Gabriel Schulhof <gabriel.schulhof@intel.com>
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 <daniel.bevenius@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: David Carlier <devnexen@gmail.com> Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Gabriel Schulhof <gabriel.schulhof@intel.com>
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 <daniel.bevenius@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: David Carlier <devnexen@gmail.com> Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Gabriel Schulhof <gabriel.schulhof@intel.com>
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 <daniel.bevenius@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: David Carlier <devnexen@gmail.com> Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Gabriel Schulhof <gabriel.schulhof@intel.com>
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::Pushand 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