Skip to content
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

tarpc make crash when c++ Destructor execute #449

Open
work-chausat opened this issue Apr 29, 2024 · 0 comments
Open

tarpc make crash when c++ Destructor execute #449

work-chausat opened this issue Apr 29, 2024 · 0 comments

Comments

@work-chausat
Copy link

work-chausat commented Apr 29, 2024

when c++ Destructor execute:

OpKernelRegistry::~OpKernelRegistry()
{
    const std::lock_guard<std::mutex> lk(mu_);
    for (auto &kernelsOfOp : kernels_) {
        ACL_LOG_DEBUG("To unregister kernel of op: %s", kernelsOfOp.first.c_str());
        for (auto &it : kernelsOfOp.second) {
            ACL_LOG_DEBUG("To unregister bin by handle: %p, kernelId = %s", it.second->binHandle, it.first.c_str());
            (void)rtDevBinaryUnRegister(it.second->binHandle);
        }
    }
}

thread '<unnamed>' panicked at /rustc/25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04/library/std/src/thread/local.rs:262:26:
cannot access a Thread Local Storage value during or after destruction: AccessError
stack backtrace:
   0: rust_begin_unwind
   1: core::panicking::panic_fmt
   2: core::result::unwrap_failed
   3: thread_local::thread_id::get_slow
   4: <tracing_subscriber::registry::sharded::Registry as tracing_core::subscriber::Subscriber>::current_span
   5: <tracing_subscriber::fmt::Subscriber<N,E,F,W> as tracing_core::subscriber::Subscriber>::current_span
   6: tracing_core::dispatcher::get_default
   7: tracing::span::Span::current
   8: tarpc::context::Context::current
   9: tarpc::context::current
  10: rtDevBinaryUnRegister
  11: _ZN2ge12KernelHolderD1Ev
  12: _ZNSt8_Rb_treeISsSt4pairIKSsSt10unique_ptrIN2ge12KernelHolderESt14default_deleteIS4_EEESt10_Select1stIS8_ESt4lessISsESaIS8_EE8_M_eraseEPSt13_Rb_tree_nodeIS8_E
  13: __run_exit_handlers
             at /usr/src/debug/glibc-2.28/stdlib/exit.c:108:8
  14: __GI_exit
             at /usr/src/debug/glibc-2.28/stdlib/exit.c:139:3
  15: __libc_start_main
             at /usr/src/debug/glibc-2.28/csu/../csu/libc-start.c:348:3
  16: _start

tarpc paniced, other rpc framework has no this problem, how to solve it?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant