Skip to content

Cargo panics when updating GitHub repository: cannot execute LocalPool executor #155048

@weiznich

Description

@weiznich

Code

I tried this code:

git clone https://github.com/diesel-rs/diesel
cd diesel
git checkout e3288eb5 # main at the time of writing
cargo +nightly test --manifest-path=diesel_bench/Cargo.toml --no-default-features -F sqlite --bench benchmarks

I expected to see this happen: Compilation starts like on stable

Instead, this happened: Compilation fails with the following error:

$ cargo +nightly test --manifest-path=diesel_bench/Cargo.toml --no-default-features -F sqlite --bench benchmarks                               
    Updating git repository `https://github.com/weiznich/diesel_async`                                                                         
                                                                                                                                               
thread 'main' (1509469) panicked at /rust/deps/futures-executor-0.3.32/src/local_pool.rs:81:26:                                                
cannot execute `LocalPool` executor from within another executor: EnterError                                                                   
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Version it worked on

It most recently worked on: Rust 1.94.1

Version with regression

rustc --version --verbose:

rustc 1.96.0-nightly (900485642 2026-04-08)
binary: rustc
commit-hash: 900485642855f4729d926ecf24680a791f9293cf
commit-date: 2026-04-08
host: x86_64-unknown-linux-gnu
release: 1.96.0-nightly
LLVM version: 22.1.2

Backtrace

Backtrace

