Rare crash during assignment of Instance.Montage.MarkersPassedThisTick

Due to the limited nature of the minidump I couldn’t read the Instance or Montage field in the callstack and local variables: All <Unable to read memory>. The register in the disassembly that is pointing to the address of Instance seems ok?

MarkerTickContext.MarkersPassedThisTick = *Instance.Montage.MarkersPassedThisTick;

lea rcx,[r14+78h]

r14: 0x000000EF80B7E580

But I guess it should be, it’s the FAnimTickRecord - safe until next frame? And I might guess that the pointer for MarkersPassedThisTick in the record is ok (as in sensible) - it’s just the stuff at the location of the pointer that is gone/changed. My visual studio assembly foo isn’t so hot, so if you know a quick way to cast an address to visualise the full struct given an memory location, please let me know. I’m not sure how much the USTRUCT BODY macros etc can modify the entries and offsetting 78h into the record to read the address there didn’t reveal anything (just ??? in the memory viewer). This minidump is only 800kb.

What I can say is the source pointer and count in the mem copy is not good, see image attached: Src: 0xDDDDDDDDDDDDDDDD Count: 0xFFFFFFFE6666665C. That indicates the dereferenced MarksPassedThisTick TArray is not pointing at a sensible value and the failure is attempting to read beyond 0xFFFFFFFFFFFFFFFF.

[Image Removed]

“Unhandled exception at 0x00007FF9D6FA156D (VCRUNTIME140.dll) in UEMinidump.dmp: 0xC0000005: Access violation reading location 0xFFFFFFFFFFFFFFFF.”

The destination pointer seems ok I think: 0x00000248ADC00000 - but again, not an address I can peer into for this minidump.

I’m afraid I still don’t even know the montage yet. I’m guessing it’s player character related, or something that may cause a player to stop/remove/change some montage on their character - equip/unequip/put down. Initially I thought it might be related to ActorSequenceComponents because they were also common to two of the first three scenarios we had. But they didn’t have montages related to them at all. Then possibly something to do with network relevancy or some anim pause/culling scenarios that might cause things not to get regular or expedient updates. But this is just hypothesising.

Next steps for me are to update to 5.5. And then request that any future crashes are held so I can remote connect in the debugger. Are there any recommendations for ways to id the montage involved or state of it - e.g. adding more info into the FAnimTickRecord?

Regards,

John