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
The debug information file used was broken #1429
Comments
Assigning to @getsentry/support for routing ⏲️ |
I have narrowed this down. The issue happens when a stripped executable crashes.
If the exe is left unmodified by cv2pdb64:
then for a crash in the unstripped executable sentry does not complain about the debug information file and the stack trace shows the correct file and line number. Alternatively using a manually stripped exe:
also causes the issue. It is undesirable to use the unstripped exe because of it's large size (in my actual use case 9MB vs 226MB). |
Can you provide a link to an event, or to your "debug files" project settings page? Ideally the file would just be processed correctly, and there wouldn’t need to be a need to display more detailed information in the Sentry UI. That being said, the mingw toolchain is frequently causing problems with unusable debug-info, and formats that we simply do not support (yet). |
Broken one - event ID: f401c806f8fe442c507e223cd46f513e |
Sorry, we need more than just event IDs. Links to the events would be best. You can also email them to me at sebastian.zivota@sentry.io if you'd rather. |
Thanks for sending me the links. I analyzed the pdb file that gets reported as broken with The output of
With some printf debugging I found that the problem occurs when trying to read the functions in the pdb file. The output of
As far as I can tell there is no problem with the executable itself, it's the debug file that's broken. |
Some further observations: With a pdb file that has the same error as above in symcache_debug and llvm-pdbutil: |
@glennra is there anything left for us to do at the moment? |
It turns out that some of the 3rd party libraries in sentry-native don't build with MinGW and have to be built with MSVC. This means that the path of least resistance is to build our whole project with MSVC and in that case this issue isn't relevant. |
Closing this for now, please let us know if we can help you further. |
Environment
SaaS (https://sentry.io/)
Steps to Reproduce
We are building a Qt desktop app on Windows with the bundled MinGW compiler (Qt 6.5, MinGW 11.2.0).
Debug symbols for a Release build are produced by adding the
-g
compiler flag.A pdb is created from the exe using cv2pdb64 and the symbol file is created using dump_syms.
sentry-cli debug-files check <name>.pdb
sentry-cli debug-files check <name>.sym
both report
usable: yes
These files are uploaded using
sentry-cli debug-files upload ...
When a crash event is viewed the event log has an error banner that says "The debug information file used was broken".
A minimal example using the above procedure works correctly.
Expected Result
The specific error in the debug information file should be reported by
sentry-cli debug-files check ...
or by the sentry.io dashboard.Actual Result
The issue view reports "The debug information file used was broken"
Product Area
Issues
Link
No response
DSN
https://5cadff627e90cffc30172f038d0676f3@o4504238250983424.ingest.sentry.io/4506300114796544
Version
No response
The text was updated successfully, but these errors were encountered: