金属 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的主要内容,如果未能解决你的问题,请参考以下文章

金属着色器纹理读取与示例

Linux系统裸金属环境下部署prometheus监控

使用金属顶点和片段着色器将 MTLTexture 传递给 SCNProgram

如何在 GFlops 中估计 OpenGL ES 着色器/金属性能

金属版 CIFilter 是不是可用于 A7 处理器

Spotify Windows 应用程序使用哪些 GUI 库?漂亮的金属无边框外观?