アカウント名:
パスワード:
なんで5月が境目になるんだろうな。
理由はさておき、とりあえず試してみたくなるよね。
半年前のデータを参照していて、内部的に異常値になるとかでは?
121以下に何か秘密が!!
すみません、思いつきませんでした。正解は↓の人がきっと書いてくれるはず。
>121以下に何か秘密が!!
そんな、apple(あぽー)な。
NECとなんかあったんですかね?
http://121ware.com/ [121ware.com]
「悪魔も泣きだす」バグなので5月かと。# may違い
時刻関連のバグと言えばUnix時間ですね
Unix時間はOS内部でよく使われている時間の表現方法で1970年1月1日(UTC)を0として,そこからの経過秒数をカウントします
このUnix時間が引き起こすバグとしては,以下のパターンが有名です
- 1970年問題1970年以前はUnix時間がマイナスになり,想定外の不具合が生じます.- 2001年9月9日問題Unix時間が十進数で10桁を超えるのがこの日で,実装によっては桁溢れが生じます- 2038年問題Unix時間が32bitを超えるため,符号あり32bit整数で実装していると時刻がマイナスになります
ここからは私の想像ですが,iOSの不具合も,1970年問題の一種だと思います.1970年5月はUnix時間で表現すると約10000000になりますので例えばプログラム内部で Unix時刻から10000000を引くような処理があるとアンダフローが起きて 1970年問題と同じ結果になります
おそらく、メールの文中などで「今日」「昨日」などの表現や日付の記載があるとカレンダーアプリへのリンクが出る仕様によって、前後半年の日付を参照する処理が入るんじゃないかなと…
でもそれなら6月は?とも思うんですけど。
「再起動できなくなる」だからそれはないんじゃないかな?個人的には、ファームウェアに過去の起動/停止のログを保存してあって起動時に120日より古いのを消す、みたいな処理とかがあってエラーになるのだと予想。
その想像はいらないし、計算が合ってない。
> 1970年5月はUnix時間で表現すると約10000000になりますので
Unix時間で10000000は1970年4月27日2時46分40秒ですね。たしかに1970年5月は「約10000000」であることに間違いありませんが、1970年5月1日0時の時点ですでに10000000を超えてます。
だって5月病っていうじゃないか?
May the force will be with youっていうぐらいだから、五月は特別な力と共にあるんですよ。
will?
May day! May day!I'm going down.
みたいなイースターエッグのつもりが、マジ落ち。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
最初のバージョンは常に打ち捨てられる。
May 1970 or earlier (スコア:0)
なんで5月が境目になるんだろうな。
Re:May 1970 or earlier (スコア:2)
理由はさておき、とりあえず試してみたくなるよね。
Re:May 1970 or earlier (スコア:1)
半年前のデータを参照していて、内部的に異常値になるとかでは?
Re: (スコア:0)
121以下に何か秘密が!!
すみません、思いつきませんでした。
正解は↓の人がきっと書いてくれるはず。
Re: (スコア:0)
>121以下に何か秘密が!!
そんな、apple(あぽー)な。
Re: (スコア:0)
NECとなんかあったんですかね?
http://121ware.com/ [121ware.com]
Re: (スコア:0)
「悪魔も泣きだす」バグなので5月かと。
# may違い
Re: (スコア:0, 荒らし)
時刻関連のバグと言えばUnix時間ですね
Unix時間はOS内部でよく使われている時間の表現方法で
1970年1月1日(UTC)を0として,そこからの経過秒数をカウントします
このUnix時間が引き起こすバグとしては,以下のパターンが有名です
- 1970年問題
1970年以前はUnix時間がマイナスになり,想定外の不具合が生じます.
- 2001年9月9日問題
Unix時間が十進数で10桁を超えるのがこの日で,実装によっては桁溢れが生じます
- 2038年問題
Unix時間が32bitを超えるため,符号あり32bit整数で実装していると時刻がマイナスになります
ここからは私の想像ですが,iOSの不具合も,1970年問題の一種だと思います.
1970年5月はUnix時間で表現すると約10000000になりますので
例えばプログラム内部で Unix時刻から10000000を引くような処理があると
アンダフローが起きて 1970年問題と同じ結果になります
Re:May 1970 or earlier (スコア:2)
おそらく、メールの文中などで「今日」「昨日」などの表現や日付の記載があるとカレンダーアプリへのリンクが出る仕様によって、前後半年の日付を参照する処理が入るんじゃないかなと…
でもそれなら6月は?とも思うんですけど。
Re:May 1970 or earlier (スコア:3)
「再起動できなくなる」だからそれはないんじゃないかな?
個人的には、ファームウェアに過去の起動/停止のログを保存してあって起動時に120日より古いのを消す、みたいな処理とかがあってエラーになるのだと予想。
Re: (スコア:0)
その想像はいらないし、計算が合ってない。
Re: (スコア:0)
> 1970年5月はUnix時間で表現すると約10000000になりますので
Unix時間で10000000は1970年4月27日2時46分40秒ですね。
たしかに1970年5月は「約10000000」であることに間違いありませんが、
1970年5月1日0時の時点ですでに10000000を超えてます。
Re: (スコア:0)
だって5月病っていうじゃないか?
Re: (スコア:0)
May the force will be with you
っていうぐらいだから、五月は特別な力と共にあるんですよ。
Re: (スコア:0)
will?
Re: (スコア:0)
May day! May day!
I'm going down.
みたいなイースターエッグのつもりが、マジ落ち。