stack backtrace:
   0:     0x563b2782a98b - std[6f86386be55ace2f]::backtrace_rs::backtrace::libunwind::trace
                               at /rustc/900485642855f4729d926ecf24680a791f9293cf/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
   1:     0x563b2782a98b - std[6f86386be55ace2f]::backtrace_rs::backtrace::trace_unsynchronized::<std[6f86386be55ace2f]::sys::backtrace::_print_fmt::{closure#1}>
                               at /rustc/900485642855f4729d926ecf24680a791f9293cf/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
   2:     0x563b2782a98b - std[6f86386be55ace2f]::sys::backtrace::_print_fmt
                               at /rustc/900485642855f4729d926ecf24680a791f9293cf/library/std/src/sys/backtrace.rs:74:9
   3:     0x563b2782a98b - <<std[6f86386be55ace2f]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[129738cd14919ae4]::fmt::Display>::fmt
                               at /rustc/900485642855f4729d926ecf24680a791f9293cf/library/std/src/sys/backtrace.rs:44:26
   4:     0x563b2731c41a - <core[129738cd14919ae4]::fmt::rt::Argument>::fmt
                               at /rustc/900485642855f4729d926ecf24680a791f9293cf/library/core/src/fmt/rt.rs:152:76
   5:     0x563b2731c41a - core[129738cd14919ae4]::fmt::write
   6:     0x563b27837b56 - std[6f86386be55ace2f]::io::default_write_fmt::<std[6f86386be55ace2f]::sys::stdio::unix::Stderr>
                               at /rustc/900485642855f4729d926ecf24680a791f9293cf/library/std/src/io/mod.rs:621:11
   7:     0x563b27837b56 - <std[6f86386be55ace2f]::sys::stdio::unix::Stderr as std[6f86386be55ace2f]::io::Write>::write_fmt
                               at /rustc/900485642855f4729d926ecf24680a791f9293cf/library/std/src/io/mod.rs:1976:13
   8:     0x563b278011d0 - <std[6f86386be55ace2f]::sys::backtrace::BacktraceLock>::print
                               at /rustc/900485642855f4729d926ecf24680a791f9293cf/library/std/src/sys/backtrace.rs:47:9
   9:     0x563b278011d0 - std[6f86386be55ace2f]::panicking::default_hook::{closure#0}
                               at /rustc/900485642855f4729d926ecf24680a791f9293cf/library/std/src/panicking.rs:292:27
  10:     0x563b2781ec76 - std[6f86386be55ace2f]::panicking::default_hook
                               at /rustc/900485642855f4729d926ecf24680a791f9293cf/library/std/src/panicking.rs:319:9
  11:     0x563b2781ef0b - std[6f86386be55ace2f]::panicking::panic_with_hook
                               at /rustc/900485642855f4729d926ecf24680a791f9293cf/library/std/src/panicking.rs:825:13
  12:     0x563b27801288 - std[6f86386be55ace2f]::panicking::panic_handler::{closure#0}
                               at /rustc/900485642855f4729d926ecf24680a791f9293cf/library/std/src/panicking.rs:698:13
  13:     0x563b277f5899 - std[6f86386be55ace2f]::sys::backtrace::__rust_end_short_backtrace::<std[6f86386be55ace2f]::panicking::panic_handler::{closure#0}, !>
                               at /rustc/900485642855f4729d926ecf24680a791f9293cf/library/std/src/sys/backtrace.rs:182:18
  14:     0x563b27802b3d - __rustc[9893dd7cded7045d]::rust_begin_unwind
                               at /rustc/900485642855f4729d926ecf24680a791f9293cf/library/std/src/panicking.rs:689:5
  15:     0x563b2731cb7c - core[129738cd14919ae4]::panicking::panic_fmt
                               at /rustc/900485642855f4729d926ecf24680a791f9293cf/library/core/src/panicking.rs:80:14
  16:     0x563b2731c952 - core[129738cd14919ae4]::result::unwrap_failed
                               at /rustc/900485642855f4729d926ecf24680a791f9293cf/library/core/src/result.rs:1867:5
  17:     0x563b27038828 - cargo[a4b0cccfd576b561]::sources::git::utils::fetch
  18:     0x563b26e24a65 - <cargo[a4b0cccfd576b561]::sources::git::utils::GitRemote>::checkout
  19:     0x563b26d241e0 - <cargo[a4b0cccfd576b561]::sources::git::source::GitSource>::fetch_db
  20:     0x563b26d22f4f - <cargo[a4b0cccfd576b561]::sources::git::source::GitSource>::update
  21:     0x563b26c78254 - <cargo[a4b0cccfd576b561]::sources::git::source::GitSource as cargo[a4b0cccfd576b561]::sources::source::Source>::query::{closure#0}
  22:     0x563b27061a5a - <core[129738cd14919ae4]::iter::adapters::GenericShunt<core[129738cd14919ae4]::iter::adapters::map::Map<futures_executor[3b047ee13ede46f4]::local_pool::BlockingStream<futures_util[193b5092c420d0d0]::stream::futures_unordered::FuturesUnordered<<cargo[a4b0cccfd576b561]::core::registry::PackageRegistry>::patch::{closure#1}>>, <cargo[a4b0cccfd576b561]::core::registry::PackageRegistry>::patch::{closure#2}>, core[129738cd14919ae4]::result::Result<core[129738cd14919ae4]::convert::Infallible, anyhow[a3ad2a5a7e8f362a]::Error>> as core[129738cd14919ae4]::iter::traits::iterator::Iterator>::next
  23:     0x563b26ca8dc1 - <cargo[a4b0cccfd576b561]::core::registry::PackageRegistry>::patch
  24:     0x563b26c5cd27 - cargo[a4b0cccfd576b561]::ops::resolve::register_patch_entries::{closure#0}
  25:     0x563b26ee574a - cargo[a4b0cccfd576b561]::ops::resolve::resolve_with_previous
  26:     0x563b26eea50f - cargo[a4b0cccfd576b561]::ops::resolve::resolve_with_registry
  27:     0x563b26edf83a - cargo[a4b0cccfd576b561]::ops::resolve::resolve_ws_with_opts
  28:     0x563b26e81067 - cargo[a4b0cccfd576b561]::ops::cargo_compile::create_bcx
  29:     0x563b26e7f581 - cargo[a4b0cccfd576b561]::ops::cargo_compile::compile_ws
  30:     0x563b26e84311 - cargo[a4b0cccfd576b561]::ops::cargo_compile::compile_with_exec
  31:     0x563b26e8c1cb - cargo[a4b0cccfd576b561]::ops::cargo_compile::compile
  32:     0x563b26e5b8b1 - cargo[a4b0cccfd576b561]::ops::cargo_test::run_tests
  33:     0x563b272451a7 - cargo[183ffb6185ba2f38]::commands::test::exec
  34:     0x563b271e6d2a - <cargo[183ffb6185ba2f38]::cli::Exec>::exec
  35:     0x563b271e4da6 - cargo[183ffb6185ba2f38]::main
  36:     0x563b271be803 - std[6f86386be55ace2f]::sys::backtrace::__rust_begin_short_backtrace::<fn(), ()>
  37:     0x563b271d3889 - std[6f86386be55ace2f]::rt::lang_start::<()>::{closure#0}
  38:     0x563b2781d164 - <&dyn core[129738cd14919ae4]::ops::function::Fn<(), Output = i32> + core[129738cd14919ae4]::marker::Sync + core[129738cd14919ae4]::panic::unwind_safe::RefUnwindSafe as core[129738cd14919ae4]::ops::function::FnOnce<()>>::call_once
                               at /rustc/900485642855f4729d926ecf24680a791f9293cf/library/core/src/ops/function.rs:287:21
  39:     0x563b2781d164 - std[6f86386be55ace2f]::panicking::catch_unwind::do_call::<&dyn core[129738cd14919ae4]::ops::function::Fn<(), Output = i32> + core[129738cd14919ae4]::marker::Sync + core[129738cd14919ae4]::panic::unwind_safe::RefUnwindSafe, i32>
                               at /rustc/900485642855f4729d926ecf24680a791f9293cf/library/std/src/panicking.rs:581:40
  40:     0x563b2781d164 - std[6f86386be55ace2f]::panicking::catch_unwind::<i32, &dyn core[129738cd14919ae4]::ops::function::Fn<(), Output = i32> + core[129738cd14919ae4]::marker::Sync + core[129738cd14919ae4]::panic::unwind_safe::RefUnwindSafe>
                               at /rustc/900485642855f4729d926ecf24680a791f9293cf/library/std/src/panicking.rs:544:19
  41:     0x563b2781d164 - std[6f86386be55ace2f]::panic::catch_unwind::<&dyn core[129738cd14919ae4]::ops::function::Fn<(), Output = i32> + core[129738cd14919ae4]::marker::Sync + core[129738cd14919ae4]::panic::unwind_safe::RefUnwindSafe, i32>
                               at /rustc/900485642855f4729d926ecf24680a791f9293cf/library/std/src/panic.rs:359:14
  42:     0x563b2781d164 - std[6f86386be55ace2f]::rt::lang_start_internal::{closure#0}
                               at /rustc/900485642855f4729d926ecf24680a791f9293cf/library/std/src/rt.rs:175:24
  43:     0x563b2781d164 - std[6f86386be55ace2f]::panicking::catch_unwind::do_call::<std[6f86386be55ace2f]::rt::lang_start_internal::{closure#0}, isize>
                               at /rustc/900485642855f4729d926ecf24680a791f9293cf/library/std/src/panicking.rs:581:40
  44:     0x563b2781d164 - std[6f86386be55ace2f]::panicking::catch_unwind::<isize, std[6f86386be55ace2f]::rt::lang_start_internal::{closure#0}>
                               at /rustc/900485642855f4729d926ecf24680a791f9293cf/library/std/src/panicking.rs:544:19
  45:     0x563b2781d164 - std[6f86386be55ace2f]::panic::catch_unwind::<std[6f86386be55ace2f]::rt::lang_start_internal::{closure#0}, isize>
                               at /rustc/900485642855f4729d926ecf24680a791f9293cf/library/std/src/panic.rs:359:14
  46:     0x563b2781d164 - std[6f86386be55ace2f]::rt::lang_start_internal
                               at /rustc/900485642855f4729d926ecf24680a791f9293cf/library/std/src/rt.rs:171:5
  47:     0x563b2728e4e5 - main
  48:     0x7f7bd37b3681 - __libc_start_call_main
  49:     0x7f7bd37b3798 - __libc_start_main@@GLIBC_2.34
  50:     0x563b267301e9 - <unknown>
  51:                0x0 - <unknown>

Cargo Bisect-rustc points to 033b925, so #154987 cc @weihanglo

@rustbot modify labels: +regression-from-stable-to-nightly -regression-untriaged

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCategory: This is a bug.regression-from-stable-to-nightlyPerformance or correctness regression from stable to nightly.

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions