Skip to content

Shadow panics when sending a packet in CI test #3526

@cohosh

Description

@cohosh

Describe the issue

Shadow is crashing since we updated the version we used in our Gitlab CI integration tests.

** Starting Shadow 3.2.0
thread 'shadow-worker' panicked at main/core/worker.rs:357:86:
called `Option::unwrap()` on a `None` value
stack backtrace:
   0: rust_begin_unwind
             at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/std/src/panicking.rs:692:5
   1: core::panicking::panic_fmt
             at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/core/src/panicking.rs:75:14
   2: core::panicking::panic
             at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/core/src/panicking.rs:145:5
   3: core::option::unwrap_failed
             at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/core/src/option.rs:2015:5
   4: shadow_rs::core::worker::Worker::send_packet
   5: shadow_rs::core::worker::Worker::with
   6: <shadow_rs::network::router::Router as shadow_rs::network::PacketDevice>::push
   7: shadow_rs::network::relay::Relay::run_forward_task
   8: shadow_rs::host::host::Host::execute
   9: shadow_rs::core::worker::Worker::with
  10: scheduler::thread_per_core::HostIter<HostType>::for_each
  11: shadow_rs::core::manager::Manager::run::{{closure}}::{{closure}}
  12: scheduler::thread_per_core::SchedulerScope<HostType>::run_with_data::{{closure}}
  13: scheduler::pools::unbounded::work_loop
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
thread 'shadow-worker' panicked at main/host/host.rs:971:9:
assertion failed: self.shim_shmem_lock.borrow().is_none()
stack backtrace:
   0: rust_begin_unwind
             at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/std/src/panicking.rs:692:5
   1: core::panicking::panic_fmt
             at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/core/src/panicking.rs:75:14
   2: core::panicking::panic
             at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/core/src/panicking.rs:145:5
   3: core::ptr::drop_in_place<alloc::boxed::Box<shadow_rs::host::host::Host>>
   4: core::ptr::drop_in_place<core::option::Option<core::cell::RefCell<shadow_rs::core::worker::Worker>>>
   5: std::sys::thread_local::native::eager::destroy
   6: __GI___call_tls_dtors
             at ./stdlib/cxa_thread_atexit_impl.c:159:7
   7: start_thread
             at ./nptl/pthread_create.c:450:5
   8: clone3
             at ./misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
thread '<unnamed>' panicked at lib/scheduler/src/pools/unbounded.rs:193:17:
A work thread panicked
stack backtrace:
Error: Dropped without calling `explicit_drop`
   0: rust_begin_unwind
             at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/std/src/panicking.rs:692:5
   1: core::panicking::panic_fmtfatal runtime error: thread local panicked on drop
             at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/core/src/panicking.rs:75:14
/usr/bin/bash: line 213: 27361 Aborted                 RUST_BACKTRACE=1 shadow --log-level=debug --model-unblocked-syscall-latency=true snowflake-minimal.yaml > shadow.log

To Reproduce
Here's the gitlab CI configuration: https://gitlab.torproject.org/cohosh/snowflake/-/blob/bfb35d243f52e93b1078ce917126ee2b8317aefd/.gitlab-ci.yml#L166

Operating System (please complete the following information):

$ lsb_release -d
Description:	Debian GNU/Linux 12 (bookworm)
$ uname -a
Linux runner-hannvn55-project-575-concurrent-0 6.1.0-31-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.128-1 (2025-02-07) x86_64 GNU/Linux

Shadow (please complete the following information):

commit b583ee7

  • Which processes you are trying to run inside the Shadow simulation:

tor, tgen, snowflake

Additional context
Artifact download link (will expire): https://gitlab.torproject.org/cohosh/snowflake/-/jobs/880543/artifacts/download

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type: BugError or flaw producing unexpected results

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions