<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>32bit on akky@サイボウズラボ・ブログ</title>
		<link>https://labs.cybozu.co.jp/blog/akky/tags/32bit/</link>
		<description>Recent content in 32bit on akky@サイボウズラボ・ブログ</description>
		<generator>Hugo</generator>
		<language>ja</language>
		
		
		
		
			<lastBuildDate>Fri, 16 Jun 2017 00:00:00 +0000</lastBuildDate>
		
			<atom:link href="https://labs.cybozu.co.jp/blog/akky/tags/32bit/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Chess.com のiPhone版が32bitオーバーフローで動かなくなる</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2017/06/chess-com-iphone-app-stopped-by-32bit-overflow/</link>
				<pubDate>Fri, 16 Jun 2017 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2017/06/chess-com-iphone-app-stopped-by-32bit-overflow/</guid>
				<description>&lt;p&gt;オンラインのチェス対局コミュニティ&lt;a href=&#34;https://www.chess.com/&#34;&gt;Chess.com&lt;/a&gt;のスマートフォン版が、プログラムのバグによって動かなくなる事件が発生していたそうです。&lt;/p&gt;&#xA;&lt;p&gt;13日に公式フォーラムでiOS版ユーザーから&lt;a href=&#34;https://www.chess.com/forum/view/general/impossible-de-jouer-depuis-deux-jours-quel-est-le-probleme&#34;&gt;「動かない」という声が上がりはじめ&lt;/a&gt;、開発チームが調査したところ、これまでにchess.com 上でプレイされたゲーム回数が 21億回を超えていたことが判明。正確には 2,147,483,647 回越えで、プログラマーならピンとくると思いますが、2^31, 符号付き32bit整数の最大値です。&lt;/p&gt;&#xA;&lt;p&gt;サイト全体が動かなくなったのではなく、2013年以前のiPhoneを使っているユーザーだけに不具合が起こっていたので、運営もなかなか気づけなかったということ。運営ではみんなが新しいiPhoneを使っていたんですね。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://www.chess.com/news/view/the-unique-reason-the-broken-now-fixed-chess-com-app-made-headlines-6918&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2017/06/chess-com-iphone-app-stopped-by-32bit-overflow/chess-com-overflow-foudn-665c394f0a_hu_8028b443c6550245.webp 480w, https://labs.cybozu.co.jp/blog/akky/2017/06/chess-com-iphone-app-stopped-by-32bit-overflow/chess-com-overflow-foudn-665c394f0a_hu_855c253c8f1a0621.webp 517w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2017/06/chess-com-iphone-app-stopped-by-32bit-overflow/chess-com-overflow-foudn-665c394f0a.png&#34; width=&#34;517&#34; height=&#34;268&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;32bit版のiOSを使う古いiPhone や iPad では、chess.com サーバから送られてきた JSON の解釈が、なぜか元と異なる値になってしまっていた、と。&lt;/p&gt;&#xA;&lt;p&gt;開発チームは、クライアント側の修正とサーバ側の修正の2案を用意しましたが、テストチームのテストを通した後、ハック的でその場しのぎなサーバ側の修正は反映せず、Appleのアップストア側のアプリを新バージョンに更新することで修正としたそうです。&lt;/p&gt;&#xA;&lt;p&gt;記念すべきオーバーフローを最初に引き起こした対局が&lt;a href=&#34;https://www.chess.com/live/game/2147483648&#34;&gt;こちら&lt;/a&gt;。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://www.chess.com/live/game/2147483648&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2017/06/chess-com-iphone-app-stopped-by-32bit-overflow/chess-com-overflown-game_hu_7f1fb8a581d9350d.webp 480w, https://labs.cybozu.co.jp/blog/akky/2017/06/chess-com-iphone-app-stopped-by-32bit-overflow/chess-com-overflown-game_hu_8e4fa47190fc1b58.webp 768w, https://labs.cybozu.co.jp/blog/akky/2017/06/chess-com-iphone-app-stopped-by-32bit-overflow/chess-com-overflown-game_hu_715beb4e0604a95e.webp 990w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2017/06/chess-com-iphone-app-stopped-by-32bit-overflow/chess-com-overflown-game.png&#34; width=&#34;990&#34; height=&#34;624&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Hacker News やIT系のニュースで多く取り上げられたことで、「これまでの対局が21億回もある」という点がクロースアップされ、サイト的には良い宣伝にもなったようです。&lt;/p&gt;&#xA;&lt;p&gt;via &lt;a href=&#34;https://news.ycombinator.com/item?id=14539770&#34;&gt;Hacker News&lt;/a&gt;&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
