Program error: where do the reports go and what do they do?

So there I was, battling evil in Baldur’s Gate 3. I’m in the middle of what most call the hardest battle in the game. In the middle of it I suddenly get kicked out and get an error screen. I go back and try again. Same thing. Then I get the bright idea to turn it off and try again. It works. Evil is defeated.

Ok so here is the question. On the error screen there is an option to send an error report to Sony. I did. Twice. Where does that go? Does it get sent to some database of errors or is each report analyzed? Is anything attempted to fix the error or does some threshold level of error messages have to be reached before it’s even looked at? Is it just there to make me feel like I’m doing something about it?

They likely go in some database maintained by the BG3 developers. The key part though is when you send the report it also sends a lot of information about your system hardware and software to help with diagnosis. So when they get reports of the bug through QA or their bug forums or similar, they can go to the reports to see if there is some commonality - maybe only Nvidia Geforce GTX 6600TI have the error, or maybe only people with Avira antivirus installed, etc. They may also use the reports to triage - what percentage of the reports they get are this specific bug, if it’s really low they may prioritize other fixes first.

Each company may handle crash reports differently, but in the companies I’ve worked for, generally such reports go directly into a database. The report may include things like the stack trace of all threads at the time of the crash, certain important global variables, an identifier of the affected user or machine, etc. The database is then used to create daily (or weekly or whatever) reports that summarize the frequency of crashes: Crash type X happened 124 times yesterday, crash type Y happened 87 times, etc. These reports are then used to prioritize debugging efforts, since fixing a bug that happens to 1000 users a day is more useful than fixing a bug that happens to 1 or 2 users a day. So yes, if a crash happens only rarely, it may not be investigated until more frequent issues are addressed. (A very infrequent crash may not even be caused by a bug in the program, but by a hardware issue with one particular user’s machine, so it would be a waste of time to investigate.)

A complication is it’s not always easy for an automated process, or even a human developer, to tell whether two particular crashes are caused by the “same” bug. One bug may manifest in different ways, resulting in several crash reports that look different but actually have the same underlying cause. (Discovering that several seemingly unrelated bugs can be solved by a single fix is one of the little joys of software development.)

This article is about the mechanism built into Windows for Microsoft’s purposes. Which isn’t directly applicable to the OP’s question but may put some example meat on the skeleton @markn_1 just outlined so well.

I had one instance where I reported a bug in a game, and a human emailed me back to ask a question about what I had been doing in the game at the time. It turned out that the bug only affected people who had taken a certain quest path, and knowing that helped them to figure out how to fix the bug, but which quest path was taken hadn’t been part of the automated data collection.