Packaged game Crashes to desktop when loading specific map [urgent]

Hello,

Firstly sorry for the [urgent] tag - I’m just trying to deploy an update for my game and running across an issue.

I’ve packaged my game and the default level loads correctly, however when I load the starting map, the game crashes. I presume the issue is with loading the level, but I can’t be sure.

Some notes.

  • I always migrate the core game content to a new project and then package that version. This way everything is clean. I do this by migrating the map and it takes with it all the depending content to the new project.
  • I have gone through and checked for errors on the packaging logs and there doesn’t seem to be any red errors. Just some yellow warning (a lot of which I have resolved).
  • Something strange did happen where the first package attempt failed. It was related to a folder called Blueprints > FBXImporter. This folder was not there in my source project and seems to have been created by unreal engine when I migrated the content. In this folder there is a blueprint called BP_Sceneroot that had this compile error.

The only way I could package the game was by breaking the red connection. I’m not sure if this is related but I thought I would add anyway, since I found it strange that this folder had been added (not by me).
Once I disconnect ‘self’ (existential crisis) the game packaged. But now I have the issue where I can get to the main menu, but the game crashes to desktop when loading the main level.

Here is my crash dump - I’m afraid I couldn’t make much sense of it.


    Dump Summary
    ------------
    Dump File:    UE4Minidump.dmp : C:\Users\User\AppData\Local\GAME\Saved\Crashes\UE4CC-Windows-2DC326F4496E97DF243FA1B0C85B652D_0000\UE4Minidump.dmp
    Last Write Time:    10/03/2019 18:59:08
    Process Name:    GAME-Win32-Shipping.exe : f:\GAME\Packaged\PT\WindowsNoEditor\GAME\Binaries\Win32\GAME-Win32-Shipping.exe
    Process Architecture:    x86
    Exception Code:    0xC0000005
    Exception Information:    The thread tried to read from or write to a virtual address for which it does not have the appropriate access.
    Heap Information:    Not Present

    System Information
    ------------------
    OS Version:    10.0.17134
    CLR Version(s):    

    Modules
    -------
    Module Name    Module Path    Module Version
    -----------    -----------    --------------
    GAME-Win32-Shipping.exe    f:\GAME\Packaged\PT\WindowsNoEditor\GAME\Binaries\Win32\GAME-Win32-Shipping.exe    4.21.2.0

I don’t want to spam with the rest of the log, but I’m happy to attach if you guys need it.

  • I have tried to check for map errors, and there are none.
  • I have made sure that all relevant plugins are active (from last build that worked)
  • other maps in the game works, its just this specific map that is having issues

Solutions:

  • I’m looking for some guidance on how to resolve this.
  • I’m also looking just for guidance on how I can debug this error. I can’t seem to figure out how to get relevant logs from the crash.

Thanks in advance,

So did you reconnect self to the proper “Scene Root” pin? If not, you’re likely trying to access an object that simply does not exist via that variable.

OneModeOnly - Thanks for your response. I actually didn’t create that blueprint. Unreal created that automatically when I migrated my game to a new project.

In this blueprint, it does not allow me to connect self to the scene root and the only alternative was to disconnect it altogether.

When I delete everything in the map it then loads. Is there a recommended way to figure out the offending item in the map that is causing the crash? It would be useful for me to learn to debug this if someone would be able to guide me.

Totally understandable. The only problem is, you’re setting an object reference variable to nothing. If you try to delete that variable inside of the scene node bp, does it let you, or does it warn you about references? If it warns you, you know that’s at least a problem. Self should work – you’re getting all actors of class “Scene Node” and setting their “Scene Root” variable, from the “Scene Root” BP. You may need to edit your Scene Node and change the type of that variable back to Scene Root Object Reference. That’s logically what would cause your pin to go red in the first place, and why you couldn’t set the variable as “self” in the above example.

I wouldn’t discount any code, whether you created it or not. Even if it’s not the cause of the base issue, it’s at least an issue which will present very erratic (and usually incredibly frustrating) results.

What happens when you use PIE to traverse to that map? Any errors at all?

OMO, no errors or issues when running the map in PIE. I’m literally removing item by item on the map and packaging the game right now to try and figure out what is breaking it. :-\

Also, do you have any idea why unreal drops the FBXImporter folder (with the bp_sceneroot blueprint) in the blueprints folder? I have no idea what is creating this folder or why.

I should add this. I just tested running in standalone game mode - and the editor crashed. I have the dmp file - but again, I’m not sure how to debug an issue using a dmp file.

I don’t have such a folder in any of my projects, so unfortunately I can’t help with any of that. For the sake of troubleshooting, you can disconnect all the logic in “Initialize Maps” (so it literally does nothing) and see if anything different happens. If there is no change, you can disconnect logic in other functions that are ran in that map specifically until the crashes cease. You could likely rule out functions called by other maps since they don’t seem to have that problem, but that’s not always an accurate assumption.

I really don’t know why you’d be seeing that thread error, I have zero experience in that area. The only thing I can take a guess at would be that you’re potentially using multithreading somewhere and a thread is erroneously attempting to access another thread’s load. Any possibility of that?

There are a couple of things which can cause this, the first thing I would try remove the Get All Actors of Class, and ForEachLoop node, and re-create them. It might still require a manual update. Then check if BP Scene Node has a Scene Root, if not make a new get variable from the Array Element and look for the exact variable name which should be in the root of BP Scene Node.