[tor-project] What's happening in Shadow 2022-06

Mirrored from What's happening in Shadow 2022-06 · Discussion #2243 · shadow/shadow · GitHub

This is part of a series of periodic updates of development in Shadow. This work is sponsored by the NSF.

NSF sponsorship: NSF Sponsorship - The Shadow Simulator
Previous update: What's happening in Shadow 2022-04 · Discussion #2007 · shadow/shadow · GitHub

We will be presenting a paper on Shadow's 2.0 architecture, "Co-opting Linux Processes for High-Performance Network Simulation", at the USENIX Annual Technical Conference.

Paper: https://www.robgjansen.com/publications/phantom-atc2022.pdf

We've merged 123 non-dependabot pull requests and closed 38 issues since our previous update.

Pull requests: Pull requests · shadow/shadow · GitHub
Issues: Issues · shadow/shadow · GitHub

Release status



We have released Shadow 2.1. This release focused largely on more complete and accurate OS emulation, to increase the number of applications that can be run under Shadow. Shadow now supports newer versions of glibc, software that uses signals and "busy loops", and dynamically linked golang programs. It also has a new `--debug-hosts` feature to facilitate attaching debuggers like `gdb` to Shadow's managed processes. See the release notes for details.

Shadow 2.1: Release v2.1.0 · shadow/shadow · GitHub
Release notes: v2.1.0 · Discussion #2219 · shadow/shadow · GitHub

We've begun work on Shadow 2.2, which will largely be a push to refactor and migrate more of the core Shadow code to Rust, which is expected to ultimately increase velocity of Shadow development.

Shadow 2.2 project: Release v2.2 · GitHub

Notable changes since last update

Most of the changes since the last update are covered in the v2.1.0 release notes. We are now also keeping a running CHANGELOG of
user-facing changes since the last release. Currently this is:

* We have removed ptrace-mode, and the associated experimental options `use-o-n-waitpid-workaround` and `--interpose-method`. ptrace-mode was an alternative to Shadow's current interposition mechanism that uses `LD_PRELOAD` and `seccomp`. This change should be transparent to most users, since it hasn't been the default for several releases, and was only accessible via experimental options. See Remove --interpose-method=ptrace · Issue #1945 · shadow/shadow · GitHub

Release notes: v2.1.0 · Discussion #2219 · shadow/shadow · GitHub
Changelog: shadow/CHANGELOG at main · shadow/shadow · GitHub

Happy simulating!
The Shadow team
tor-project mailing list