Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve current Exception Handler #1125

Draft
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

EpicUsername12
Copy link
Contributor

@EpicUsername12 EpicUsername12 commented Mar 16, 2024

Purpose

This PR aims to improve the CEMU exception handler (as a response to #1023)

Features

  • Add a game crash message dialog before exiting
  • Add a CEMU crash message dialog before exiting
  • Copy log.txt to clipboard
    • Win32
    • Linux
    • MacOS
  • Make sure it works and doesn't break anything else
    • Win32 debug/release
    • POSIX debug/release

Description

The changes spawn a thread on CafeSystem initialization that will continously read a boolean and yield if the boolean is false.

This boolean is set to true if a unhandled exception occurs, shutting down CafeSystem (to avoid the game still running in the background and other synchronization issues occuring) then displaying the message boxes.

Pictures

image
Example CEMU crash (forced crash in H264 decoder)

@EpicUsername12 EpicUsername12 marked this pull request as draft March 16, 2024 18:40
@Crementif
Copy link
Member

This seems like a really nice feature to have! I do think that telling users to report crashing issues to GitHub is pretty risky. Generally, these (recurring) crashes are more often a user setup or game files error then anything else. We currently also have plenty of issues and don't really have enough maintainers to manage/fix even more.

I think this referral should really just be to the troubleshooting channel in our discord or on our subreddit, if anything at all. I'm kinda worried that even those places will see too big of an influx in users, especially if you don't give them any tips on what they could do themselves before asking for help.

The ideal solution in my opinion (also have spoken a bit about this with Exzap) is that:

  1. It should tell the user if it was a game crash or a Cemu crash (aka vulkan API errors, other common exceptions I can't think off), if possible
  2. It should tell the users to check if they are running the latest updates of those games and to check their files using the title manager for corruption issues, to check if their hardware is supported and their drivers are up-to-date and tells them to check the game's compatibility rating on the wiki BEFORE asking for help in the troubleshooting channel.

@EpicUsername12
Copy link
Contributor Author

EpicUsername12 commented Mar 21, 2024

  1. It should tell the user if it was a game crash or a Cemu crash (aka vulkan API errors, other common exceptions I can't think off), if possible
  • It currently says whether it is a game crash or a CEMU crash!

I do think that telling users to report crashing issues to GitHub is pretty risky. Generally, these (recurring) crashes are more often a user setup or game files error then anything else. We currently also have plenty of issues and don't really have enough maintainers to manage/fix even more.

  • I agree with that

  1. It should tell the users to check if they are running the latest updates of those games and to check their files using the title manager for corruption issues, to check if their hardware is supported and their drivers are up-to-date and tells them to check the game's compatibility rating on the wiki BEFORE asking for help in the troubleshooting channel.
  • I will try to add some of these features in future commits (EDIT: in the coming days)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants