-
Notifications
You must be signed in to change notification settings - Fork 41
Open
Description
thread '<unnamed>' (3421000) panicked at /xxxxx/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/std/src/thread/local.rs:281:25:
cannot access a Thread Local Storage value during or after destruction: AccessError
stack backtrace:
0: 0x7f04271c5192 - std::backtrace_rs::backtrace::libunwind::trace::hd6a158ff8b4ced9f
at /rustc/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
1: 0x7f04271c5192 - std::backtrace_rs::backtrace::trace_unsynchronized::h92e289be85f564b0
at /rustc/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
2: 0x7f04271c5192 - std::sys::backtrace::_print_fmt::h7593c35e5f3bf237
at /rustc/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/library/std/src/sys/backtrace.rs:66:9
3: 0x7f04271c5192 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::haa87a551a4affa55
at /rustc/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/library/std/src/sys/backtrace.rs:39:26
4: 0x7f04271d6e3f - core::fmt::rt::Argument::fmt::h4b16ed950bbe015d
at /rustc/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/library/core/src/fmt/rt.rs:173:76
5: 0x7f04271d6e3f - core::fmt::write::h80461e1e45e4fdd2
at /rustc/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/library/core/src/fmt/mod.rs:1468:25
6: 0x7f042719aad1 - std::io::default_write_fmt::h9e4845ee80fefc13
at /rustc/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/library/std/src/io/mod.rs:639:11
7: 0x7f042719aad1 - std::io::Write::write_fmt::h6e6c69b2d6337d9b
at /rustc/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/library/std/src/io/mod.rs:1954:13
8: 0x7f04271a1572 - std::sys::backtrace::BacktraceLock::print::hf67a46baa621998e
at /rustc/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/library/std/src/sys/backtrace.rs:42:9
9: 0x7f04271a63ff - std::panicking::default_hook::{{closure}}::h391aa815d5e47ec8
at /rustc/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/library/std/src/panicking.rs:301:27
10: 0x7f04271a6259 - std::panicking::default_hook::hd6fdcf2489bb807d
at /rustc/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/library/std/src/panicking.rs:328:9
11: 0x7f04271a6a85 - std::panicking::panic_with_hook::h185ddfb86bf14d73
at /rustc/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/library/std/src/panicking.rs:834:13
12: 0x7f04271a691a - std::panicking::panic_handler::{{closure}}::had89ddd01b6112c9
at /rustc/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/library/std/src/panicking.rs:707:13
13: 0x7f04271a16a9 - std::sys::backtrace::__rust_end_short_backtrace::h5d0fc36eef7265ea
at /rustc/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/library/std/src/sys/backtrace.rs:174:18
14: 0x7f042718e7bd - __rustc[eb8946e36839644a]::rust_begin_unwind
at /rustc/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/library/std/src/panicking.rs:698:5
15: 0x7f04271df960 - core::panicking::panic_fmt::h92c8e5abe71dd8d1
at /rustc/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/library/core/src/panicking.rs:75:14
16: 0x7f04271a4e33 - std::thread::local::panic_access_error::h958a6a48f343130f
at /rustc/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/library/std/src/thread/local.rs:237:5
17: 0x7f0426e003c3 - std::thread::local::LocalKey<T>::with::h875e696529a217ff
at /xxxxx/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/std/src/thread/local.rs:281:25
18: 0x7f0426dec12d - bitcode::pack_ints::with_scratch::h9048c0e873113de3
at /xxxxx/.cargo/registry/src/mirrors.tuna.tsinghua.edu.cn-e791a3f93f26854f/bitcode-0.6.7/src/pack_ints.rs:247:13
19: 0x7f0426de972c - <u32 as bitcode::pack_ints::SizedUInt>::pack8::he2284362864f9141
at /xxxxx/.cargo/registry/src/mirrors.tuna.tsinghua.edu.cn-e791a3f93f26854f/bitcode-0.6.7/src/pack_ints.rs:263:13
20: 0x7f0426df0f09 - bitcode::pack_ints::pack_ints_sized_unsigned::hfd38bd8bba79765c
at /xxxxx/.cargo/registry/src/mirrors.tuna.tsinghua.edu.cn-e791a3f93f26854f/bitcode-0.6.7/src/pack_ints.rs:434:24
21: 0x7f0426deea70 - bitcode::pack_ints::pack_ints_sized::hc0d8772ec00ef6a4
at /xxxxx/.cargo/registry/src/mirrors.tuna.tsinghua.edu.cn-e791a3f93f26854f/bitcode-0.6.7/src/pack_ints.rs:401:5
22: 0x7f0426df5651 - bitcode::pack_ints::pack_ints::{{closure}}::h74e10904d6549be7
at /xxxxx/.cargo/registry/src/mirrors.tuna.tsinghua.edu.cn-e791a3f93f26854f/bitcode-0.6.7/src/pack_ints.rs:359:32
23: 0x7f0426de8449 - <i32 as bitcode::pack_ints::Int>::with_input::hac67ce58101a2672
at /xxxxx/.cargo/registry/src/mirrors.tuna.tsinghua.edu.cn-e791a3f93f26854f/bitcode-0.6.7/src/pack_ints.rs:132:21
24: 0x7f0426df5318 - bitcode::pack_ints::pack_ints::h142d97d71da2a894
at /xxxxx/.cargo/registry/src/mirrors.tuna.tsinghua.edu.cn-e791a3f93f26854f/bitcode-0.6.7/src/pack_ints.rs:359:5
25: 0x7f0426e0486f - <bitcode::int::IntEncoder<T> as bitcode::coder::Buffer>::collect_into::h2c3111c5336df3af
at /xxxxx/.cargo/registry/src/mirrors.tuna.tsinghua.edu.cn-e791a3f93f26854f/bitcode-0.6.7/src/int.rs:33:9
26: 0x7f0426e0f98c - bitcode::serde::ser::LazyEncoder::collect::h28611bd9a08b9a7f
at /xxxxx/.cargo/registry/src/mirrors.tuna.tsinghua.edu.cn-e791a3f93f26854f/bitcode-0.6.7/src/serde/ser.rs:130:20
27: 0x7f0426d735d6 - bitcode::serde::ser::inner::serialize::h741406fe513fe61d
at /xxxxx/.cargo/registry/src/mirrors.tuna.tsinghua.edu.cn-e791a3f93f26854f/bitcode-0.6.7/src/serde/ser.rs:37:17
28: 0x7f0426cb74d9 - <xxx::h352548de8dd9ca2a
at /xxx:410:21
29: 0x7f0426991b10 - xxx::hda160acafed1b469
at /xxxx.rs:5:1
30: 0x7f0426cade75 - xxx::h5fa0cdd72cb26cdd
at /xxxx.rs:1832:13
31: 0x7f0426746dcd - xxxx
at /xxxxx.rs:634:33
32: 0x7f0427b587b7 - <unknown>
33: 0x7f04273f0495 - __run_exit_handlers
at ./stdlib/exit.c:113:8
34: 0x7f04273f0610 - __GI_exit
at ./stdlib/exit.c:143:3
35: 0x7f04273d4d97 - __libc_start_call_main
at ./csu/../sysdeps/nptl/libc_start_call_main.h:74:3
36: 0x7f04273d4e40 - __libc_start_main_impl
at ./csu/../csu/libc-start.c:392:3
By adding this will fix it:
bitcode-0.6.7/src/pack_ints.rs:247:13
#[cfg(feature = "std")]
fn with_scratch<T>(f: impl FnOnce(&mut Vec<u8>) -> T) -> T {
thread_local! {
static SCRATCH: core::cell::RefCell<Vec<u8>> = const { core::cell::RefCell::new(Vec::new()) }
}
// fixed it
if let Err(e) = SCRATCH.try_with(|_| {}) {
return f(&mut Vec::new())
}
SCRATCH.with(|s| {
let s = &mut s.borrow_mut();
s.clear();
f(s)
})
}finnbear
Metadata
Metadata
Assignees
Labels
No labels