Unable upload Debug Information Files on Self-Hosted Sentry

When I try to upload .pdb files 0 debug information files where found and when I try with a breakpad file .sym the process found 1 file but “processing files” step upload nothing and never ends.

172.17.0.1 - - [09/Jul/2019:13:26:40 +0000] “OPTIONS /api/0/projects/sentry/runtimepc/issues/?sort=date&query=is%3Aunresolved&limit=25&statsPeriod=24h&shortIdLookup=1&cursor=0:0:1 HTTP/1.1” 401 495 “http://localhost:9000/sentry/runtimepc/” “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Edge/16.16299”

172.17.0.1 - - [09/Jul/2019:13:26:40 +0000] “POST /api/0/projects/sentry/runtimepc/files/difs/assemble/ HTTP/1.1” 200 342 “-” “sentry-cli/1.46.0”

172.17.0.1 - - [09/Jul/2019:13:26:41 +0000] “POST /api/0/projects/sentry/runtimepc/files/difs/assemble/ HTTP/1.1” 200 342 “-” “sentry-cli/1.46.0”

172.17.0.1 - - [09/Jul/2019:13:26:42 +0000] “POST /api/0/projects/sentry/runtimepc/files/difs/assemble/ HTTP/1.1” 200 342 “-” “sentry-cli/1.46.0”

172.17.0.1 - - [09/Jul/2019:13:26:43 +0000] “POST /api/0/projects/sentry/runtimepc/files/difs/assemble/ HTTP/1.1” 200 342 “-” “sentry-cli/1.46.0”

172.17.0.1 - - [09/Jul/2019:13:26:44 +0000] “POST /api/0/projects/sentry/runtimepc/files/difs/assemble/ HTTP/1.1” 200 342 “-” “sentry-cli/1.46.0”

172.17.0.1 - - [09/Jul/2019:13:26:45 +0000] “POST /api/0/projects/sentry/runtimepc/files/difs/assemble/ HTTP/1.1” 200 342 “-” “sentry-cli/1.46.0”

172.17.0.1 - - [09/Jul/2019:13:26:46 +0000] “POST /api/0/projects/sentry/runtimepc/files/difs/assemble/ HTTP/1.1” 200 342 “-” “sentry-cli/1.46.0”

172.17.0.1 - - [09/Jul/2019:13:26:47 +0000] “POST /api/0/projects/sentry/runtimepc/files/difs/assemble/ HTTP/1.1” 200 342 “-” “sentry-cli/1.46.0”

172.17.0.1 - - [09/Jul/2019:13:26:48 +0000] “POST /api/0/projects/sentry/runtimepc/files/difs/assemble/ HTTP/1.1” 200 342 “-” “sentry-cli/1.46.0”

172.17.0.1 - - [09/Jul/2019:13:26:49 +0000] “POST /api/0/projects/sentry/runtimepc/files/difs/assemble/ HTTP/1.1” 200 342 “-” “sentry-cli/1.46.0”

172.17.0.1 - - [09/Jul/2019:13:26:50 +0000] “POST /api/0/projects/sentry/runtimepc/files/difs/assemble/ HTTP/1.1” 200 342 “-” “sentry-cli/1.46.0”

172.17.0.1 - - [09/Jul/2019:13:26:51 +0000] “POST /api/0/projects/sentry/runtimepc/files/difs/assemble/ HTTP/1.1” 200 342 “-” “sentry-cli/1.46.0”

172.17.0.1 - - [09/Jul/2019:13:26:52 +0000] “POST /api/0/projects/sentry/runtimepc/files/dif> s/assemble/ HTTP/1.1” 200 342 “-” “sentry-cli/1.46.0”

etc …

Hi @orbito and welcome to the forums! Would you mind sharing a bit more information about your setup such as the Sentry version you are using, some deployment and setup details etc as I don’t think the logs you shared are enough to get a lead.

Hello @BYK,

Thanks for your answer. We actually found the issue :
We first deployed sentry using the instructions on https://docs.sentry.io/server/installation/docker/ which caused the volumes of each sentry container (web/cron/worker) to be setup as a different volume.

We fixed that by using the docker-compose procedure we found on https://opw0011.github.io/sentry-docker/ with some adaptations and now it works perfectly for the .sym file upload (as we now have a common volume)

We still have some issues though :

  • We can’t upload .pdb files, only .sym files from breakpad seems to be working. When sentry-cli -t pdb -t pe scans the directory, it reports 0 files found.
  • The first crash we generated doesn’t use the symbols we uploaded and we get an error saying “A required debug information file was missing.”. This is actually true, we don’t have the symbols for this specific external dll. We were expecting senty to be able to process the callstack where the crash happened, which is in the exe we uploaded the symbols.

Any thoughts on these ?

Best

edit: after some digging, it seems the missing debug information might not be the issue, but rather the “A binary image is referenced that is unknown.” since we can’t find the faulty .exe in the “Image Loaded” section. How can we have more information on this binary image ?
Thanks

1 Like

Hello,

We solved the problem with the unknown binary image, to fix the issue we had to compile the application in release. So far we were using a debug build, and it appears that Senty have issues with that. For information, visual studio was able to load the minidump & debug it without any issues.

Anyway, this might help someone else to know that.

That being said, we still have the PDB issue, our server doesn’t accept any PDB files, while sentry.io does with the same settings. Any idea we can explore to fix that ?

Thanks

1 Like

@orbito, thanks a lot for the detailed response! Apologies for the docs misleading you. We are in the process of auditing and unifying self-hosted docs but in the meantime, the easiest way would be to use https://github.com/getsentry/onpremise if that works for you (I guess a bit too late for you).

I was gonna suggest asking about the symbols issue under SDKs topic but seems like you figured it out. Thanks a lot for sharing your solution and findings with the community!

sentry.io runs off of latest master (or very close to that) and uses symbolicator for symbolication of binaries. This may be the issue. We are working towards getting this integrated into the OSS onpremise version but no timelines yet.

Pinging @jauer and @mitsuhiko in case I’m wrong as they know this part much better :smiley:

Hi there!

@BYK already mentioned the most important points. PDB upload was enabled on sentry.io only a month back and has not made it to on-premise releases yet. If you’re interested in trying it out, you will have to run Sentry master. This requires to run Symbolicator and configure it properly in Sentry (as described in the Readme).

However, Symbolicator is still under active development and we’ve not started to run regular binary releases. I would suggest you to continue uploading Breakpad symbols and wait for the release of Sentry 10, which will include more detailed instructions on how to set up the environment.

Of course, you’re always welcome to use sentry.io directly. Let us know if there is something critical missing or what we can do to help you get started.

2 Likes

Hello @jauer,

I’m replying for @orbito as we worked on this together.

Thanks for the heads up about the PDB issue, i think we’ll wait for it to be more official then. We also plan to use sentry.io directly, but for live projects only. For our internal devs, since we have quite a lot of projects/additional debug files it’s a lot more convenient to use on premise install.

So far everything looks good, even if i’m wondering how to manage properly the growth of the databases, mainly the symbols.

1 Like