Event driven loader crash

You can read more about the issue here, just creating a new post since I can’t remove the “answered” status there I think:

Hello ,

I have a few questions for you that will help narrow down what issue it is that you are experiencing.

Quick questions:

  1. Can you reproduce this issue in a clean project?
  2. If so, could you provide a detailed list of steps to reproduce this issue on our end?
  3. Could you provide screen shots of any settings/blueprints that may be involved with this issue?

Hi Rudy, did you look at that other answerhub post where the issue is described?

He “was able to pinpoint it down to a BlueprintFunctionLibrary function calling a separate BlueprintFunctionLibrary function, that inturn called the previous function.”.

I think it actually even happens if one BPFunctionLibrary in any of its functions calls any function from another BPFunctionLibrary, where any of its functions calls any function from the first BPFunctionLibrary.
It’s nothing super specific, so I think you should be able to set that up without screenshots.

Just make sure that in the player pawn or in some other BP thats definitely used in the game at least one function from any of the BPFunctionLibraries is called, so that the BPFunctionLibraries are definitely packaged.

I did read over the previous question. I wanted to make sure that you were experiencing the same issue. After testing I found that this is working as intended. The issue is that an infinite loop is created and causes an fatal error during packaging. This is not an intended workflow. I hope that this information helps.

Make it a great day

Hi Rudy, I think you did not understand the issue. There is no infinite loop in the code itself, its a bug with the event driven loader. If you disable that, packaging works correctly. If you enable blueprint nativization, packaging also works correctly. Only event driver loader enabled and blueprint nativization disabled causes this issue.

It’s not that the packaging is working incorrectly when the Event driven loader is turned on, it’s that the editor catches the potential crash early rather than crashing in the packaged game.

Hi Rudy, there is no crash in the packaged game. I don’t know why you think about that “infinite loop” scenario, it has nothing to do with this. Let me quote what I wrote earlier:

If one BPFunctionLibrary in any of its
functions calls any function from
another BPFunctionLibrary, where any
of its functions calls any function
from the first BPFunctionLibrary.

So for making it clearer, I will give you a specific example.

You have BPFunctionLibrary1. It has two functions, Function1 and Function2.
You also have BPFunctionLibrary2, that also has two functions, Function3 and Function4.

Now you first make Function1 call Function3. Then you make Function4 call Function2. This causes the packaging to crash with the event driven loader enabled. It has nothing to do with infinite loops.

After further testing I was able to reproduce this issue on our end (without an infinite loop), I have written up a report and I have submitted it to the developers for further consideration. I have provided a link to the public tracker. Please feel free to use the link provided for future updates.

Link: Unreal Engine Issues and Bug Tracker (UE-43458)

Make it a great day

Thanks! Looks very nice.