Closed w-pearson closed 1 year ago
I can reproduce this as well, and all indications point to this being a driver bug. The crash is inside the driver, and everything RenderDoc is doing looks fine to me. It's crashing on a random context deletion but only on the second iteration which doesn't make much sense, especially as GL should not be crashing even for invalid calls.
The context management seems fine to me and it works on other implementations - one of the auto tests loads captures repeatedly to check for issues like this or memory leaks, so if it were a general bug I would expect to hit it elsewhere.
That seems reasonable to me. I did notice once oddity though if I set a breakpoint at DeleteClonedContext
, though:
DoVendorChecks
)~ContextShareGroup
)~ContextShareGroup
)I'm not sure whether it's expected that DoVendorChecks
is only called once or if it should be called before each capture is loaded. But it looks like there are 3 context deletions overall.
Have you reported this to Intel already, or should I do it?
Yes it's deliberate, DoVendorChecks only needs to be once to detect GL driver quirks/bugs. Once that's saved it's not needed again.
I don't have any contact at Intel for GL bugs so I haven't reported it.
I submitted a report at IGCIT/Intel-GPU-Community-Issue-Tracker-IGCIT#287.
Description
RenderDoc crashes if you create and then close two OpenGL captures. Here's the stacktrace:
The actual invalid pointer varies, but it seems that the crash is 100% consistent (at least on my machine with an Intel GPU).
Steps to reproduce
I ran into this using the RenderDoc demos. I'm not sure if it affects other applications or if something about how the demos work triggers it.
This is OGL-specific. If, at step 7, you instead launch VK_Simple_Triangle, Renderdoc will not crash; however, if you later capture OGL_Simple_Triangle again, Renderdoc will crash. Also, OGL_Simple_Triangle isn't required; OGL_Draw_Zoo also causes it.
Alternatively:
A third method that confirms that it's the closing that does it:
Environment