5 min read
|
Saved February 14, 2026
|
Copied!
Do you care about this?
This article details how Sentry discovered and resolved issues with missing crash reports for games running on SteamOS through compatibility layers like Wine and Proton. The problem stemmed from overly large crash dumps caused by incorrect stack size calculations, which they fixed by adjusting how crash data is captured.
If you do, here's more
Sentry discovered a significant issue with crash reporting on SteamOS while investigating a support ticket. A game studio reported that they received no crash reports from their games running on the Steam Deck, even though non-fatal errors were logged correctly. Upon testing, Sentry found that the crash dumps were enormous—over 500 MB each—compared to the typical 50-80 KB for Windows crash dumps. The large size indicated that something was wrong with how crash data was being captured and processed.
The root of the problem lay in how the crash reporting tool, Crashpad, interpreted the Windows Thread Environment Block (TEB). On Windows, thread stacks are usually about 1 MB, but Wine's implementation was leading to excessive stack size captures. The TEB's StackLimit and StackBase values were incorrectly set, causing Crashpad to capture the entire user-mode address space instead of just the active stack. Sentry's team realized that Wine’s own minidump generation used the actual stack pointer instead of TEB values to determine what to capture, which proved to be a more effective method.
To fix the issue, Sentry implemented a three-layer solution. They introduced a new option within Crashpad that allowed it to capture stack data based on the stack pointer rather than the TEB. This adjustment was then exposed through Sentry’s native C API, allowing developers to easily integrate it into their game engines. Finally, the game engine SDKs were updated to automatically detect when running under Wine or Proton, eliminating the need for manual configuration. This combination ensures better crash reporting for any Windows application running on Linux, regardless of the platform or game engine used.
Questions about this article
No questions yet.