Child Actor Component with Light Crash

I’ve experienced a crash in regards to child actors with a light component with static mobility. This can be used to reproduce the bug:

Initial Setup:

Child Blueprint

  • A Sphere Component as root (Mobility: Movable)
  • A Spotlight Component (Mobility: Movable)

Parent Blueprint

  • A Cube Component as root (Mobility: Movable)
  • A Child Actor Compoent with the “Child Blueprint” as the Child Actor Class (Mobility: Movable)

Now to create the crash: Set the Mobility of the childs light to Stationary (edit: Static works, Stationary does not). This will correctly change the Childs root to Static Mobility but not that of the parent blueprint. Trying to place the Parent Blueprint in a level and playing the level will crash the editor.

Here is the log file of such a crash:

And a test map with this setup:

Workaround: Set the correct mobility on the parent before changing the child mobility.

There is a similar bug report here but I created a new post since this still happens in 4.11.2 and not only in the preview version.

Hi slarti,

Unfortunately, I have not been able to reproduce this on my end with the steps/map provided. Are you compiling the parent blueprint after making changes to the child?

Yes, all components in the parent blueprint are still listed as Movable. But I have a correction to make. Setting the light to Static works, but not to Stationary. Placing the component with the stationary light also (correctly) shows that the light has an error (stationary light, movable parents, see image).

As soon as I hit play (with the in-editor view), the crash happens with the aforementioned error log:

[2016.05.03-05.53.52:665][131]LogWindows:Error: === Critical error: ===
Fatal error: [File:D:\BuildFarm\buildmachine_++UE4+Release-4.11\Engine\Source\Runtime\CoreUObject\Private\UObject\UObjectGlobals.cpp] [Line: 177] 
Illegal call to StaticFindObjectFast() while serializing object data or garbage collecting!

The crash also happens when trying to save the map with the placed parent blueprint.

Also the crash does not happen, when first setting the light to Static, saving/compiling and then setting the light to stationary. Then only an error is logged in the editor which correctly shows the incorrect setup:

PIE:Warning: Warning AttachTo: '/Game/UEDPIE_0_Level.Level:PersistentLevel.ParentBlueprint_72.ChildActor' is not static  (in blueprint "ParentBlueprint"), cannot attach '/Game/UEDPIE_0_Level.Level:PersistentLevel.ChildBlueprint_C_80.Child' which is static to it. Aborting.

Hi slarti,

I was able to reproduce this and have entered a bug report, UE-30275, to be assessed by the development staff.