What's the etiquette for reporting difficult-to-isolate bugs?

Need help running G/Q/ZDoom/ECWolf/Zandronum/3DGE/EDuke32/Raze? Did your computer break? Ask here.

Moderator: GZDoom Developers

Forum rules
Contrary to popular belief, we are not all-knowing-all-seeing magical beings!

If you want help you're going to have to provide lots of info. Like what is your hardware, what is your operating system, what version of GZDoom/LZDoom/whatever you're using, what mods you're loading, how you're loading it, what you've already tried for fixing the problem, and anything else that is even remotely relevant to the problem.

We can't magically figure out what it is if you're going to be vague, and if we feel like you're just wasting our time with guessing games we will act like that's what you're really doing and won't help you.
Magdiel012
Posts: 12
Joined: Wed Dec 21, 2022 10:59 am
Operating System Version (Optional): Windows 11
Graphics Processor: nVidia with Vulkan support

What's the etiquette for reporting difficult-to-isolate bugs?

Post by Magdiel012 »

This felt a bit too specific to go in general, but please do let me know if this isn't the proper place for a post like this.

I've recently come across a crash to desktop that I can reproduce consistently, but providing a reproduction demo for this particular case is turning out rather tricky. It involves a custom, slightly-modified ZScript port of poly2tri, a triangulation library (specifically, this C# rewrite of it). Ordinarily I'd try to pinpoint issues like these myself and describe my findings in the report, but I, frankly, am unfamiliar with the inner workings of the library (and this is the primary reason I decided to port it instead of writing my own solution). The issue is that even just the subset of the library I decided to port is rather large, and I'm using it as part of a larger-still general-purpose ZScript library I've been working on. Since I don't get stack traces from the VM when this crash happens, I have no way to even begin to describe where the issue lies beyond simply saying "it's in the triangulator," which hardly seems helpful when the codebase is so large and the use case so niche.

So how should I go about reporting something like this?
User avatar
CandiceJoy
Posts: 94
Joined: Thu Jul 13, 2017 3:04 pm
Preferred Pronouns: She/Her
Operating System Version (Optional): Win11, MacOS Ventura
Graphics Processor: Apple M1

Re: What's the etiquette for reporting difficult-to-isolate bugs?

Post by CandiceJoy »

The best thing you could do is compile a debug build of GZDoom yourself and attach a debugger to it to get a stack trace of GZDoom itself when it errors. Alternatively, there should be some sort of GZDoom stack trace generated on CTD, usually as a pop up, but you might can find the crash report in the logs somewhere. From there, you basically work backwards to figure out what the vm was doing when the CTD happened and, hopefully, can get a better idea of if it’s the mod or GZDoom that’s causing the CTD.

Alternatively, if you can find a way to reliably reproduce this problem on other machines, I can do the debugging for you.

Failing all of that, basically as much information as we can get would be useful: logs, ini files, the mod itself, etc…but don’t necessarily expect this to bear fruit. In my experience, attaching a debugger is the most reliable way of tracking these things down :)

Return to “Technical Issues”