Chess.com のiPhone版が32bitオーバーフローで動かなくなる

オンラインのチェス対局コミュニティChess.comのスマートフォン版が、プログラムのバグによって動かなくなる事件が発生していたそうです。

13日に公式フォーラムでiOS版ユーザーから「動かない」という声が上がりはじめ、開発チームが調査したところ、これまでにchess.com 上でプレイされたゲーム回数が 21億回を超えていたことが判明。正確には 2,147,483,647 回越えで、プログラマーならピンとくると思いますが、2^31, 符号付き32bit整数の最大値です。

サイト全体が動かなくなったのではなく、2013年以前のiPhoneを使っているユーザーだけに不具合が起こっていたので、運営もなかなか気づけなかったということ。運営ではみんなが新しいiPhoneを使っていたんですね。

32bit版のiOSを使う古いiPhone や iPad では、chess.com サーバから送られてきた JSON の解釈が、なぜか元と異なる値になってしまっていた、と。

開発チームは、クライアント側の修正とサーバ側の修正の2案を用意しましたが、テストチームのテストを通した後、ハック的でその場しのぎなサーバ側の修正は反映せず、Appleのアップストア側のアプリを新バージョンに更新することで修正としたそうです。

記念すべきオーバーフローを最初に引き起こした対局がこちら

Hacker News やIT系のニュースで多く取り上げられたことで、「これまでの対局が21億回もある」という点がクロースアップされ、サイト的には良い宣伝にもなったようです。

via Hacker News

「Chess.com のiPhone版が32bitオーバーフローで動かなくなる」への1件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。