说说近期的一些消息。
opa334 发文表示:
放弃解决自旋锁恐慌引起的重启问题。
说明:
本期文章,蓝色文字,点击就可以阅读详细内容。
▍opa334
近日,
opa334 发文表示:
像往常一样,这种变通方法没有奏效。
我认为原因是我的 "共享缓存锁定 "解决方案没有完全奏效,因为我遇到了一次内核试图在一个本应被锁定的页面中出错的恐慌。这让人很恼火,因为如果有这种能力,我相信它是可行的,但我看不到有任何方法可以正确地对 DSC 页面进行布线,甚至根据 XNU 中的注释,对可执行页面进行布线似乎也是完全不可能的。
因此,我想我还是放弃了。
发布 2.3.1 版时既不采用这种解决方法,也不集成 oldabi,
就这样放弃这个问题。
反正在这个问题上已经浪费了太多时间。
点击查看大图
长按翻译
▍努力过很多次
为了解决 A12 及以上设备 iOS 15 系统自旋锁恐慌引起的重启问题,
opa334 努力过很多次。
但是最终结果一致:确认不起作用!
苦心孤诣研究许久,
往往无功而返,
opa334 每次都会灰心地说:放弃。
这已经说过过很多次了。
可是,每当有了新的思路,opa334 总是默默地又开始研究。想着有一天可以解决问题,让越狱工具更完善。
历史图片
▍关于重启问题
说说多巴胺越狱出现无缘无故重启的情况。
出现随机重启的范围:
A12 及以上设备 iOS 15 系统。
这些不会出现:
1,iOS 16 及以上系统,不会出现这个问题。
2,A11 及以下设备,不会出现这个问题。
opa334 在发布多巴胺越狱第一个正式版的时候,
曾经表示:
多巴胺修复了 Fugu15 Max 的所有已知问题,
除了自旋锁恐慌 Spinlock Panic。
Spinlock
自旋锁
是一种基于忙等待的锁机制,通常用于操作系统内核中的多线程程序中,以实现对共享资源的访问控制。它的实现方式是当一个线程需要访问被自旋锁保护的共享资源时,如果锁已经被其他线程占用,那么该线程就会不断地循环检查锁的状态,直到锁被释放为止。
Spinlock Panic
自旋锁恐慌引起随机重启
是因为自旋锁而导致的内核崩溃,设备重启。
举个例子,
两个进程都需要使用一个文件,
A 进程使用的时候锁定文件,B进行就不能使用;
B 使用的时候锁定文件,A就不能使用。
如此循环。
当B进程在等待使用的过程超时了,发生内核崩溃,就是自旋锁恐慌。
opa334 表示,
不知道是什么原因造成的,也无法重现。
自旋锁恐慌应该是系统本身的问题,
只是越狱后,安装了插件,增加了发生自旋锁恐慌的几率。
当自旋锁恐慌发生,
可能会导致系统的性能急剧下降,出现卡住。
甚至导致系统崩溃,直接出现重启。
当出现无缘无故的重启,
怎样查看是不是自旋锁恐慌引起的呢?
打开手机设置 → 隐私与安全性→ 分析与改进 → 分析数据,
在日志中,
搜索日期,例如:05-03,
或者搜索:panic,
可以找到 panic-full-开头的文件,点击进入查看,
在文件中,panicString 一栏,
可以看到明显的 Spinlock 字样,
这个情况的重启就是遇到自旋锁恐慌引起的了。
每个日志文件,标注了具体时间,可以知道自旋锁恐慌发生的准确时间。
历史图片
当遇到自旋锁恐慌引起重启,
可以根据个人情况,排查一下插件。
卸载一些或许会引起问题的插件,减少触发随机重启的频率。
大家留言说说看,
具体是多少系统呢?使用多巴胺什么版本呢?越狱后稳定吗?
遇到过无缘无故重启的问题吗?