我们在iOS端抓到了一个崩溃,APPLE-IOS-JJ 目前 1 次、release 1.5.5+267。完整 native 调用链全部位于 WFChatClient.framework:
MessageQueue::RunLoop -> LongLinkTaskManager::__OnResponse -> ModifyUserSettingPublishCallback::onSuccess -> MessageDB::UpdateUserSettings -> wfsqlite3_step -> pcache1FetchStage2。
现象
iOS production / com.fchat.foxchat@1.5.5+267 最近 5 小时新增:
Sentry:APPLE-IOS-JJ
异常:EXC_BAD_ACCESS / KERN_INVALID_ADDRESS at 0x16
事件数:1 次 fatal
环境:iPhone18,2 / iOS 26.5.1
关键 native 链路:
ModifyUserSettingPublishCallback::onSuccess → MessageDB::UpdateUserSettings → RecyclableStatement::executeInsert → wfsqlite3_step → sqlite3VdbeExec → getPageNormal → pcache1FetchStage2
初步判断
Mars/WFChatClient 在更新用户设置时访问 SQLite page cache 发生非法内存访问。可能涉及数据库连接或 statement 已释放、并发关闭/写入、page cache 损坏,或 SDK 内部 use-after-free。
ai分析后说这是 WildFire MessageDB/内置 SQLite page cache 的无效地址访问,业务层没有可直接修改的 frame。 需要Mars 内部:让 MessageDB/DB2 的所有入口统一进入一条串行数据库队列,包括 business.o、stn_callback.o、UI 查询、事务以及关闭操作;statement 创建、执行、销毁必须全部在该队列完成。
麻烦给mars.framework做下修复
我们在iOS端抓到了一个崩溃,APPLE-IOS-JJ 目前 1 次、release 1.5.5+267。完整 native 调用链全部位于 WFChatClient.framework:
MessageQueue::RunLoop -> LongLinkTaskManager::__OnResponse -> ModifyUserSettingPublishCallback::onSuccess -> MessageDB::UpdateUserSettings -> wfsqlite3_step -> pcache1FetchStage2。
现象
iOS production / com.fchat.foxchat@1.5.5+267 最近 5 小时新增:
Sentry:APPLE-IOS-JJ
异常:EXC_BAD_ACCESS / KERN_INVALID_ADDRESS at 0x16
事件数:1 次 fatal
环境:iPhone18,2 / iOS 26.5.1
关键 native 链路:
ModifyUserSettingPublishCallback::onSuccess → MessageDB::UpdateUserSettings → RecyclableStatement::executeInsert → wfsqlite3_step → sqlite3VdbeExec → getPageNormal → pcache1FetchStage2
初步判断
Mars/WFChatClient 在更新用户设置时访问 SQLite page cache 发生非法内存访问。可能涉及数据库连接或 statement 已释放、并发关闭/写入、page cache 损坏,或 SDK 内部 use-after-free。
ai分析后说这是 WildFire MessageDB/内置 SQLite page cache 的无效地址访问,业务层没有可直接修改的 frame。 需要Mars 内部:让 MessageDB/DB2 的所有入口统一进入一条串行数据库队列,包括 business.o、stn_callback.o、UI 查询、事务以及关闭操作;statement 创建、执行、销毁必须全部在该队列完成。
麻烦给mars.framework做下修复