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

Symbolicate macOS and Linux crash logs for debugging #1210

Merged
merged 5 commits into from
Sep 14, 2023

Conversation

manongjohn
Copy link
Collaborator

@manongjohn manongjohn commented Sep 2, 2023

In order to provide filename/line number in backtrace information for macOS and Linux crash logs, this PR does the following:

  1. This generates DSYM files for macOS and configures T2D to use them when generating backtrace.

As a result of including the DSYM files as part of the build, the overall footprint will increase by about 570 MB.

  1. Compiles Linux builds to include symbol information.

As a result of doing this, the overall footprint will increase by about 200 MB.

@manongjohn manongjohn added the 1.4 Included in Version 1.4 label Sep 2, 2023
@manongjohn
Copy link
Collaborator Author

@artisteacher and/or other macOS users: Can you test this on something that crashes and post the results?

I know when I download the artifact and run on a scene that crashes for me, it shows file/line numbers where it can. Prior artifacts didn't so I'm hopeful this will work and be helpful in the long run.

@artisteacher
Copy link
Contributor

Here's the result:
new-crash-report.txt
I think it's doing what you want?

@manongjohn
Copy link
Collaborator Author

Yes it is. Thanks!

@manongjohn manongjohn changed the title Add macOS DSYM Files for debugging Symbolicate macOS and Linux crash logs for debugging Sep 13, 2023
@manongjohn
Copy link
Collaborator Author

Revised logic and also updated Linux builds to be able to show filenames and line numbers. PR title and information updated to reflect the change.

@artisteacher
Copy link
Contributor

Here's the latest crash report, in case you need it:
latest-crash-version.txt
FYI, I'm using the steps of #1107 to trigger the crashing.

I do recommend removing the ability to close the crash report window on macOS in order to "resume the program". I've never been able to get back to T2D, it's just an immediate new crash after the dialog. It would be better for closing the window to really close the app.

@manongjohn
Copy link
Collaborator Author

Thanks for retesting. It's working as intended. I will verify the Linux version is doing what I want it to do also.

Will look at disabling the Resume functionality in a separate PR.

@manongjohn
Copy link
Collaborator Author

I checked the Linux versions on a different VM and they work as expected. Interestingly the gcc version was more in line with the Windows and macOS backtraces. The clang version was either a line # off or didn't have a line number. At this point, I'll take what I can get.

Going to merge this so any macOS/Linux users using the latest nightly can hopefully give useful crash reports.

@manongjohn manongjohn merged commit e146e4d into tahoma2d:master Sep 14, 2023
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1.4 Included in Version 1.4
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants