RigVMRegistry : The registry is not locked for writing yet : ensure statement error during cook

Hi Epic,

I am seeing an cook failure at the very beginning. It goes away with a retry step via Horde.

Please find attached call stack. I am able to consistently reproduce it by wiping all the DDC cache and triggering a fresh cook.

Any insights into this and how to tackle would be greatly appreciated.

Thank you.

Kind Regards,

Abhi

Steps to Reproduce

Hey there,

Can I verify that you’re using 5.6? We’ve fixed this in the recent past and that code would have gone out with 5.6.

Dustin

Thanks,

I’ve logged an issue that you can follow here, https://issues.unrealengine.com/issue/UE-317168. I don’t have any insights yet.

Dustin

I noticed that you’re working off of Lyra, has this been easy to repro with the content there? Do you have repro steps?

Dustin

Hi Dustin, that was me trying to generalize a project name. It is close to Lyra though.

This is a race condition so I believe it is hard to give you repro steps as my particular setup with Horde is what is making this issue occur with 100% repro rate.

As you see in my job Horde just fails during cook job. As the race condition occurs at the very beginning via an async flush.

My callstack and ensure should give you a good insights as to a loop hole where a ControlRig async flush can trigger write access into registry without lock.

I am happy to trial and potential changes to confirm a fix. I will also give it a try to fix it if I do find a solution I will report back.

Maybe my uproject dependencies will give a lead?

Thanks for letting me know.

I will also give it a try to fix it if I do find a solution I will report back.

I appreciate it, these types of issues can be very tricky.

Maybe my uproject dependencies will give a lead?

I’ve sent the case along with the bug to the dev team. If they have any further questions, I’ll remind them that they can ask you directly.

Dustin

Hey there,

Yes this was fixed and should be in the 5.7 preview, but if you want to see the exact change you can look at it here on Github:

https://github.com/EpicGames/UnrealEngine/commit/f90a129298153c7e217a18a218273ea85c0272fe

Dustin

Hi Dustin,

Yes I am on the head revision i.e. 5.6.1. So issue exists unfortunately.

Kind Regards,

Abhi

This was marked as fixed for 5.7 so I shall verify and report back today :slight_smile:

That looks like a nice and easy change to do on 5.6.1 let me try that today and report back :slight_smile: