Closed
Description
- Version: v9.0.0-pre (d3c668c)
- Platform: macos 10.12 (16.6.0 Darwin Kernel Version 16.6.0: Fri Apr 14 16:21:16 PDT 2017; root:xnu-3789.60.24~6/RELEASE_X86_64 x86_64 i386 MacBookPro13,3 Darwin)
- Subsystem:
v8
, possiblyvm
Repository for reproducing the error: https://github.com/jgoz/node-jest-failure
Command executed:
$ path/to/out/Debug/node ./node_modules/.bin/jest
When executing jest tests with node at d3c668c, a V8_Fatal
exception is thrown before the tests can even begin. The following stack trace is produced:
#
# Fatal error in ../deps/v8/src/objects-inl.h, line 1955
# Check failed: has_named_interceptor().
#
==== C stack trace ===============================
0 node 0x0000000101c01c2e v8::base::debug::StackTrace::StackTrace() + 30
1 node 0x0000000101c01c65 v8::base::debug::StackTrace::StackTrace() + 21
2 node 0x0000000101a51627 v8::platform::(anonymous namespace)::PrintStackTrace() + 23
3 node 0x0000000101bfbdfd V8_Fatal + 445
4 node 0x00000001011c0a31 v8::internal::Map::GetNamedInterceptor() + 81
5 node 0x00000001011abfad v8::internal::JSObject::GetNamedInterceptor() + 29
6 node 0x00000001011be0dc v8::internal::__RT_impl_Runtime_LoadPropertyWithInterceptor(v8::internal::Arguments, v8::internal::Isolate*) + 716
7 node 0x00000001011bdcb0 v8::internal::Runtime_LoadPropertyWithInterceptor(int, v8::internal::Object**, v8::internal::Isolate*) + 272
8 ??? 0x00002c5ab4184264 0x0 + 48768080167524
Received signal 4 <unknown> 000101c05971
[1] 31361 illegal hardware instruction ../node/out/Debug/node ./node_modules/.bin/jest
Note that this error does not occur in 8.1.2, so the behaviour was a fairly recent change. Possibly a V8 update? It looks like V8 was upgraded from 5.8 to 5.9 between 8.1.2 and master
.
Jest uses vm
heavily internally, which is why I guessed that the issue was in that subsystem, but I'm not sure.