Native C++ SDK symbolication error

My team and I encountered an obstacle during one of the projects using the C++ native SDK.

Until the very last step, everything seems to work correctly: the application compiles, the binaries (along with the .pdb files) are successfully uploaded and processed (I’m using the --wait option with the upload-dif command of the CLI tool), the crash report is sent to the server and the server successfully finds the corresponding debug information files.

However, the debug information file for our uploaded binary fails to process and therefore the call stack is not displayed. I get controversial feedback regarding the result of processing the debug information file (the attached image shows the same page with the cursor hovering over two different areas):

An error is also displayed near the top of the page telling me that

The debug information file used was broken

The ‘Debug Files’ page shows all the files and the ‘Processing Issues’ page shows no issues.

This error only occurs for our Release builds on Windows, the Debug and OSX builds work as expected. I tried using the /DEBUG:FULL linker flag to avoid generating a fastlink PDB (even though it didn’t seem necessary in another project). I also checked the PDB with sentry-cli difutil check and it said that my file was usable.

I’m out of ideas at this point and I’d like to ask for your help in determining the next step towards solving the problem.

Thank you all in advance!

It turns out that the problem is caused by some static libraries linked to the project not having debug information files. Besides a couple linker warnings (LNK4099) there is no sign that this would make the resulting PDB file invalid for processing on Sentry.

Is there a recommended way of linking third-party static libraries without PDB files to a project that will have a PDB file as an output?

Did you ever find any further information about this issue, how did you determine it was due to static libs without symbols?

I have the exact same issue on Mac, my uploaded dsym says it is broken, the static lib clue is useful, I almost certainly have some of those without debug info, but how to resolve the problem?

I tried building the library that the main project depended on with and without debug symbols. It worked fine if I built it with the symbols.

I had a long back-and-forth with Sentry support and about 3 months later (around March) it started working fine. So, for me at least, this issue had been resolved, I can use 3rd party static libraries without debug symbols just fine.