Image: satomi generated with Copilot|AIに頼んだら、やけに派手な絵になったけど、接続切れになるバグです

通信機器側の問題じゃないので要注意。

macOSのネットワークコードに、重大なバグが見つかりました。49日17時間2分47秒でカウンターがいっぱいになって(オーバーフロー)、何の事前警告もないまま接続が落ちるバグです。

ソフトウェア開発のPhotonがブログに公開した詳細によると、50日連続使用しないと出ない症状なので、普通の開発フローを素通りしてまう厄介なバグみたい。結論にはこう書かれていますよ。

OSのテストでもコードのレビューでもフラグが立ちにくい。

仮に見つかったとしても、接続や通信機器側の問題と間違えられてしまう。

49日連続使用のパソコンを診断して、なおかつ「2³²ミリ秒=49.7日」と気づいて初めて解ける謎。

当社では、社内の複数のサーバーでバグの再現にも成功した。オーバーフロー発生前は、IME_WAITが正常に期限切れになって解放されていた(0〜13エントリー)のに、オーバーフロー発生後、TIME_WAITが解放されず数千単位で溜まり、tcp_nowがフリーズして、カーネルのTCPクロックが停止。ほかは全部正常に見えてるのに、そのうちポートがいっぱいになる現象が起こるのだ。

macOS対応のパソコンをずっと起動しっ放しで使う人は「49日17時間2分47秒」、この数字だけ忘れないで。

再起動するより修正したほうがいいので取り組み中だが、修正方法が見つかるまでは、期限前に再起動するよう各自タイマーをセットしよう。

なんか調子おかしいな?という人もそうでない人も、Macは月1くらいで再起動。とりあえず習慣にしたいですね。

Sources: Photon via BigGo

【こちらもおすすめ】
GIZMODO テック秘伝の書
1,650円
Amazonで見る
PR