Fatal error; engine problem or project problem

This is not a question regarding a specific fatal error, but more of fatal errors in general.

I have been getting fatal errors recently (using the 4.11.1 source), and started wondering; are fatal errors caused by problems in the engine code, or are they problems caused by project code? So far, in all versions I have been using, the only issues I have ever had where with null pointers and the likes that caused the engine to simply just crash or freeze without any warning. With a fatal error, it gives a message.

The reason I want to know this is that I cannot quite reproduce the fatal error I have been getting (it just kinda happens). I kinda worry since I cannot find any real faults with my implementation (since it works, most of the time), but it is still a rather generic functionality for the game I am making; not something you want crashing on you on a random basis.

Hello cridia,

It depends on the situation and the error itself. In the case of null pointer errors, it is most likely a project error. The best way to avoid these is to get into the habit of checking any pointers before using them to make sure they’re valid. It’s always possible that GetWorld() will be called at a point where the world doesn’t exist. It’ll return a null value and then the function that tries to use that value will trigger the crash.

Next time you get a crash, would it be possible for you to post the callstack here or the Machine ID / Epic ID that it gives you in the Crash Reporter window? This’ll allow me to look up the callstack in our internal system and try to find the problem for you.