我应该如何处理 libSystem.B.dylib 的 fsync 异常?

发布于 2024-10-19 07:29:32 字数 1517 浏览 1 评论 0原文

我收到了带有此堆栈跟踪的崩溃报告:

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x00000000, 0x00000000
Crashed Thread:  1

Thread 0:
0   libSystem.B.dylib  0x30d2ac98 fsync + 8
1   libsqlite3.dylib   0x3617b52a _sqlite3_purgeEligiblePagerCacheMemory + 1626
2   libsqlite3.dylib   0x3617b54e _sqlite3_purgeEligiblePagerCacheMemory + 1662
3   libsqlite3.dylib   0x36172824 sqlite3_db_status + 1072
4   libsqlite3.dylib   0x3619c5dc sqlite3_create_function16 + 38176
5   libsqlite3.dylib   0x3619c63c sqlite3_create_function16 + 38272
6   libsqlite3.dylib   0x3619cc50 sqlite3_create_function16 + 39828
7   libsqlite3.dylib   0x361b0d96 fts3DbExec + 21826
8   libsqlite3.dylib   0x36171de4 sqlite3_step + 56
9   DesignScene        0x0000d750 -[FMDatabase executeUpdate:withArgumentsInArray:orVAList:] (FMDatabase.m:488)

耻辱地获得 fsync 异常,但糟糕的事情发生了,对吗?我的问题是,我应该如何最好地处理这个异常?将其包装在 @try/@catch 块中?


更新: 崩溃发生在线程 1 中。这是线程 1 的完整跟踪:

Thread 1 Crashed:
0   libSystem.B.dylib               0x30d30974 kevent + 24
1   libSystem.B.dylib               0x30dda704 _dispatch_mgr_invoke + 88
2   libSystem.B.dylib               0x30dda174 _dispatch_queue_invoke + 96
3   libSystem.B.dylib               0x30dd9b98 _dispatch_worker_thread2 + 120
4   libSystem.B.dylib               0x30d7e24a _pthread_wqthread + 258
5   libSystem.B.dylib               0x30d76970 start_wqthread + 0

我只能说,WTF?难道这里出现了某种奇怪的系统问题?因为我在该跟踪中没有看到任何我自己的代码。

I got a crash report with this stack trace:

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x00000000, 0x00000000
Crashed Thread:  1

Thread 0:
0   libSystem.B.dylib  0x30d2ac98 fsync + 8
1   libsqlite3.dylib   0x3617b52a _sqlite3_purgeEligiblePagerCacheMemory + 1626
2   libsqlite3.dylib   0x3617b54e _sqlite3_purgeEligiblePagerCacheMemory + 1662
3   libsqlite3.dylib   0x36172824 sqlite3_db_status + 1072
4   libsqlite3.dylib   0x3619c5dc sqlite3_create_function16 + 38176
5   libsqlite3.dylib   0x3619c63c sqlite3_create_function16 + 38272
6   libsqlite3.dylib   0x3619cc50 sqlite3_create_function16 + 39828
7   libsqlite3.dylib   0x361b0d96 fts3DbExec + 21826
8   libsqlite3.dylib   0x36171de4 sqlite3_step + 56
9   DesignScene        0x0000d750 -[FMDatabase executeUpdate:withArgumentsInArray:orVAList:] (FMDatabase.m:488)

Shame to get an fsync exception, but shit happens, right? My question is, how best should I handle this exception? Wrap it in a @try/@catch block?


Update: The crash was in thread 1. Here's the complete trace from Thread 1:

Thread 1 Crashed:
0   libSystem.B.dylib               0x30d30974 kevent + 24
1   libSystem.B.dylib               0x30dda704 _dispatch_mgr_invoke + 88
2   libSystem.B.dylib               0x30dda174 _dispatch_queue_invoke + 96
3   libSystem.B.dylib               0x30dd9b98 _dispatch_worker_thread2 + 120
4   libSystem.B.dylib               0x30d7e24a _pthread_wqthread + 258
5   libSystem.B.dylib               0x30d76970 start_wqthread + 0

All I can say is, WTF? Could there have been some sort of weird system issue here? ’Cause I don't see any of my own code in that trace.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

九厘米的零° 2024-10-26 07:29:32

我认为这是 iOS 的系统级异常。对此没什么可做的。奇怪的事情发生了,对吧?

I think this was a system-level exception from iOS. Not much to be done about it. Freakish stuff happens, right?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文