Panic in streammap code, "Missing open stream"

thread 'tokio-runtime-worker' panicked at /home/nickm/src/arti/crates/tor-proto/src/circuit/streammap.rs:379:17:
Missing open stream
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
2024-08-06T17:31:20Z ERROR arti::logging: Panic at /home/nickm/src/arti/crates/tor-proto/src/circuit/streammap.rs:379:17: Missing open stream
   0: arti::logging::install_panic_handler::{{closure}}
   1: std::panicking::rust_panic_with_hook
   2: std::panicking::begin_panic_handler::{{closure}}
   3: std::sys_common::backtrace::__rust_end_short_backtrace
   4: rust_begin_unwind
   5: core::panicking::panic_fmt
   6: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &mut F>::call_once
   7: <futures_util::future::poll_fn::PollFn<F> as core::future::future::Future>::poll
   8: tor_proto::circuit::reactor::Reactor::run::{{closure}}
   9: tor_circmgr::build::create_common::{{closure}}::{{closure}}
  10: tokio::runtime::task::core::Core<T,S>::poll
  11: tokio::runtime::task::harness::Harness<T,S>::poll
  12: tokio::runtime::scheduler::multi_thread::worker::Context::run_task
  13: tokio::runtime::scheduler::multi_thread::worker::Context::run
  14: tokio::runtime::context::runtime::enter_runtime
  15: tokio::runtime::scheduler::multi_thread::worker::run
  16: tokio::runtime::task::core::Core<T,S>::poll
  17: tokio::runtime::task::raw::poll
  18: tokio::runtime::blocking::pool::Inner::run
  19: std::sys_common::backtrace::__rust_begin_short_backtrace
  20: core::ops::function::FnOnce::call_once{{vtable.shim}}
  21: std::sys::pal::unix::thread::Thread::new::thread_start
  22: start_thread
  23: __GI___clone3

@jnewsome, do you have any sense of why this might have happened? I'm seeing it in the logs every 10-30 minutes.