UEFN island crash when PutInStasis is called on a fort character spawned from an NPC spawner device - 39.00

Summary

Hey all, I have noticed with the update to 39.00, our UEFN builds now crash whenever a call to put the fort_character of a NPC spawned from the npc_spawner_device into stasis is made (PutInStasis).

This was working with 38.10 with the call causing the NPC to stop moving until a subsequent ReleaseFromStasis is called. As of 39.00, calling PutInStasis causes the game to freeze for about 20 seconds before the game ultimately crashes. Any help with the matter would be greatly appreciated as our game heavily relies on this functionality.

Please select what you are reporting on:

Unreal Editor for Fortnite

What Type of Bug are you experiencing?

AI

Steps to Reproduce

  • Spawn an NPC from a npc_spawner_device
  • Get reference to the NPCs fort_character
  • Call PutInStasis() on the fort_character

Expected Result

NPC stops moving until a subsequent ReleaseFromStasis is called

Observed Result

the game freezes for about 20 seconds before the game ultimately crashes

Platform(s)

Windows

Thank you, we’ll get someone to take a look.

Articulated perfectly! Awesome! Thank u for diagnosing this!

@IGS_Cbowman Could we get your UEFN logs so we can investigate?

Can you respond to the cook errors in UEFN, please?

@Flak For sure! I have logs I just produced, but when I try to upload the zipped folder here it is saying “Sorry, new users can not upload attachments“. How should I go about handing the zip over?

Logs.zip (362.1 KB)

May be worth mentioning that the session disconnects immediately once the issue occurs, leaving the island frozen for around 30 seconds before it boots the session back to lobby with a “Network Error“.

To Update this thread, I have found the root issue to be calling PutInStasis while you are actively using the NavigateTo function.

Better repo steps would be as followed:

  • Create an island with an npc_spawner (I used a test NPC char def with the only change the type being a guard)

  • Create a new verse device with the following sample code (you can use any navigation method, this is just the one I wrote up to test)

    test_device.verse (2.5 KB)

  • Add the device to the world

  • Add the npc_spawner reference to the device

  • Add a few props to use for navigation points (can just use one far away)

  • run the game and watch that the game freezes when stasis is called

I think the only thing that is for sure needed for this to happen is calling PutInStasis while the NPC is navigating. Hope this helps!

I tried using a Sleep(0.0) before calling PutInStasis, and that made it work correctly.

@Ga.th I am not sure the context of what you are applying the PutInStasis to the NPC, but for my context (seen in my previous post) launching the stasis call on a separate thread does not do anything.

(This code does not work)

The problem appears to only happen when the “NavigateTo“ function is being ran on a thread while PutInStasis is called.

image

You may be calling PutInStasis while the character is not navigating which I can confirm does work fine.

Yes, I did some more tests with Sleep(0.0) and it really doesn’t work. I’m applying the effect to test players, who were most likely standing still when I tested it. Thanks for the reply.

FORT-1026345’s status has changed to ‘Ready for QA’. A member of the QA department is investigating the issue.