Skip to content

Panic when using <Table> inside <Suspense> under load #355

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

Open
jerhat opened this issue Jan 2, 2025 · 1 comment
Open

Panic when using <Table> inside <Suspense> under load #355

jerhat opened this issue Jan 2, 2025 · 1 comment

Comments

@jerhat
Copy link
Contributor

jerhat commented Jan 2, 2025

Describe the bug:
The application panics with the error message from reative_graph: the `sandboxed-arenas` feature is active, but no Arena is active

When accessing the below code I get a panic. I managed to generate a minimal reproduction. Switching to html <table> instead of thaw's <Table> does not yield the panic.

Steps to reproduce the behavior:

  1. Use the start-axum-0.7 template
  2. Switch the app.rs to use the following components:
use components::{Route, Router, Routes};
use leptos::prelude::*;
use leptos_meta::{provide_meta_context, MetaTags};
use leptos_router::StaticSegment;
use leptos_router::*;
use thaw::*;

pub fn shell(options: LeptosOptions) -> impl IntoView {
    view! {
        <!DOCTYPE html>
        <html lang="en">
            <head>
                <meta charset="utf-8"/>
                <meta name="viewport" content="width=device-width, initial-scale=1"/>
                <AutoReload options=options.clone() />
                <HydrationScripts options/>
                <MetaTags/>
            </head>
            <body>
                <App/>
            </body>
        </html>
    }
}

#[server]
pub async fn get_products() -> Result<Vec<String>, ServerFnError> {
    tokio::time::sleep(tokio::time::Duration::from_millis(100)).await;
    Ok(vec!["one".to_string(), "two".to_string()])
}

#[component]
pub fn App() -> impl IntoView {
    provide_meta_context();

    view! {
        <ConfigProvider>
            <Router>
                <main>
                    <Routes fallback=|| "Page not found.".into_view()>
                        <Route path=StaticSegment("/") view=RootPage />
                        <Route path=StaticSegment("/html") view=HtmlPage />
                    </Routes>
                </main>
            </Router>
        </ConfigProvider>
    }
}

#[component]
fn RootPage() -> impl IntoView {
    let products = Resource::new(|| (), move |_| async { get_products().await });

    view! {
        <Suspense fallback=move || {
            view! { "Loading..." }
        }>
            {
                move || match products.get().unwrap_or_else(|| Ok(Vec::new()))
                {
                    Err(e) => {
                        view! {
                            "Error loading product list".to_string()
                        }.into_any()
                    }
                    Ok(products) => {
                        view! {
                            <Table>
                                <TableHeader>
                                    <TableRow>
                                        <TableHeaderCell>
                                            <b>"Product"</b>
                                        </TableHeaderCell>
                                    </TableRow>
                                </TableHeader>
                                <TableBody>
                                    <For
                                        each=move || { products.clone() }
                                        key=|product| product.clone()
                                        let:product
                                    >
                                        <TableRow>
                                            <TableCell>
                                                <TableCellLayout>
                                                    {product}
                                                </TableCellLayout>
                                            </TableCell>
                                        </TableRow>
                                    </For>
                                </TableBody>
                            </Table>
                        }.into_any()
                    }
                }
            }
        </Suspense>
    }
}

#[component]
fn HtmlPage() -> impl IntoView {
    let products = Resource::new(|| (), move |_| async { get_products().await });

    view! {
        <Suspense fallback=move || {
            view! { "Loading..." }
        }>
            {
                move || match products.get().unwrap_or_else(|| Ok(Vec::new()))
                {
                    Err(e) => {
                        view! {
                            "Error loading product list".to_string()
                        }.into_any()
                    }
                    Ok(products) => {
                        view! {
                            <table>
                                <tr>
                                    <th>
                                        <b>"Product"</b>
                                    </th>
                                </tr>
                                    <For
                                        each=move || { products.clone() }
                                        key=|product| product.clone()
                                        let:product>
                                    <tr>
                                        <td>
                                            {product}
                                        </td>
                                    </tr>
                                </For>
                            </table>
                        }.into_any()
                    }
                }
            }
        </Suspense>
    }
}
  1. generate some load, for example using hey:
$ hey -n 5000 http://127.0.0.1:3000
[...]
Status code distribution:
  [200] 4995 responses

