|
1 | 1 | A list of user-facing changes since the latest Shadow release. |
2 | 2 |
|
3 | | -* If running Shadow in Docker, you should use `--tmpfs |
4 | | - /dev/shm:rw,nosuid,nodev,exec,size=1024g` rather than `--shm-size=1024g` to |
5 | | - mount `/dev/shm` as executable. This fixes errors when the managed process |
6 | | - maps executable pages. https://github.com/shadow/shadow/issues/2400 |
7 | | -* Added latency modeling and potential thread-yield to rdtsc emulation, |
8 | | - allowing managed code to avoid deadlock in busy-loops that use only the rdtsc |
9 | | - instruction and no syscalls. https://github.com/shadow/shadow/pull/2314 |
10 | | -* The build now internally uses `pkg-config` to locate glib, instead of a custom cmake module. |
11 | | - This is the [recommended](https://docs.gtk.org/glib/compiling.html) way of |
12 | | - getting the appropriate glib compile flags, and works better in non-standard layouts such |
13 | | - as in a [guix](https://guix.gnu.org/) environment. |
14 | | -* The `setup` script now has a `--search` option, which can be used to add additional directories |
15 | | - to search for pkg-config files, C headers, and libraries. It obsoletes the options `--library` and `--include`. |
16 | | -* Fixed a bug causing `mmap` to fail when called on a file descriptor that was |
17 | | -opened with `O_NOFOLLOW`. https://github.com/shadow/shadow/pull/2353 |
18 | | -* Bare executable names are now resolved by searching shadow's `PATH`. Previously these were |
19 | | -interpreted as relative to the current directory. For backwards compatibility, Shadow will currently |
20 | | -prefer a binary in that location if one is found but log a warning. Such cases should be disambiguated |
21 | | -by using an absolute path or prefixing with `./`. |
22 | | -* Fixed order-of-operations bug in CoDel control law that could lead to an |
23 | | - unexpected packet drop schedule. We think the bug could have caused Shadow to |
24 | | - slightly more aggressively drop packets that have already been sitting in the |
25 | | - CoDel queue for longer than 110 milliseconds. Based on the results of some Tor |
26 | | - network simulations, the bug didn't appear to affect Tor network performance |
27 | | - enough to lead us to believe that previous Tor simulations are invalid. |
28 | | - https://github.com/shadow/shadow/pull/2479 |
29 | | -* Changed the default scheduler from `thread-per-host` to `thread-per-core`, which has better |
30 | | - performance on most machines. |
31 | | -* Experimental host heartbeat log messages are enabled by default |
32 | | - (`experimental.host_heartbeat_interval` defaults to `"1 sec"`), but the |
33 | | - format of these messages is not stable. |
34 | | -* Some of Shadow's emulated syscalls and object allocations are counted and |
35 | | - written to a `shadow.data/sim-stats.json` file. |
36 | | -* Improved experimental strace logging for `brk`, `mmap`, `munmap`, `mremap`, |
37 | | - `mprotect`, `open`, and `openat` syscalls. |
38 | | -* Several small simulation examples were added to an `examples/` directory. |
39 | | -* Fixed the file access mode for stdin in the managed process (changed from |
40 | | - `O_WRONLY` to `O_RDONLY`). |
41 | | -* Fixed support for `readv` and `writev` syscalls, and added support for |
42 | | - `preadv` and `pwritev`. |
43 | | -* Fixed a rare crash in Shadow's shim while logging. |
44 | | - https://github.com/shadow/shadow/pull/2459 |
45 | | -* Set the `ifa_netmask` field in `getifaddrs()` to improve compatibility with |
46 | | - Node.js applications. https://github.com/shadow/shadow/pull/2456 |
47 | | -* Shadow no longer depends on its absolute installed location, allowing the |
48 | | -installation directory to be safely moved. https://github.com/shadow/shadow/pull/2391 |
49 | | -* Shadow now emulated `PR_SET_DUMPABLE`, allowing it to work for programs that try to |
50 | | -disable memory inspection. https://github.com/shadow/shadow/pull/2370 |
51 | | -* Added new test cases to check Shadow's simulated network performance. These |
52 | | - new tests help us verify that Shadow's network stack is capable of |
53 | | - facilitating high-bandwidth transfers when using a single TCP stream or when |
54 | | - using many streams in parallel, and across networks with various latency and |
55 | | - bandwidth characteristics. Since we run the tests as part of our CI, it is now |
56 | | - much more likely that we will notice when we make changes that significantly |
57 | | - reduces Shadow's simulated network performance. We plan to expand the cases |
58 | | - that we test in future releases. https://github.com/shadow/shadow/pull/2549 |
| 3 | +* Fixed an uncommon memory leak in `epoll_ctl`. |
| 4 | + https://github.com/shadow/shadow/pull/2586 |
59 | 5 | * (add entry here) |
60 | 6 |
|
61 | | -Raw changes since v2.2.0: |
| 7 | +Raw changes since v2.3.0: |
62 | 8 |
|
63 | | -* [Merged PRs](https://github.com/shadow/shadow/pulls?q=is%3Apr+merged%3A%3E2022-07-19T16%3A42-0400) |
64 | | -* [Closed issues](https://github.com/shadow/shadow/issues?q=is%3Aissue+closed%3A%3E2022-07-19T16%3A42-0400) |
| 9 | +* [Merged PRs](https://github.com/shadow/shadow/pulls?q=is%3Apr+merged%3A%3E2022-11-29T13%3A02-0500) |
| 10 | +* [Closed issues](https://github.com/shadow/shadow/issues?q=is%3Aissue+closed%3A%3E2022-11-29T13%3A02-0500) |
0 commit comments