opa334:找到方法!

科技   2025-01-19 17:20   湖南  

为了解决 A12 及以上设备 iOS 15 系统自旋锁恐慌引起的重启问题,


opa334 操碎了心。


说说近期的一些情况。


说明

本期文章,蓝色文字,点击就可以阅读详细内容。



opa334


今日,

opa334 发文,最近的一些研究心得:


在断断续续尝试解决 iOS 15 arm64e 上的自旋锁恐慌错误(竞态条件)近两年后我终于成功地按需触发了这个错误



附图中,opa334 做了高亮标注。



opa334:

利用这一点,我可以验证我对该问题的所有最新假设都是正确的:D



opa334 表示:

我认为有一种方法可以彻底解决这些问题

即使无法对 DSC 页面进行布线,但这涉及到一个相当复杂的 dyld 钩子。基本上,我需要破坏所有进程共享同一共享区域页表的优化方案。这样做会使内存消耗情况更糟一些,但至少系统应该是稳定的。



关于随机重启


说说多巴胺越狱后出现自旋锁恐慌引起随机重启的问题。


会出现问题的范围

A12 及以上设备 iOS 15 系统


不会出现问题的范围

1,iOS 16 及以上系统

2,A11 及以下设备。


2023年5月份,

opa334 在发布多巴胺越狱第一个正式版的时候,就表示:

多巴胺修复了 Fugu15 Max 的所有已知问题,

除了自旋锁恐慌 Spinlock Panic。



Spinlock

自旋锁

是一种基于忙等待的锁机制,通常用于操作系统内核中的多线程程序中,以实现对共享资源的访问控制。它的实现方式是当一个线程需要访问被自旋锁保护的共享资源时,如果锁已经被其他线程占用,那么该线程就会不断地循环检查锁的状态,直到锁被释放为止。


Spinlock Panic 

自旋锁恐慌引起随机重启

是因为自旋锁而导致的内核崩溃,设备重启。

举个例子,

两个进程都需要使用一个文件,

A 进程使用的时候锁定文件,B进行就不能使用;

B 使用的时候锁定文件,A就不能使用。

如此循环。

当B进程在等待使用的过程超时了,发生内核崩溃,就是自旋锁恐慌。


opa334 表示,

不知道是什么原因造成的

自旋锁恐慌应该是系统本身的问题,

只是越狱后,安装了插件,增加了发生自旋锁恐慌的几率。


当自旋锁恐慌发生,

可能会导致系统的性能急剧下降,出现卡住。

甚至导致系统崩溃,直接出现重启。


如何查看


当出现无缘无故的重启,

怎样查看是不是自旋锁恐慌引起的呢?


打开手机设置 → 隐私与安全性→ 分析与改进 → 分析数据,

在日志中,

搜索日期,例如:05-03,

或者搜索:panic,

可以找到 panic-full-开头的文件,点击进入查看,

在文件中,panicString 一栏,

可以看到明显的 Spinlock 字样,

这个情况的重启就是遇到自旋锁恐慌引起的了。

每个日志文件,标注了具体时间,可以知道自旋锁恐慌发生的准确时间。


历史图片


当遇到自旋锁恐慌引起重启,

可以根据个人情况,排查一下插件。

卸载一些或许会引起问题的插件,减少触发随机重启的频率。



写在最后


为了解决 A12 及以上设备 iOS 15 系统自旋锁恐慌引起的重启问题,

opa334 断断续续研究两年多了,现在还为之努力


目前 opa334 可以按需触发自旋锁恐慌,似乎找到了一些解决的方法。


截稿时,op334 尚未发布新版,大家请耐心等待。


大家留言说说看,


具体是多少系统呢?使用多巴胺什么版本呢?越狱后稳定吗?


遇到过无缘无故重启的问题吗?


关注微信公众号:
艾橙互动
在相关专题查看更多精彩内容

永久签名             iOS 16 越狱

艾橙互动
TrollStore 永久签名,巨魔相关,有趣 IPA,巨魔注入,iOS 越狱,精品插件,插件合集,下载神器,应用推荐,精品限免,TestFlight 大全,实用技巧,屏蔽更新。让数字生活更快乐!
 最新文章