Error distribution:
  [5]  Get "http://127.0.0.1:3000": EOF

Here for example 5 requests out of 5000 failed.

  1. Observe the server logs:
    the `sandboxed-arenas` feature is active, but no Arena is active

Expected behavior
All 5000 requests get a 200 status code and no error in the server logs

Additional notes

  • No panic when using html <table>. i.e. the below command works as expected:
$ hey -n 5000 http://127.0.0.1:3000/html
[...]
Status code distribution:
  [200] 5000 responses
  • the backtrace points to the on_cleanup function of TableHeaderCell component.
Click to expand stacktrace
thread 'tokio-runtime-worker' panicked at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/reactive_graph-0.1.0/src/owner/arena.rs:57:25:
at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/reactive_graph-0.1.0/src/owner/arena.rs:60:29, the `sandboxed-arenas` feature is active, but no Arena is active
stack backtrace:
   0: rust_begin_unwind
             at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:665:5
   1: core::panicking::panic_fmt
             at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/panicking.rs:74:14
   2: reactive_graph::owner::arena::Arena::with::{{closure}}::{{closure}}
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/reactive_graph-0.1.0/src/owner/arena.rs:57:25
   3: core::option::Option<T>::unwrap_or_else
             at /home/someuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/option.rs:1017:21
   4: reactive_graph::owner::arena::Arena::with::{{closure}}
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/reactive_graph-0.1.0/src/owner/arena.rs:53:22
   5: std::thread::local::LocalKey<core::cell::RefCell<T>>::with_borrow::{{closure}}
             at /home/someuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/local.rs:471:26
   6: std::thread::local::LocalKey<T>::try_with
             at /home/someuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/local.rs:283:12
   7: std::thread::local::LocalKey<T>::with
             at /home/someuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/local.rs:260:9
   8: std::thread::local::LocalKey<core::cell::RefCell<T>>::with_borrow
             at /home/someuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/local.rs:471:14
   9: reactive_graph::owner::arena::Arena::with
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/reactive_graph-0.1.0/src/owner/arena.rs:52:13
  10: <reactive_graph::owner::storage::SyncStorage as reactive_graph::owner::storage::Storage<T>>::try_with
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/reactive_graph-0.1.0/src/owner/storage.rs:75:9
  11: reactive_graph::owner::arena_item::ArenaItem<T,S>::try_get_value
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/reactive_graph-0.1.0/src/owner/arena_item.rs:122:9
  12: <reactive_graph::owner::stored_value::StoredValue<T,S> as reactive_graph::traits::WriteValue>::try_write_value
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/reactive_graph-0.1.0/src/owner/stored_value.rs:147:9
  13: <T as reactive_graph::traits::UpdateValue>::try_update_value
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/reactive_graph-0.1.0/src/traits.rs:803:25
  14: reactive_graph::traits::UpdateValue::update_value
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/reactive_graph-0.1.0/src/traits.rs:788:9
  15: thaw::table::__TableHeaderCell::{{closure}}
             at /home/someuser/.cargo/git/checkouts/thaw-057be4168b51a04a/6313381/thaw/src/table/mod.rs:91:9
  16: core::ops::function::FnOnce::call_once{{vtable.shim}}
             at /home/someuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:250:5
  17: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
             at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/alloc/src/boxed.rs:2454:9
  18: <std::sync::rwlock::RwLock<reactive_graph::owner::OwnerInner> as reactive_graph::owner::Cleanup>::cleanup
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/reactive_graph-0.1.0/src/owner.rs:422:13
  19: <std::sync::rwlock::RwLock<reactive_graph::owner::OwnerInner> as reactive_graph::owner::Cleanup>::cleanup
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/reactive_graph-0.1.0/src/owner.rs:418:17
  20: <std::sync::rwlock::RwLock<reactive_graph::owner::OwnerInner> as reactive_graph::owner::Cleanup>::cleanup
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/reactive_graph-0.1.0/src/owner.rs:418:17
  21: <reactive_graph::owner::OwnerInner as core::ops::drop::Drop>::drop
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/reactive_graph-0.1.0/src/owner.rs:375:17
  22: core::ptr::drop_in_place<reactive_graph::owner::OwnerInner>
             at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/ptr/mod.rs:574:1
  23: core::ptr::drop_in_place<core::cell::UnsafeCell<reactive_graph::owner::OwnerInner>>
             at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/ptr/mod.rs:574:1
  24: core::ptr::drop_in_place<std::sync::rwlock::RwLock<reactive_graph::owner::OwnerInner>>
             at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/ptr/mod.rs:574:1
  25: alloc::sync::Arc<T,A>::drop_slow
             at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/alloc/src/sync.rs:1877:18
  26: <alloc::sync::Arc<T,A> as core::ops::drop::Drop>::drop
             at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/alloc/src/sync.rs:2570:13
  27: core::ptr::drop_in_place<alloc::sync::Arc<std::sync::rwlock::RwLock<reactive_graph::owner::OwnerInner>>>
             at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/ptr/mod.rs:574:1
  28: core::ptr::drop_in_place<reactive_graph::owner::Owner>
             at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/ptr/mod.rs:574:1
  29: core::ptr::drop_in_place<core::option::Option<reactive_graph::owner::Owner>>
             at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/ptr/mod.rs:574:1
  30: reactive_graph::owner::Owner::set::{{closure}}
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/reactive_graph-0.1.0/src/owner.rs:202:39
  31: std::thread::local::LocalKey<core::cell::RefCell<T>>::with_borrow_mut::{{closure}}
             at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/thread/local.rs:504:26
  32: std::thread::local::LocalKey<T>::try_with
             at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/thread/local.rs:283:12
  33: std::thread::local::LocalKey<T>::with
             at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/thread/local.rs:260:9
  34: std::thread::local::LocalKey<core::cell::RefCell<T>>::with_borrow_mut
             at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/thread/local.rs:504:14
  35: reactive_graph::owner::Owner::set
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/reactive_graph-0.1.0/src/owner.rs:202:9
  36: reactive_graph::owner::Owner::new_root
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/reactive_graph-0.1.0/src/owner.rs:170:9
  37: leptos_integration_utils::build_response
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/leptos_integration_utils-0.7.2/src/lib.rs:104:17
  38: leptos_integration_utils::ExtendResponse::from_app::{{closure}}
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/leptos_integration_utils-0.7.2/src/lib.rs:41:17
  39: leptos_axum::handle_response_inner::{{closure}}
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/leptos_axum-0.7.2/src/lib.rs:912:10
  40: <core::pin::Pin<P> as core::future::future::Future>::poll
             at /home/someuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/future/future.rs:123:9
  41: <F as axum::handler::Handler<(M,T1),S>>::call::{{closure}}
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/axum-0.7.9/src/handler/mod.rs:241:53
  42: <core::pin::Pin<P> as core::future::future::Future>::poll
             at /home/someuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/future/future.rs:123:9
  43: <futures_util::future::future::map::Map<Fut,F> as core::future::future::Future>::poll
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/futures-util-0.3.31/src/future/future/map.rs:55:37
  44: <futures_util::future::future::Map<Fut,F> as core::future::future::Future>::poll
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/futures-util-0.3.31/src/lib.rs:86:13
  45: <axum::handler::future::IntoServiceFuture<F> as core::future::future::Future>::poll
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/axum-0.7.9/src/macros.rs:42:17
  46: <F as futures_core::future::TryFuture>::try_poll
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/futures-core-0.3.31/src/future.rs:92:9
  47: <futures_util::future::try_future::into_future::IntoFuture<Fut> as core::future::future::Future>::poll
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/futures-util-0.3.31/src/future/try_future/into_future.rs:34:9
  48: <futures_util::future::future::map::Map<Fut,F> as core::future::future::Future>::poll
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/futures-util-0.3.31/src/future/future/map.rs:55:37
  49: <futures_util::future::future::Map<Fut,F> as core::future::future::Future>::poll
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/futures-util-0.3.31/src/lib.rs:86:13
  50: <futures_util::future::try_future::MapOk<Fut,F> as core::future::future::Future>::poll
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/futures-util-0.3.31/src/lib.rs:86:13
  51: <tower::util::map_response::MapResponseFuture<F,N> as core::future::future::Future>::poll
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tower-0.5.2/src/macros.rs:38:17
  52: <core::pin::Pin<P> as core::future::future::Future>::poll
             at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/future/future.rs:123:9
  53: <tower::util::oneshot::Oneshot<S,Req> as core::future::future::Future>::poll
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tower-0.5.2/src/util/oneshot.rs:97:38
  54: <axum::routing::route::RouteFuture<E> as core::future::future::Future>::poll
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/axum-0.7.9/src/routing/route.rs:182:61
  55: <hyper_util::service::oneshot::Oneshot<S,Req> as core::future::future::Future>::poll
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/hyper-util-0.1.10/src/service/oneshot.rs:55:38
  56: <hyper_util::service::glue::TowerToHyperServiceFuture<S,R> as core::future::future::Future>::poll
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/hyper-util-0.1.10/src/service/glue.rs:59:9
  57: <hyper::proto::h1::dispatch::Server<S,hyper::body::incoming::Incoming> as hyper::proto::h1::dispatch::Dispatch>::poll_msg
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/hyper-1.5.1/src/proto/h1/dispatch.rs:538:35
  58: hyper::proto::h1::dispatch::Dispatcher<D,Bs,I,T>::poll_write
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/hyper-1.5.1/src/proto/h1/dispatch.rs:336:43
  59: hyper::proto::h1::dispatch::Dispatcher<D,Bs,I,T>::poll_loop
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/hyper-1.5.1/src/proto/h1/dispatch.rs:173:21
  60: hyper::proto::h1::dispatch::Dispatcher<D,Bs,I,T>::poll_inner
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/hyper-1.5.1/src/proto/h1/dispatch.rs:149:16
  61: hyper::proto::h1::dispatch::Dispatcher<D,Bs,I,T>::poll_catch
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/hyper-1.5.1/src/proto/h1/dispatch.rs:128:28
  62: <hyper::proto::h1::dispatch::Dispatcher<D,Bs,I,T> as core::future::future::Future>::poll
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/hyper-1.5.1/src/proto/h1/dispatch.rs:471:9
  63: <hyper::server::conn::http1::UpgradeableConnection<I,S> as core::future::future::Future>::poll
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/hyper-1.5.1/src/server/conn/http1.rs:514:26
  64: <hyper_util::server::conn::auto::UpgradeableConnection<I,S,E> as core::future::future::Future>::poll
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/hyper-util-0.1.10/src/server/conn/auto/mod.rs:599:28
  65: <axum::serve::Serve<M,S> as core::future::into_future::IntoFuture>::into_future::{{closure}}::{{closure}}
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/axum-0.7.9/src/serve.rs:257:26
  66: tokio::runtime::task::core::Core<T,S>::poll::{{closure}}
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.42.0/src/runtime/task/core.rs:331:17
  67: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.42.0/src/loom/std/unsafe_cell.rs:16:9
  68: tokio::runtime::task::core::Core<T,S>::poll
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.42.0/src/runtime/task/core.rs:320:13
  69: tokio::runtime::task::harness::poll_future::{{closure}}
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.42.0/src/runtime/task/harness.rs:499:19
  70: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
             at /home/someuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/panic/unwind_safe.rs:272:9
  71: std::panicking::try::do_call
             at /home/someuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:557:40
  72: __rust_try
  73: std::panicking::try
             at /home/someuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:520:19
  74: std::panic::catch_unwind
             at /home/someuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:358:14
  75: tokio::runtime::task::harness::poll_future
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.42.0/src/runtime/task/harness.rs:487:18
  76: tokio::runtime::task::harness::Harness<T,S>::poll_inner
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.42.0/src/runtime/task/harness.rs:209:27
  77: tokio::runtime::task::harness::Harness<T,S>::poll
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.42.0/src/runtime/task/harness.rs:154:15
  78: tokio::runtime::task::raw::poll
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.42.0/src/runtime/task/raw.rs:271:5
  79: tokio::runtime::task::raw::RawTask::poll
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.42.0/src/runtime/task/raw.rs:201:18
  80: tokio::runtime::task::LocalNotified<S>::run
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.42.0/src/runtime/task/mod.rs:435:9
  81: tokio::runtime::scheduler::multi_thread::worker::Context::run_task::{{closure}}
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.42.0/src/runtime/scheduler/multi_thread/worker.rs:596:13
  82: tokio::runtime::coop::with_budget
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.42.0/src/runtime/coop.rs:107:5
  83: tokio::runtime::coop::budget
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.42.0/src/runtime/coop.rs:73:5
  84: tokio::runtime::scheduler::multi_thread::worker::Context::run_task
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.42.0/src/runtime/scheduler/multi_thread/worker.rs:595:9
  85: tokio::runtime::scheduler::multi_thread::worker::Context::run
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.42.0/src/runtime/scheduler/multi_thread/worker.rs:558:24
  86: tokio::runtime::scheduler::multi_thread::worker::run::{{closure}}::{{closure}}
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.42.0/src/runtime/scheduler/multi_thread/worker.rs:511:21
  87: tokio::runtime::context::scoped::Scoped<T>::set
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.42.0/src/runtime/context/scoped.rs:40:9
  88: tokio::runtime::context::set_scheduler::{{closure}}
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.42.0/src/runtime/context.rs:180:26
  89: std::thread::local::LocalKey<T>::try_with
             at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/thread/local.rs:283:12
  90: std::thread::local::LocalKey<T>::with
             at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/thread/local.rs:260:9
  91: tokio::runtime::context::set_scheduler
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.42.0/src/runtime/context.rs:180:9
  92: tokio::runtime::scheduler::multi_thread::worker::run::{{closure}}
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.42.0/src/runtime/scheduler/multi_thread/worker.rs:506:9
  93: tokio::runtime::context::runtime::enter_runtime
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.42.0/src/runtime/context/runtime.rs:65:16
  94: tokio::runtime::scheduler::multi_thread::worker::run
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.42.0/src/runtime/scheduler/multi_thread/worker.rs:498:5
  95: tokio::runtime::scheduler::multi_thread::worker::Launch::launch::{{closure}}
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.42.0/src/runtime/scheduler/multi_thread/worker.rs:464:45
  96: <tokio::runtime::blocking::task::BlockingTask<T> as core::future::future::Future>::poll
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.42.0/src/runtime/blocking/task.rs:42:21
  97: tokio::runtime::task::core::Core<T,S>::poll::{{closure}}
             at /home/someuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.42.0/src/runtime/task/core.rs:331:17
