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?
What's the etiquette for reporting difficult-to-isolate bugs?
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.
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.
-
- Posts: 10
- Joined: Wed Dec 21, 2022 10:59 am
- Operating System Version (Optional): Windows 11
- Graphics Processor: nVidia with Vulkan support
-
- 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?
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
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
