Skip to content

Commit da30032

Browse files
committed
Slightly reword miri text
1 parent db3fcc6 commit da30032

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

posts/2024-11-07-gsoc-2024-results.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -168,11 +168,11 @@ Even though this project did not fulfill its original goals and more work will b
168168
- Mentor: [Oli Scherer](https://github.com/oli-obk)
169169
- [Final report](https://gist.github.com/tiif/3e08ba6e8cfb1d078e6155410108ae48)
170170

171-
[miri][miri] is an intepreter that can find possible instances of undefined behavior in your Rust code, which is being used across the Rust ecosystem. However, it was not possible to run it on any non-trivial programs (those that ever `await` on anything) using [tokio][tokio], due a to a fundamental missing feature: support for the `epoll` syscall on Linux (and similar APIs on other major platforms).
171+
[miri][miri] is an intepreter that can find possible instances of undefined behavior in Rust code. It is being used across the Rust ecosystem, but previously it was not possible to run it on any non-trivial programs (those that ever `await` on anything) that use [tokio][tokio], due a to a fundamental missing feature: support for the `epoll` syscall on Linux (and similar APIs on other major platforms).
172172

173173
Tiffany implemented the basic `epoll` operations needed to cover the majority of the tokio test suite, by crafting pure `libc` code examples that exercised those `epoll` operations, and then implementing their emulation in miri itself. At times, this required refactoring core miri components like file descriptor handling, as they were originally not created with syscalls like `epoll` in mind.
174174

175-
Suprising to everyone (though probably not tokio-internals experts), once these core `epoll` operations were finished, operations like async file reading and writing started working out of the box! Due to limitations of non-blocking file operations offered by operating systems, tokio wrapped those file operations in dedicated threads, which was already supported by miri.
175+
Suprising to everyone (though probably not tokio-internals experts), once these core `epoll` operations were finished, operations like async file reading and writing started working in miri out of the box! Due to limitations of non-blocking file operations offered by operating systems, tokio is wrapping these file operations in dedicated threads, which was already supported by miri.
176176

177177
Once Tiffany has finished the project, including stretch goals like implementing async file operations, she proceeded to contact tokio maintainers and worked with them to run miri on most tokio tests in CI. And we have good news: so far no soundness problems have been discovered! Tiffany has become a regular contributor to miri, focusing on continuing to expand the set of supported file descriptor operations. We thank her for all her contributions!
178178

0 commit comments

Comments
 (0)