@jerhat
Copy link
Contributor Author

jerhat commented Jan 2, 2025

Removing the TableHeaderCell from this repro does work around the problem.

However my real world application still panics with Suspense under load. It seems there are other thaw components that yield the same panic under load, for example Tooltip. See stacktrace below, it points to its on_cleanup function .

Click to expand stacktrace
thread 'tokio-runtime-worker' panicked at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/reactive_graph-0.1.1/src/owner/arena.rs:57:25:
at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/reactive_graph-0.1.1/src/owner/arena.rs:60:29, the `sandboxed-arenas` feature is active, but no Arena is active
stack backtrace:
   0: rust_begin_unwind
             at /rustc/4d669fb34e7db6f3825d01e4c59b7996f0531431/library/std/src/panicking.rs:681:5
   1: core::panicking::panic_fmt
             at /rustc/4d669fb34e7db6f3825d01e4c59b7996f0531431/library/core/src/panicking.rs:75:14
   2: reactive_graph::owner::arena::Arena::with::{{closure}}::{{closure}}
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/reactive_graph-0.1.1/src/owner/arena.rs:57:25
   3: core::option::Option<T>::unwrap_or_else
             at /usr/local/rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/option.rs:1017:21
   4: reactive_graph::owner::arena::Arena::with::{{closure}}
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/reactive_graph-0.1.1/src/owner/arena.rs:53:22
   5: std::thread::local::LocalKey<core::cell::RefCell<T>>::with_borrow::{{closure}}
             at /usr/local/rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/local.rs:496:26
   6: std::thread::local::LocalKey<T>::try_with
             at /usr/local/rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/local.rs:308:12
   7: std::thread::local::LocalKey<T>::with
             at /usr/local/rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/local.rs:272:9
   8: std::thread::local::LocalKey<core::cell::RefCell<T>>::with_borrow
             at /usr/local/rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/local.rs:496:14
   9: reactive_graph::owner::arena::Arena::with
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/reactive_graph-0.1.1/src/owner/arena.rs:52:13
  10: <reactive_graph::owner::storage::SyncStorage as reactive_graph::owner::storage::Storage<T>>::try_with
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/reactive_graph-0.1.1/src/owner/storage.rs:79:9
  11: reactive_graph::owner::arena_item::ArenaItem<T,S>::try_get_value
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/reactive_graph-0.1.1/src/owner/arena_item.rs:122:9
  12: <reactive_graph::owner::stored_value::StoredValue<T,S> as reactive_graph::traits::WriteValue>::try_write_value
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/reactive_graph-0.1.1/src/owner/stored_value.rs:149:9
  13: <T as reactive_graph::traits::UpdateValue>::try_update_value
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/reactive_graph-0.1.1/src/traits.rs:815:25
  14: reactive_graph::traits::UpdateValue::update_value
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/reactive_graph-0.1.1/src/traits.rs:800:9
  15: thaw::tooltip::tooltip::__Tooltip::{{closure}}
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/thaw-0.4.0/src/tooltip/tooltip.rs:58:9
  16: core::ops::function::FnOnce::call_once{{vtable.shim}}
             at /usr/local/rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:250:5
  17: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
             at /usr/local/rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1970:9
  18: <std::sync::rwlock::RwLock<reactive_graph::owner::OwnerInner> as reactive_graph::owner::Cleanup>::cleanup
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/reactive_graph-0.1.1/src/owner.rs:422:13
  19: <std::sync::rwlock::RwLock<reactive_graph::owner::OwnerInner> as reactive_graph::owner::Cleanup>::cleanup
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/reactive_graph-0.1.1/src/owner.rs:418:17
  20: <reactive_graph::owner::OwnerInner as core::ops::drop::Drop>::drop
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/reactive_graph-0.1.1/src/owner.rs:375:17
  21: core::ptr::drop_in_place<reactive_graph::owner::OwnerInner>
             at /usr/local/rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:521:1
  22: core::ptr::drop_in_place<core::cell::UnsafeCell<reactive_graph::owner::OwnerInner>>
             at /usr/local/rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:521:1
  23: core::ptr::drop_in_place<std::sync::rwlock::RwLock<reactive_graph::owner::OwnerInner>>
             at /usr/local/rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:521:1
  24: alloc::sync::Arc<T,A>::drop_slow
             at /usr/local/rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/sync.rs:1888:18
  25: <alloc::sync::Arc<T,A> as core::ops::drop::Drop>::drop
             at /usr/local/rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/sync.rs:2575:13
  26: core::ptr::drop_in_place<alloc::sync::Arc<std::sync::rwlock::RwLock<reactive_graph::owner::OwnerInner>>>
             at /usr/local/rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:521:1
  27: core::ptr::drop_in_place<reactive_graph::owner::Owner>
             at /usr/local/rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:521:1
  28: core::ptr::drop_in_place<core::option::Option<reactive_graph::owner::Owner>>
             at /usr/local/rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:521:1
  29: reactive_graph::owner::Owner::set::{{closure}}
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/reactive_graph-0.1.1/src/owner.rs:202:39
  30: std::thread::local::LocalKey<core::cell::RefCell<T>>::with_borrow_mut::{{closure}}
             at /usr/local/rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/local.rs:529:26
  31: std::thread::local::LocalKey<T>::try_with
             at /usr/local/rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/local.rs:308:12
  32: std::thread::local::LocalKey<T>::with
             at /usr/local/rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/local.rs:272:9
  33: std::thread::local::LocalKey<core::cell::RefCell<T>>::with_borrow_mut
             at /usr/local/rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/local.rs:529:14
  34: reactive_graph::owner::Owner::set
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/reactive_graph-0.1.1/src/owner.rs:202:9
  35: reactive_graph::owner::Owner::new_root
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/reactive_graph-0.1.1/src/owner.rs:170:9
  36: leptos_integration_utils::build_response
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/leptos_integration_utils-0.7.2/src/lib.rs:104:17
  37: leptos_integration_utils::ExtendResponse::from_app::{{closure}}
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/leptos_integration_utils-0.7.2/src/lib.rs:41:17
  38: leptos_axum::handle_response_inner::{{closure}}
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/leptos_axum-0.7.2/src/lib.rs:912:10
  39: <core::pin::Pin<P> as core::future::future::Future>::poll
             at /usr/local/rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/future/future.rs:124:9
  40: <F as axum::handler::Handler<(M,T1),S>>::call::{{closure}}
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/axum-0.7.9/src/handler/mod.rs:241:53
  41: <core::pin::Pin<P> as core::future::future::Future>::poll
             at /usr/local/rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/future/future.rs:124:9
  42: <futures_util::future::future::map::Map<Fut,F> as core::future::future::Future>::poll
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/futures-util-0.3.31/src/future/future/map.rs:55:37
  43: <futures_util::future::future::Map<Fut,F> as core::future::future::Future>::poll
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/futures-util-0.3.31/src/lib.rs:86:13
  44: <axum::handler::future::IntoServiceFuture<F> as core::future::future::Future>::poll
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/axum-0.7.9/src/macros.rs:42:17
  45: <F as futures_core::future::TryFuture>::try_poll
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/futures-core-0.3.31/src/future.rs:92:9
  46: <futures_util::future::try_future::into_future::IntoFuture<Fut> as core::future::future::Future>::poll
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/futures-util-0.3.31/src/future/try_future/into_future.rs:34:9
  47: <futures_util::future::future::map::Map<Fut,F> as core::future::future::Future>::poll
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/futures-util-0.3.31/src/future/future/map.rs:55:37
  48: <futures_util::future::future::Map<Fut,F> as core::future::future::Future>::poll
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/futures-util-0.3.31/src/lib.rs:86:13
  49: <futures_util::future::try_future::MapOk<Fut,F> as core::future::future::Future>::poll
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/futures-util-0.3.31/src/lib.rs:86:13
  50: <tower::util::map_response::MapResponseFuture<F,N> as core::future::future::Future>::poll
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tower-0.5.1/src/macros.rs:38:17
  51: <core::pin::Pin<P> as core::future::future::Future>::poll
             at /usr/local/rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/future/future.rs:124:9
  52: <tower::util::oneshot::Oneshot<S,Req> as core::future::future::Future>::poll
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tower-0.5.1/src/util/oneshot.rs:97:38
  53: <axum::routing::route::RouteFuture<E> as core::future::future::Future>::poll
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/axum-0.7.9/src/routing/route.rs:182:61
  54: <hyper_util::service::oneshot::Oneshot<S,Req> as core::future::future::Future>::poll
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/hyper-util-0.1.10/src/service/oneshot.rs:55:38
  55: <hyper_util::service::glue::TowerToHyperServiceFuture<S,R> as core::future::future::Future>::poll
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/hyper-util-0.1.10/src/service/glue.rs:59:9
  56: <hyper::proto::h1::dispatch::Server<S,hyper::body::incoming::Incoming> as hyper::proto::h1::dispatch::Dispatch>::poll_msg
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/hyper-1.5.1/src/proto/h1/dispatch.rs:538:35
  57: hyper::proto::h1::dispatch::Dispatcher<D,Bs,I,T>::poll_write
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/hyper-1.5.1/src/proto/h1/dispatch.rs:336:43
  58: hyper::proto::h1::dispatch::Dispatcher<D,Bs,I,T>::poll_loop
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/hyper-1.5.1/src/proto/h1/dispatch.rs:173:21
  59: hyper::proto::h1::dispatch::Dispatcher<D,Bs,I,T>::poll_inner
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/hyper-1.5.1/src/proto/h1/dispatch.rs:149:16
  60: hyper::proto::h1::dispatch::Dispatcher<D,Bs,I,T>::poll_catch
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/hyper-1.5.1/src/proto/h1/dispatch.rs:128:28
  61: <hyper::proto::h1::dispatch::Dispatcher<D,Bs,I,T> as core::future::future::Future>::poll
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/hyper-1.5.1/src/proto/h1/dispatch.rs:471:9
  62: <hyper::server::conn::http1::UpgradeableConnection<I,S> as core::future::future::Future>::poll
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/hyper-1.5.1/src/server/conn/http1.rs:514:26
  63: <hyper_util::server::conn::auto::UpgradeableConnection<I,S,E> as core::future::future::Future>::poll
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/hyper-util-0.1.10/src/server/conn/auto/mod.rs:599:28
  64: <axum::serve::Serve<M,S> as core::future::into_future::IntoFuture>::into_future::{{closure}}::{{closure}}
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/axum-0.7.9/src/serve.rs:257:26
  65: tokio::runtime::task::core::Core<T,S>::poll::{{closure}}
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.42.0/src/runtime/task/core.rs:331:17
  66: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.42.0/src/loom/std/unsafe_cell.rs:16:9
  67: tokio::runtime::task::core::Core<T,S>::poll
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.42.0/src/runtime/task/core.rs:320:13
  68: tokio::runtime::task::harness::poll_future::{{closure}}
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.42.0/src/runtime/task/harness.rs:499:19
  69: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
             at /usr/local/rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/panic/unwind_safe.rs:272:9
  70: std::panicking::try::do_call
             at /usr/local/rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:573:40
  71: __rust_try
  72: std::panicking::try
             at /usr/local/rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:536:19
  73: std::panic::catch_unwind
             at /usr/local/rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:358:14
  74: tokio::runtime::task::harness::poll_future
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.42.0/src/runtime/task/harness.rs:487:18
  75: tokio::runtime::task::harness::Harness<T,S>::poll_inner
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.42.0/src/runtime/task/harness.rs:209:27
  76: tokio::runtime::task::harness::Harness<T,S>::poll
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.42.0/src/runtime/task/harness.rs:154:15
  77: tokio::runtime::task::raw::poll
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.42.0/src/runtime/task/raw.rs:271:5
  78: tokio::runtime::task::raw::RawTask::poll
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.42.0/src/runtime/task/raw.rs:201:18
  79: tokio::runtime::task::LocalNotified<S>::run
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.42.0/src/runtime/task/mod.rs:435:9
  80: tokio::runtime::scheduler::multi_thread::worker::Context::run_task::{{closure}}
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.42.0/src/runtime/scheduler/multi_thread/worker.rs:596:13
  81: tokio::runtime::coop::with_budget
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.42.0/src/runtime/coop.rs:107:5
  82: tokio::runtime::coop::budget
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.42.0/src/runtime/coop.rs:73:5
  83: tokio::runtime::scheduler::multi_thread::worker::Context::run_task
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.42.0/src/runtime/scheduler/multi_thread/worker.rs:595:9
  84: tokio::runtime::scheduler::multi_thread::worker::Context::run
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.42.0/src/runtime/scheduler/multi_thread/worker.rs:558:24
  85: tokio::runtime::scheduler::multi_thread::worker::run::{{closure}}::{{closure}}
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.42.0/src/runtime/scheduler/multi_thread/worker.rs:511:21
  86: tokio::runtime::context::scoped::Scoped<T>::set
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.42.0/src/runtime/context/scoped.rs:40:9
  87: tokio::runtime::context::set_scheduler::{{closure}}
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.42.0/src/runtime/context.rs:180:26
  88: std::thread::local::LocalKey<T>::try_with
             at /usr/local/rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/local.rs:308:12
  89: std::thread::local::LocalKey<T>::with
             at /usr/local/rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/local.rs:272:9
  90: tokio::runtime::context::set_scheduler
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.42.0/src/runtime/context.rs:180:9
  91: tokio::runtime::scheduler::multi_thread::worker::run::{{closure}}
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.42.0/src/runtime/scheduler/multi_thread/worker.rs:506:9
  92: tokio::runtime::context::runtime::enter_runtime
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.42.0/src/runtime/context/runtime.rs:65:16
  93: tokio::runtime::scheduler::multi_thread::worker::run
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.42.0/src/runtime/scheduler/multi_thread/worker.rs:498:5
  94: tokio::runtime::scheduler::multi_thread::worker::Launch::launch::{{closure}}
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.42.0/src/runtime/scheduler/multi_thread/worker.rs:464:45
  95: <tokio::runtime::blocking::task::BlockingTask<T> as core::future::future::Future>::poll
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.42.0/src/runtime/blocking/task.rs:42:21
  96: tokio::runtime::task::core::Core<T,S>::poll::{{closure}}
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.42.0/src/runtime/task/core.rs:331:17
  97: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.42.0/src/loom/std/unsafe_cell.rs:16:9
  98: tokio::runtime::task::core::Core<T,S>::poll
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.42.0/src/runtime/task/core.rs:320:13
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

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