Search Issue Tracker
Fixed in 2020.3.X
Votes
0
Found in
2019.4
2019.4.13f1
Issue ID
1377349
Regression
No
[iOS] App crashes when "Use HDR" in Graphics settings and "Metal API Validation" in Xcode are checked
How to reproduce:
1. Open the attached project ("1377349_2019.4.32f1.zip")
2. Build an Xcode project (File -> Build Settings -> Build)
3. Open the built Xcode project
4. Check the Metal API Validation checkbox (Product -> Scheme -> Edit Scheme)
5. Deploy and run on an iOS 15 device
Reproducible with: 2019.4.32f1
Not reproducible with: 2020.3.19f1, 2020.3.21f1, 2021.1.27f1, 2021.2.1f1, 2022.1.0a13
Reproducible on: iPhone 13 Mini (iOS 15.0)
Not reproducible on: iPad 6th generation, iPhone 8 Plus (iOS 14.4.2)
Note:
- Disabling "Metal API Validation" prevents the crash from occurring
Stack trace:
* thread #33, name = 'UnityGfxDeviceWorker', stop reason = signal SIGABRT
* frame #0: 0x00000001b92e89c4 libsystem_kernel.dylib`__pthread_kill + 8
frame #1: 0x00000001f2cd3434 libsystem_pthread.dylib`pthread_kill + 268
frame #2: 0x000000018d697f64 libsystem_c.dylib`abort + 164
frame #3: 0x000000018d6ee914 libsystem_c.dylib`__assert_rtn + 212
frame #4: 0x000000019caf0c18 Metal`MTLReportFailure.cold.1 + 56
frame #5: 0x000000019cadc5a0 Metal`MTLReportFailure + 476
frame #6: 0x00000001e3b5ed24 MetalTools`-[MTLDebugCommandBuffer lockPurgeableObjects] + 220
frame #7: 0x00000001e3b5e168 MetalTools`-[MTLDebugCommandBuffer preCommit] + 608
frame #8: 0x00000001e3b0d450 MetalTools`-[MTLToolsCommandBuffer commit] + 32
frame #9: 0x00000001067d766c UnityFramework`GfxTaskExecutorMetal::DoExecute(id<MTLCommandBuffer>, MetalContext::CommandBufferCommitType) + 136
frame #10: 0x00000001067d7cf4 UnityFramework`GfxTaskExecutorMetal::Execute(id<MTLCommandBuffer>, MetalContext::CommandBufferCommitType) + 340
frame #11: 0x00000001067cabac UnityFramework`GfxDeviceMetal::ExecuteCommandBuffer(id<MTLCommandBuffer>, MetalContext::CommandBufferCommitType) + 16
frame #12: 0x00000001067de4f8 UnityFramework`MetalContext::CommitCommandBuffer(MetalContext::CommandBufferCommitType) + 152
frame #13: 0x00000001067bfcdc UnityFramework`metal::PrepareEndFrame() + 212
frame #14: 0x00000001067cad28 UnityFramework`GfxDeviceMetal::PresentFrame() + 372
frame #15: 0x0000000105e406e0 UnityFramework`GfxDeviceWorker::RunCommand(ThreadedStreamBuffer&) + 32768
frame #16: 0x00000001067cca48 UnityFramework`GfxDeviceWorkerAutoreleasePoolProxy + 68
frame #17: 0x0000000105e41518 UnityFramework`GfxDeviceWorker::RunExt(ThreadedStreamBuffer&) + 92
frame #18: 0x0000000105e414b0 UnityFramework`GfxDeviceWorker::Run() + 156
frame #19: 0x0000000105e38398 UnityFramework`GfxDeviceWorker::RunGfxDeviceWorker(void*) + 12
frame #20: 0x0000000106461ad8 UnityFramework`Thread::RunThreadWrapper(void*) + 496
frame #21: 0x00000001f2ccda60 libsystem_pthread.dylib`_pthread_start + 148
Comments (1)
-
tzm
May 24, 2022 17:48
Hi, unfortunately. We reappeared on unity version 2020.3.25, xcode version 13.2.1(13C100) , metal api verification is off,
Version distribution:
75%
iOS 15
13%
iOS 14
10%
iPadOS 15
1%
iPadOS 14stack:
0
libsystem_kernel.dylib
__pthread_kill + 8
1
libsystem_pthread.dylib
pthread_kill + 208
2
libsystem_c.dylib
abort + 120
3
IOGPU
-[IOGPUMetalTextureLayout initWithDevice:descriptor:] + 394
4
AGXMetalA10
(缺少 UUID 85f3c688dda9320d844a64b44e5076c8)
5
AGXMetalA10
(缺少 UUID 85f3c688dda9320d844a64b44e5076c8)
6
AGXMetalA10
(缺少 UUID 85f3c688dda9320d844a64b44e5076c8)
7
AGXMetalA10
(缺少 UUID 85f3c688dda9320d844a64b44e5076c8)
8
AGXMetalA10
(缺少 UUID 85f3c688dda9320d844a64b44e5076c8)
9
UnityFramework
MetalContext.mm - Line 408
MetalContext::CreateNewEncoder(MTLRenderPassDescriptor*) + 408
10
UnityFramework
FrameBufferMetal.mm - Line 706
metal::PrepareRenderTargetIfNeeded(GfxDeviceMetalBase&) + 706
11
UnityFramework
GfxDeviceMetal.mm - Line 3841
GfxDeviceMetal::SetRenderTargetsImpl(GfxRenderTargetSetup const&) + 3841
12
UnityFramework
GfxDeviceWorker.cpp - Line 1092
GfxDeviceWorker::RunCommand(ThreadedStreamBuffer&) + 1092
13
UnityFramework
GfxDeviceMetal.mm - Line 5289
GfxDeviceWorkerAutoreleasePoolProxy + 5289
14
UnityFramework
GfxDeviceWorker.cpp - Line 389
GfxDeviceWorker::RunExt(ThreadedStreamBuffer&) + 389
15
UnityFramework
GfxDeviceWorker.cpp - Line 353
GfxDeviceWorker::RunGfxDeviceWorker(void*) + 353
16
UnityFramework
Thread.cpp - Line 81
Thread::RunThreadWrapper(void*) + 81
17
libsystem_pthread.dylib
_pthread_start + 116
18
libsystem_pthread.dylib
thread_start + 8I can also provide more stacks if you need.
Please tell me what happened and how I can fix this crash
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Keywords on Material Variants aren't automatically saved when changed on original Material through Shader Graph
- Light Probes get baked when calling LightProbes.Tetrahedralize
- Shadows flicker and cause visual artifacts when modifying a GameObject's bounds using Swizzle (Y Mask) and Sine Time nodes
- [WebGL] Frame rate drops by 5-20 fps when moving cursor or touch input in the Player
- Light bleeds when using box shaped spotlight with specific Emission Range values
Resolution Note (fix version 2020.3):
Fixed in: 2020.3.19f1