baldurk / renderdoc

RenderDoc is a stand-alone graphics debugging tool.
https://renderdoc.org
MIT License
9.02k stars 1.35k forks source link

"No active replay context" error #865

Closed filami closed 6 years ago

filami commented 6 years ago

Lately I started getting this error, it seems to be rather random as well. I tried to chase the issue and I found this:

The error comes from: LiveCapture.OpenCapture log.local = false I am not using remote capturing, was all done in my machine.

And then I found: TargetControlMessage.NewCaptureData.local If I rename it to something else (like "_"), I only get a single syntax error in: LiveCapture.ConnectionThreadEntry bool local = m_Connection.CaptureFile.local; Which is a read. It seems to me that the value is never written and is defaulted to false in some cases (I am not experienced with C#, only C++, not sure how PODs are default initialized in C#).

By forcing that value to true, my capture then loads correctly and I can continue debugging.

Hope this helps, cheers, Filipe Amim

baldurk commented 6 years ago

Yes with the C# UI it's a little hard to trace this flow - the variable is initialised on the C++ side, those structs you found are used for C# / C++ interop and are copied exactly from C++ memory.

Fortunately the C# UI has been deprecated and will soon be gone, so it'll be easier to understand the pure C++ code (on v1.x).

If I understand right you're getting local captures that are incorrectly identified as remote captures? And then it says there's no active replay context on that remote machine? That sounds like the bug that was addressed in #744 where captures over 2GB in size were declared as 'non-existant' because the windows _stat function returned an error, and so it assumed the file was on a remote machine. It's fixed in the most recent nightly builds on both branches. However see #862 for the v1.0 release candidate - if you have the time and willingness I'd appreciate if you tested the fix on the v1.x build :smile:.

filami commented 6 years ago

Just downloaded V1.0RC and did a capture well over 3Gb and it loads properly. Thanks :)