金属 MTLGetWarningMode + 218 SIGABRT ABORT
Posted
技术标签:
【中文标题】金属 MTLGetWarningMode + 218 SIGABRT ABORT【英文标题】:Metal MTLGetWarningMode + 218 SIGABRT ABORT 【发布时间】:2021-07-31 14:49:31 【问题描述】:我有这个错误,被 Crashlytics、Flutter、ios 捕获: 崩溃:io.flutter.1.io SIGABRT 中止 0x00000001b624d414
完整的错误文本是:
Crashed: io.flutter.1.io
0 libsystem_kernel.dylib 0x1b624d414 __pthread_kill + 8
1 libsystem_pthread.dylib 0x1d3da8b50 pthread_kill + 272
2 libsystem_c.dylib 0x19172bb74 abort + 104
3 Metal 0x19eb219d4 MTLGetWarningMode + 218
4 IOGPU 0x1c5828490 -[IOGPUMetalCommandBuffer pushDebugGroup:] + 242
5 Metal 0x19eb11990 -[_MTLCommandEncoder initWithCommandBuffer:] + 884
6 IOGPU 0x1c582a140 -[IOGPUMetalCommandEncoder initWithCommandBuffer:] + 56
7 AGXMetalA13 0x1d54462b4 (Missing)
8 AGXMetalA13 0x1d5189770 (Missing)
9 Flutter 0x101c39b00 (Missing)
10 Flutter 0x101c3c9bc (Missing)
11 Flutter 0x101b42d84 (Missing)
12 Flutter 0x101b5596c (Missing)
13 Flutter 0x101b4ec70 (Missing)
14 Flutter 0x101b6c7b8 (Missing)
15 Flutter 0x101b4e830 (Missing)
16 Flutter 0x101b27458 (Missing)
17 Flutter 0x101becedc (Missing)
18 Flutter 0x101dbfc10 (Missing)
19 Flutter 0x101c9dfc4 (Missing)
20 Flutter 0x101c9fe24 (Missing)
21 CoreFoundation 0x188279fa0 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 32
22 CoreFoundation 0x188279ba0 __CFRunLoopDoTimer + 1064
23 CoreFoundation 0x188278ffc __CFRunLoopDoTimers + 328
24 CoreFoundation 0x188272ee4 __CFRunLoopRun + 1936
25 CoreFoundation 0x18827221c CFRunLoopRunSpecific + 600
26 Flutter 0x101c9fd00 (Missing)
27 Flutter 0x101c9f704 (Missing)
28 libsystem_pthread.dylib 0x1d3da7cb0 _pthread_start + 320
29 libsystem_pthread.dylib 0x1d3db0778 thread_start + 8
crash_info_entry_0
abort() called
当我使用后台位置更新(包 background_location:^0.4.3)来确定用户位置并在颤振地图上显示位置时,会发生此错误(颤振地图:^0.12.0)。 有没有人知道这个错误意味着什么,以及如何解决/避免它?感谢您的帮助!
【问题讨论】:
这个错误只是在生产中发生? 是的!仅在生产模式下,在模拟器上我无法重现它 Flutter github 有一个 issue open with this error,您可以订阅它以接收更新,但根据我的经验,我们没有用户报告此错误,只有 crashlytics 信息。 【参考方案1】:就在今天我也遇到了和你一样的问题。目前看来是Flutter SDK引起的。好像官方还没有找到具体的解决办法。您可以从这里跟踪问题。 https://github.com/flutter/flutter/issues/76772
【讨论】:
【参考方案2】:同样的事情发生在我身上。非常奇怪,无法重现或调查。
Crashed: io.flutter.1.raster
0 libsystem_kernel.dylib 0x7964 __pthread_kill + 8
1 libsystem_pthread.dylib 0x7378 pthread_kill + 268
2 libsystem_c.dylib 0x1ff50 abort + 164
3 Metal 0xbe390 MTLGetWarningMode + 218
4 IOGPU 0x3ba8 IOGPUResourceGetClientShared + 242
5 Metal 0x146b0 -[_MTLCommandEncoder initWithCommandBuffer:] + 884
6 IOGPU 0x5824 -[IOGPUMetalCommandEncoder initWithCommandBuffer:] + 56
7 AGXMetalA13 0x108604 (Missing)
8 AGXMetalA13 0x36c6c (Missing)
9 Flutter 0x283418 (Missing)
10 Flutter 0x28a508 (Missing)
11 Flutter 0x287028 (Missing)
12 Flutter 0x21fdc8 (Missing)
13 Flutter 0x1877ac (Missing)
14 Flutter 0x187b98 (Missing)
15 Flutter 0x5566c (Missing)
16 Flutter 0x4f9264 (Missing)
17 Flutter 0x47e548 (Missing)
18 Flutter 0x3b46f4 (Missing)
19 Flutter 0x3b4c10 (Missing)
20 Flutter 0x2ec858 (Missing)
21 Flutter 0x3b4308 (Missing)
22 Flutter 0x3b5c40 (Missing)
23 Flutter 0x3b4ec4 (Missing)
24 Flutter 0x3bd304 (Missing)
25 Flutter 0x2eb0c8 (Missing)
26 Flutter 0x2ee694 (Missing)
27 CoreFoundation 0xae268 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 32
28 CoreFoundation 0x32c40 __CFRunLoopDoTimer + 1076
29 CoreFoundation 0x2d43c __CFRunLoopDoTimers + 328
30 CoreFoundation 0xbc58 __CFRunLoopRun + 1944
31 CoreFoundation 0x1f3b8 CFRunLoopRunSpecific + 600
32 Flutter 0x2ee560 (Missing)
33 Flutter 0x2edd20 (Missing)
34 libsystem_pthread.dylib 0x19a4 _pthread_start + 148
35 libsystem_pthread.dylib 0xea0 thread_start + 8
【讨论】:
以上是关于金属 MTLGetWarningMode + 218 SIGABRT ABORT的主要内容,如果未能解决你的问题,请参考以下文章
使用金属顶点和片段着色器将 MTLTexture 传递给 SCNProgram