-
Notifications
You must be signed in to change notification settings - Fork 99
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
Run deno_core in multi thread on linux cause core dumped #812
Comments
Can you instantiate the single threaded runtime once, wrapping also the JsRuntime instantiation? I am not sure |
I find core dump cause by below code in v8: /// Runs the script returning the resulting value. It will be run in the
/// context in which it was created (ScriptCompiler::CompileBound or
/// UnboundScript::BindToCurrentContext()).
#[inline]
pub fn run<'s>(
&self,
scope: &mut HandleScope<'s>,
) -> Option<Local<'s, Value>> {
unsafe {
scope.cast_local(|sd| v8__Script__Run(self, sd.get_current_context()))
}
} If I run the js_runtime in single thread,it's ok. |
I'm not sure if I also encountered this problem, but since a recent update of deno_core, I'm now having this runtime exception: thread 'main' panicked at /home/container/.cargo/registry/src/index.crates.io-6f17d22bba15001f/deno_unsync-0.3.10/src/task.rs:56:3:
assertion failed: Handle::current().runtime_flavor() == RuntimeFlavor::CurrentThread
[3.35s] 0 / 0+ jobs complete
0: 0x555558a2b745 - std::backtrace_rs::backtrace::libunwind::trace::h1a07e5dba0da0cd2
at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/../../backtrace/src/backtrace/libunwind.rs:105:5
1: 0x555558a2b745 - std::backtrace_rs::backtrace::trace_unsynchronized::h61b9b8394328c0bc
at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
2: 0x555558a2b745 - std::sys_common::backtrace::_print_fmt::h1c5e18b460934cff
at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/sys_common/backtrace.rs:68:5
3: 0x555558a2b745 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h1e1a1972118942ad
at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/sys_common/backtrace.rs:44:22
4: 0x555558a5b20b - core::fmt::rt::Argument::fmt::h07af2b4071d536cd
at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/core/src/fmt/rt.rs:165:63
5: 0x555558a5b20b - core::fmt::write::hc090a2ffd6b28c4a
at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/core/src/fmt/mod.rs:1157:21
6: 0x555558a2723f - std::io::Write::write_fmt::h8898bac6ff039a23
at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/io/mod.rs:1832:15
7: 0x555558a2b51e - std::sys_common::backtrace::_print::h4e80c5803d4ee35b
at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/sys_common/backtrace.rs:47:5
8: 0x555558a2b51e - std::sys_common::backtrace::print::ha96650907276675e
at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/sys_common/backtrace.rs:34:9
9: 0x555558a2cb29 - std::panicking::default_hook::{{closure}}::h215c2a0a8346e0e0
10: 0x555558a2c86d - std::panicking::default_hook::h207342be97478370
at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/panicking.rs:298:9
11: 0x555558a2cfc3 - std::panicking::rust_panic_with_hook::hac8bdceee1e4fe2c
at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/panicking.rs:795:13
12: 0x555558a2ce6b - std::panicking::begin_panic_handler::{{closure}}::h00d785e82757ce3c
at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/panicking.rs:656:13
13: 0x555558a2bc09 - std::sys_common::backtrace::__rust_end_short_backtrace::h1628d957bcd06996
at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/sys_common/backtrace.rs:171:18
14: 0x555558a2cbd7 - rust_begin_unwind
at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/panicking.rs:652:5
15: 0x5555558e1243 - core::panicking::panic_fmt::hdc63834ffaaefae5
at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/core/src/panicking.rs:72:14
16: 0x5555558e12ec - core::panicking::panic::h75b3c9209f97d725
[3.45s] 0 / 0+ jobs complete
17: 0x555555883abb - deno_unsync::task::spawn::h3d4b45d6e4bac497
at /home/container/.cargo/registry/src/index.crates.io-6f17d22bba15001f/deno_unsync-0.3.10/src/task.rs:56:3
18: 0x555555883abb - deno_core::runtime::op_driver::futures_unordered_driver::FuturesUnorderedDriver<C>::spawn_task::h86233caecc35174d
at /home/container/.cargo/registry/src/index.crates.io-6f17d22bba15001f/deno_core-0.294.0/runtime/op_driver/futures_unordered_driver.rs:111:37
19: 0x55555605ef6d - deno_core::runtime::op_driver::futures_unordered_driver::FuturesUnorderedDriver<C>::ensure_task::hb57d870c90b5c30e
at /home/container/.cargo/registry/src/index.crates.io-6f17d22bba15001f/deno_core-0.294.0/runtime/op_driver/futures_unordered_driver.rs:101:7
20: 0x55555605ef6d - deno_core::runtime::op_driver::futures_unordered_driver::FuturesUnorderedDriver<C>::spawn::hb867395fbc18560f
at /home/container/.cargo/registry/src/index.crates.io-6f17d22bba15001f/deno_core-0.294.0/runtime/op_driver/futures_unordered_driver.rs:118:10
21: 0x55555605ef6d - <deno_core::runtime::op_driver::futures_unordered_driver::FuturesUnorderedDriver<C> as deno_core::runtime::op_driver::OpDriver<C>>::submit_op_fallible::h5e38d39f60f07cbc
at /home/container/.cargo/registry/src/index.crates.io-6f17d22bba15001f/deno_core-0.294.0/runtime/op_driver/futures_unordered_driver.rs:152:26
22: 0x555555d5a6c4 - deno_core::runtime::op_driver::OpDriver::submit_op_fallible_scheduling::h3b66a7572f8985f8
at /home/container/.cargo/registry/src/index.crates.io-6f17d22bba15001f/deno_core-0.294.0/runtime/op_driver/mod.rs:110:30
23: 0x555555d5a6c4 - deno_core::runtime::ops::map_async_op_fallible::h8e82c55b669cf249
at /home/container/.cargo/registry/src/index.crates.io-6f17d22bba15001f/deno_core-0.294.0/runtime/ops.rs:60:19
24: 0x555555d5a6c4 - brioche_core::script::op_brioche_bake_all::op_brioche_bake_all::slow_function_impl::h866d23a13198d95b
at /workspace/crates/brioche-core/src/script.rs:187:1
25: 0x555555d5a6c4 - brioche_core::script::op_brioche_bake_all::op_brioche_bake_all::v8_fn_ptr::hfc35036d7274a845
at /workspace/crates/brioche-core/src/script.rs:187:1
26: 0x5555577db6df - Builtins_CallApiCallbackGeneric
fatal runtime error: failed to initiate panic, error 5
Aborted Tokio is configured to create a multithreaded context. |
This is the problem with the tokio library,you should write like this |
i think you should initialize the platform using JsRuntime::init_platform(...);
// Or
drop(deno_core::JsRuntime::new(
deno_core::RuntimeOptions::default(), // internally calls setup_v8
));
for _ in 1..100 {
std::thread::spawn(|| {
let rt = JsRuntime::new(...) ...
});
} |
Also with Deno upgrade I'm having this same panic crash: Has not been a problem with previous versions - worked perfectly before. I need to run my Tokio multithreaded. |
This code is ok run on macos bug core dump on linux.
Err:
======> begin task: 1
======> begin task: 0
[1] 737334 segmentation fault (core dumped) cargo run --package deno_core --example mulit_thread
The text was updated successfully, but these errors were encountered: