Thursday
Room 5
11:40 - 12:40
(UTC+02)
Talk (60 min)
Another Kind of Bug - The Subtleties of ODR Violations
The program crashes in places where it has never crashed before. Only in some environments. Inside well-tested functions. And nobody knows why.
C++
Platform
Technique
Often, these crashes are not caused by local bugs. Instead, they arise from the way our program is composed. The root cause is usually an ABI incompatibility or an ODR violation.
In this talk, we’ll look at a practical example of how ODR violations can creep into our software systems. We will revisit fundamentals such as static and dynamic libraries, linkage, and symbol visibility, and discuss how to design our components and compose our systems to make them more robust against this class of bug.
