Add crash diagnostics dialog with process output capture#2001
Add crash diagnostics dialog with process output capture#2001gigachadmma69 wants to merge 1 commit into
Conversation
When Wine/Box64 crashes, users currently see nothing - the app silently restarts. This change shows a dialog with the exit code, signal name (e.g., "Segmentation fault"), and the last 200 lines of process output so users can diagnose issues or share crash info in bug reports. Changes: - ProcessHelper: Always capture stdout/stderr to a 200-line ring buffer, not just when debug callbacks are registered. Added getCrashLogSnapshot() and clearCrashLog() methods. - XServerDisplayActivity: Check exit code in termination callback. If non-zero, show crash dialog instead of silently restarting. Graceful exits (status == 0) still restart normally. - Added signal name mapping for common crash signals (SIGSEGV, SIGABRT, SIGILL, SIGKILL, etc.)
|
Why not games work and app not opening |
|
Hello, I am not an expert on GitHub, so I don't know if this is the right place for this post, but on issues I can't post anything. Winlator containers only are able to start for a while after installing the app. Even if I install It without creating a container. This time I waited some hours after installing Winlator to create a container, and It crashed before opening. I saved the log files, and the last message is Warning: Unsupported libc Syscall 0x143 (323). Maybe some of the experts here can find a solution. Sorry, if this is not the place, but I just wanted to reach out somebody. Thanks to everybody that is working on this project. |
|
Within the Winlator code, there are three modules: app, Vortek, and Gladio. Simply click on them, and you will be redirected to another specific application repository. There, the "Issues" tab is open for submitting issues. |
|
Ok. Thanks a lot. |
Summary
When Wine/Box64 crashes, users currently see nothing -- the app silently restarts to the main screen. This makes debugging impossible without manually enabling Wine debug logs and trying to reproduce.
This PR adds:
Always-on output capture:
ProcessHelpernow captures the last 200 lines of stdout/stderr in a ring buffer, regardless of whether debug logging is enabled. Minimal overhead (just appending strings to an ArrayList).Crash dialog: When the process exits with a non-zero status (crash), a dialog shows:
Graceful exits (status == 0) continue to work exactly as before -- silent restart.
Signal name mapping:
Test plan