苹果macOS曝出离奇Bug,运行49.7天必崩!
全版本无一幸免!
以稳定著称的Mac,居然出问题了。
Photon团队披露了一个藏在macOS内核里的惊天大bug。
当Mac连续运行超过49天17小时2分47秒,网络就直接完蛋,而且这种网络瘫痪悄无声息到离谱。

发现这个bug的过程本身就很有戏剧性。
Photon团队的工程师们用Mac集群监控iMessage服务,结果某天几台机器突然就装死了,任何新网络连接都拒绝。
但诡异的是,用ping命令去探测它,它居然还正常响应,已经建立的连接也都稳如老狗。
工程师们看到这情况估计内心是崩溃的,表面上网络好像没问题,实际上已经是个假死状态了,排查起来简直就是噩梦模式。

问题出在macOS内核里一个叫tcp_now的计时器身上。
这个计时器是个32位整数,从按下开机键开始,就以毫秒为单位默默数着日子。
但32位整数的上限是4,294,967,295,换算过来刚好是49.7天。
到了这个时间点,计数器就会溢出归零,等于系统的时间认知出现了错乱。
更坑的是,macOS内核里还有一个保护机制,确保时间只能往前走,结果溢出之后新值反而比旧值小,保护机制就把计数器彻底冻结了。
时钟一旦冻结,那些应该被清理的TCP连接就永远留在系统里,临时端口被慢慢吃光,最后新连接就再也建不起来了。

说白了,这又是一个经典的整数溢出问题。
Photon团队明确指出,苹果的内核实现根本没有正确遵循RFC 7323标准来处理这种溢出情况,导致时间比较逻辑直接翻车。
而且这个问题至少从macOS Catalina 10.15开始就一直存在,所有后续版本全部中招,连Mac Studio都没能幸免。
Linux和FreeBSD这些系统早八百年就把计数器升级成64位了,苹果却让这个bug苟了这么多年。

不过普通Mac用户先别慌。
说实话,我们日常用电脑,谁能连续49天不关机?
中间苹果系统更新推过来,一个重启就把计时器重置了。
真正遭重的是那些把Mac当服务器用的场景,比如Mac mini被拿去24小时不间断跑服务,或者视频渲染农场里全年无休的Mac工作站,这种场景下49.7天就是精准触发。
有工程师甚至吐槽说,我们爱Mac的硬件和生态,但每次想把它当正经服务器用,总能收获这种意外的惊喜。
目前苹果官方还没发布补丁,唯一的办法就是老老实实在49天之内重启一次系统。
业界预计苹果应该很快就会推送更新修复,但在那之前,长期跑Mac服务器的管理员们只能默默设置一个49天闹钟了。

最后,32位毫秒计数器的极限49.7天确实是个计算机科学里的经典数字,Windows 98当年也栽在同一个坑里蓝屏过。
点个关注吧
💬 本文评论区已开启,但暂无读者留言。
本文转载自微信公众号,如有侵权请联系删除。
- 标题: 苹果macOS曝出离奇Bug,运行49.7天必崩!
- 作者: lxiol
- 创建于 : 2026-04-29 20:21:16
- 更新于 : 2026-04-29 20:21:16
- 链接: https://blog.lxiol.cn/2026/04/29/苹果macOS曝出离奇Bug运行497天必崩/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。