Tracking down undefined behaviour in Servo

by Josh Bowman-Matthews

Servo is a web rendering engine written in Rust that relies on a lot of unsafe code. What actually happens when that unsafe code breaks the language’s rules?

We’ll walk through a mysterious panic in Servo that took two weeks to understand and resolve, explore how undefined behaviour in a program can manifest, and discuss techniques to catch similar issues before they ships.

Picture of Josh Bowman-Matthews

Josh Bowman-Matthews

he/him
Servo maintainer
Links: icon of mastodon

Josh has worked on web browsers and distributed systems at Mozilla and Cash App, but he’s currently a part time Servo maintainer and full time dad. He can truthfully claim 15 years of continuous experience writing Rust code. He also sings in a barbershop quartet called the Bearded Baritones.