We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
This was found in Deno in denoland/deno#12658.
I suspect this is a V8 bug, as opposed to a rusty_v8 bug, but filing it here first just in case.
use std::sync::mpsc::{channel, Sender}; use std::thread::spawn; fn module_instantiate<'a>( _: v8::Local<'a, v8::Context>, _: v8::Local<'a, v8::String>, _: v8::Local<'a, v8::FixedArray>, _: v8::Local<'a, v8::Module>, ) -> Option<v8::Local<'a, v8::Module>> { None } fn compile_module<'a>( scope: &mut v8::HandleScope<'a>, code: &'static str, origin: &'static str, ) -> v8::Local<'a, v8::Module> { let module_code = v8::String::new(scope, code).unwrap(); let origin_string = v8::String::new(scope, origin).unwrap(); let source_map_url = v8::undefined(scope); let script_origin = v8::ScriptOrigin::new( scope, origin_string.into(), 0, 0, false, 0, source_map_url.into(), false, false, true, ); let source = v8::script_compiler::Source::new(module_code, Some(&script_origin)); v8::script_compiler::compile_module(scope, source).unwrap() } fn v8_main_thread(tx: Sender<v8::IsolateHandle>) { let platform = v8::new_default_platform(0, false).make_shared(); v8::V8::initialize_platform(platform); v8::V8::initialize(); let isolate = &mut v8::Isolate::new(v8::CreateParams::default()); let scope = &mut v8::HandleScope::new(isolate); let context = v8::Context::new(scope); let scope = &mut v8::ContextScope::new(scope, context); let module = compile_module( scope, r#" // You need TLA to reproduce this crash. await Promise.resolve(); "#, "test.js", ); module .instantiate_module(scope, module_instantiate) .unwrap(); tx.send(scope.thread_safe_handle()).unwrap(); module.evaluate(scope).unwrap(); } fn main() { let (tx, rx) = channel::<v8::IsolateHandle>(); let thread_handle = spawn(move || v8_main_thread(tx)); let isolate_handle = rx.recv().unwrap(); isolate_handle.terminate_execution(); thread_handle.join().unwrap(); }
# # Fatal error in , line 0 # Check failed: (location_) != nullptr. # # # #FailureMessage Object: 0x7f47a48be130 ==== C stack trace =============================== target/debug/worker_crash(+0x8ab7e3) [0x55c571c6f7e3] target/debug/worker_crash(+0x11591b) [0x55c5714d991b] target/debug/worker_crash(+0x8a53a5) [0x55c571c693a5] target/debug/worker_crash(+0x412de5) [0x55c5717d6de5] target/debug/worker_crash(+0x412641) [0x55c5717d6641] target/debug/worker_crash(+0x4120cd) [0x55c5717d60cd] target/debug/worker_crash(+0x411f1c) [0x55c5717d5f1c] target/debug/worker_crash(+0x124f2c) [0x55c5714e8f2c] target/debug/worker_crash(+0x107e5e) [0x55c5714cbe5e] target/debug/worker_crash(+0x10bceb) [0x55c5714cfceb] target/debug/worker_crash(+0x1033ce) [0x55c5714c73ce] target/debug/worker_crash(+0xef54b) [0x55c5714b354b] target/debug/worker_crash(+0xef873) [0x55c5714b3873] target/debug/worker_crash(+0xfbe53) [0x55c5714bfe53] target/debug/worker_crash(+0xfb933) [0x55c5714bf933] target/debug/worker_crash(+0xf9e13) [0x55c5714bde13] target/debug/worker_crash(+0xfc4cb) [0x55c5714c04cb] target/debug/worker_crash(+0xfc58b) [0x55c5714c058b] target/debug/worker_crash(+0xfc426) [0x55c5714c0426] target/debug/worker_crash(+0xf4d83) [0x55c5714b8d83] target/debug/worker_crash(+0xfb76b) [0x55c5714bf76b] target/debug/worker_crash(+0x10045e) [0x55c5714c445e] target/debug/worker_crash(+0xe516c3) [0x55c5722156c3] /lib64/libpthread.so.0(+0x9299) [0x7f47a4be8299] /lib64/libc.so.6(clone+0x43) [0x7f47a49c5353] Trace/breakpoint trap (core dumped)
The text was updated successfully, but these errors were encountered:
Filed as a V8 bug: https://bugs.chromium.org/p/v8/issues/detail?id=12379
Sorry, something went wrong.
No branches or pull requests
This was found in Deno in denoland/deno#12658.
I suspect this is a V8 bug, as opposed to a rusty_v8 bug, but filing it here first just in case.
The text was updated successfully, but these errors were encountered: