Description

Application crashes when deploying a game to iOS with Metal enabled. This has only been reproduced if a sub-level has been added to the starting level within the project.

This seems to only happen on iOS 9.0+. I tested this on an iPhone 5S 9.3.1 and still experienced the crash.


GPU crash:

May 19 11:16:51 a3586 kernel[0] <Notice>: AGX: Firmware detected lockup (0) (pid=5792)
May 19 11:16:51 a3586 kernel[0] <Notice>: AGXk: agxk_3d_channel.cpp:555:getHardwareDiagnosisReport: 3D channel timeout. Dumping registers:
May 19 11:16:51 a3586 kernel[0] <Notice>: AGXk: agxk_channel.cpp:461:restart:
May 19 11:16:51 a3586 kernel[0] <Notice>: Pruning events for channel (stamp_idx=127):
May 19 11:16:51 a3586 kernel[0] <Notice>: AGXk: agxk_channel.cpp:469:restart: Ring is empty and all finished. Nothing to do.
May 19 11:16:51 a3586 kernel[0] <Notice>: AGXk: agxk_channel.cpp:461:restart:
May 19 11:16:51 a3586 kernel[0] <Notice>: Pruning events for channel (stamp_idx=65):
May 19 11:16:51 a3586 kernel[0] <Notice>: AGXk: agxk_channel.cpp:490:restart: - flagging context <ptr> on entry <ptr> as guilty for HW restart
May 19 11:16:51 a3586 kernel[0] <Notice>: AGXk: agxk_channel.cpp:461:restart:
May 19 11:16:51 a3586 kernel[0] <Notice>: Pruning events for channel (stamp_idx=64):
May 19 11:16:51 a3586 kernel[0] <Notice>: AGXk: agxk_channel.cpp:469:restart: Ring is empty and all finished. Nothing to do.
May 19 11:16:51 a3586 kernel[0] <Notice>: AGXk: agxk_channel.cpp:461:restart:
May 19 11:16:51 a3586 kernel[0] <Notice>: Pruning events for channel (stamp_idx=127):
May 19 11:16:51 a3586 kernel[0] <Notice>: AGXk: agxk_channel.cpp:469:restart: Ring is empty and all finished. Nothing to do.
May 19 11:16:51 a3586 kernel[0] <Notice>: AGXk: agxk_channel.cpp:461:restart:
May 19 11:16:51 a3586 kernel[0] <Notice>: Pruning events for channel (stamp_idx=1):
May 19 11:16:51 a3586 kernel[0] <Notice>: AGXk: agxk_channel.cpp:469:restart: Ring is empty and all finished. Nothing to do.
May 19 11:16:51 a3586 kernel[0] <Notice>: AGXk: agxk_channel.cpp:461:restart:
May 19 11:16:51 a3586 kernel[0] <Notice>: Pruning events for channel (stamp_idx=0):
May 19 11:16:51 a3586 kernel[0] <Notice>: AGXk: agxk_channel.cpp:469:restart: Ring is empty and all finished. Nothing to do.
May 19 11:16:51 a3586 kernel[0] <Notice>: GPU hang: Firmware Detected Lockup
May 19 11:16:51 a3586 kernel[0] <Notice>: Trying restart GPU ...
May 19 11:16:51 a3586 UE4Game[5792] <Warning>: [2016.05.19-15.16.51:522][ 0]LogLoad: Took 0.883685 seconds to LoadMap(/Game/FirstPersonBP/Maps/FirstPersonExampleMap)
May 19 11:16:51 a3586 UE4Game[5792] <Warning>: [2016.05.19-15.16.51:556][ 0]LogExternalProfiler: No external profilers were discovered. External profiling features will not be available.
May 19 11:16:54 a3586 kernel[0] <Notice>: 000002
May 19 11:16:54 a3586 kernel[0] <Notice>: AGX_CR_FNDR_VCM_PERF_STATE_CONTROL = 0x00000001
May 19 11:16:54 a3586 kernel[0] <Notice>: AGX_CR_FNDR_VCM_PERFORMANCE_NEXT_STATE = 0x00000000
May 19 11:16:54 a3586 kernel[0] <Notice>: ===================================
May 19 11:16:54 a3586 kernel[0] <Notice>: Firmware Addresses:
May 19 11:16:54 a3586 kernel[0] <Notice>: ===================
May 19 11:16:54 a3586 kernel[0] <Notice>: TA_RING_STATUS 0xc02471c0 TA_RING 0xc02472c0 TA_RINGENTRY_SIZE(dwords) 0x4
May 19 11:16:54 a3586 kernel[0] <Notice>: 3D_RING_STATUS 0xc0247200 3D_RING 0xc02482c0 3D_RINGENTRY_SIZE(dwords) 0x4
May 19 11:16:54 a3586 kernel[0] <Notice>: CL_RING_STATUS 0xc0247240 CL_RING 0xc02492c0 CL_RINGENTRY_SIZE(dwords) 0x4
May 19 11:16:54 a3586 kernel[0] <Notice>: DEVICE_RING_STATUS 0xc0247280 DEVICE_RING 0xc024a2c0 DEVICE_RINGENTRY_SIZE(dwords) 0x4
May 19 11:16:54 a3586 kernel[0] <Notice>: -----
May 19 11:16:54 a3586 kernel[0] <Notice>: DataMaster:
May 19 11:16:54 a3586 kernel[0] <Notice>: TA 0x500942c0
May 19 11:16:54 a3586 kernel[0] <Notice>: 3d 0x50094640
May 19 11:16:54 a3586 kernel[0] <Notice>: CL 0x50094a40
May 19 11:16:54 a3586 kernel[0] <Notice>: -----
May 19 11:16:54 a3586 kernel[0] <Notice>: TA State 0x500944c4 SubState 0x500944c8
May 19 11:16:54 a3586 kernel[0] <Notice>: 3D State 0x50094854
May 19 11:16:54 a3586 kernel[0] <Notice>: CL State 0x50094c40
May 19 11:16:54 a3586 kernel[0] <Notice>: -----
May 19 11:16:54 a3586 kernel[0] <Notice>: TA Submit List 0x500944e4 Size: 84 (dwords)
May 19 11:16:54 a3586 kernel[0] <Notice>: 3D Submit List 0x50094874 Size: 84 (dwords)
May 19 11:16:54 a3586 kernel[0] <Notice>: CL Submit List 0x50094c5c Size: 84 (dwords)
May 19 11:16:54 a3586 kernel[0] <Notice>: AGXk: agxk_event_machine.cpp:193:forceCompleteAllStamps: void AGXEventMachine::forceCompleteAllStamps() - Updated stamp 65 (0 -> 1)
May 19 11:16:54 a3586 kernel[0] <Notice>: AGXk: agxk_restart_report.cpp:145:finish: void AGXRestartReport::finish(): Could not send GPUResetReport to CrashReporter (kr=268435459)
May 19 11:16:54 a3586 kernel[0] <Notice>: GPU restart complete.
May 19 11:16:54 a3586 UE4Game[5792] <Warning>: Assertion failed: CompletedBuffer.status != MTLCommandBufferStatusError [Link Removed] [Line: 45]
Command Buffer SlateUI Failed with Timeout Error! Error Domain: MTLCommandBufferErrorDomain Code: 2 Description Caused GPU Hang Error (IOAF code 3) Unknown Unknown

Steps to Reproduce

1. Download project: [Link Removed]
or
1. Install a clean UE4 4.11.2 from the launcher.
2. Create a project from the BP First Person template, with the "Mobile/Tablet", "Maximum Quality" and "No starter content" options.
3. Create an empty level somewhere in the project.
4. With the default level open (FirstPersonExampleMap), add the newly created empty level to the level list (by simply dragging it onto the list), so that it becomes a sub-level of the default level.
5. In the options for the newly added sub-level, select the "Initially Loaded" and "Initially Visible" options.
6. Save the project.
7. Setup a bundle identifier, provisioning profile and certificate for development builds.
8. In Project Launcher, create a custom Launch Profile with Build = disabled, Cook = by the book (only iOS), Package = do not package, Deploy = Copy to device, Launch = do not launch. Leave default values for other options.
9. Use the created Launch Profile to deploy the project to a device.
10. Launch the build on the device - observe the crash during the startup sequence (while the splash screen is displayed).

Have Comments or More Details?

Head over to the existing Questions & Answers thread and let us know what's up.

1
Login to Vote

Fixed
ComponentTools
Affects Versions4.11.24.12
Target Fix4.13
Fix Commit3078006
Main Commit3092051
Release Commit3078006
CreatedMay 16, 2016
ResolvedAug 4, 2016
UpdatedSep 16, 2019