12/03/10 21:55:15.90 sPbKYENY
>>728
その不具合の再現できたよ
深い再帰呼び出しから帰るときに起きる。
数秒で起きるね
736:Socket774
12/03/10 23:23:12.30 SNPbA2Fa
>>735
再現率はどれ位?
特定のコードで必ず起きる様ならかなりヤバ目だと思うけど。
737:Socket774
12/03/10 23:25:33.24 SNPbA2Fa
>>735
IntelCPUでは不具合が起きない?
738:Socket774
12/03/11 01:11:21.91 92Rku40d
>>736
100%
簡単に起きるけど、callの後ろにnopを入れたり、popの数が少なかったり
多かったりしても起きない。
739:Socket774
12/03/11 09:42:24.98 92Rku40d
少し詳しく書いておくか・・・
テストコードはアセンブラで記述した。(23ステップ程度)
末尾再帰呼び出しからの復帰(pop 5~6回,retの繰り返し)10億回に1回程度の頻度で発生する。
テストでは91回の再帰呼び出しを繰り返した。
retの前、callの後ろにnopを追加するとセグメンテーションフォルトは起きなくなる。
popの回数が5未満でも7以上でも起きない(今のところ起きていない)。
ユーザーランドでも起きる。
ループ回数を増やして発生までの時間を計測すると、大きくばらつくが1~16秒程度で発生する。
末尾再帰なのでgccの-O2以上では小さな関数は最適化が掛かってループに展開される。
gcc-4.4.3では、末尾最適化が掛からなかったとしても起きる可能性はない。
740:Socket774
12/03/11 10:07:35.65 92Rku40d
追加
頻度は激減するが、16回(重)の再帰呼び出しでもセグメンテーションフォルトは発生する。
741:Socket774
12/03/11 10:08:53.80 9pA7Ai2A
ヒドイね( ̄▽ ̄)
742:Socket774
12/03/11 10:10:26.15 92Rku40d
再帰呼び出しのネストが少なくなると、頻度が急激に落ちる理由が説明できない・・・
743:Socket774
12/03/11 10:14:08.49 92Rku40d
一般ユーザーに影響が出る可能性は、ほとんどない
744:Socket774
12/03/11 10:36:57.11 Ikudam+Q
>>743
これだけ分かれば十分な俺一般ユーザー
745:Socket774
12/03/11 10:52:30.78 92Rku40d
まぁ、アセンブラで再帰呼び出し、それも末尾再帰なので、わざわざ再帰呼び出しで書く酔狂なやつも居ないだろうし、
コンパイラーは開発者がすぐに対応するし、カーネルコードでアセンブラなんて割り込みベクターとブートのところくらいで
そんなところで再帰呼び出しは使わない。
ってことで、実質的に影響はないはず。
746:Socket774
12/03/11 10:58:03.51 9pA7Ai2A
元ソースを見ても「エラッタ」じゃなくてより深刻度の高い「バグ」と言い切ってるし
今回の問題そのものはマイクロコードROMの修正でどうにかなるとはいえ、
AMDが不具合を認識していなかったという事実のほうが問題だな。
これはAMDの販売するあらゆる製品の信用性を大きく揺るがす問題になる。
当然NECの起こしている訴訟でもAMDに不利な材料になるし、ベンダー離れがさらに進む可能性もある。
747:Socket774
12/03/11 11:03:43.52 92Rku40d
最初に不具合がレポートされたgcc-4.4.7はまだリリース前ね。
748:Socket774
12/03/11 11:16:56.28 92Rku40d
>>746
インテルのfdiv BUGと同程度の批判は受けるだろうね。
NECがAMDに起こしている訴訟って?
749:Socket774
12/03/11 11:21:02.37 92Rku40d
floatの引き算で結果が2倍に不具合を制限事項ですって言っていたメーカーもあるけどね。
750:Socket774
12/03/11 11:21:42.55 92Rku40d
2倍になる不具合ね
751:Socket774
12/03/11 11:23:04.35 kFanYwUg
プロのデバッガでも発見できなかったバグを発見した奴が優秀としか言いようがない
752:Socket774
12/03/11 11:44:53.98 8h/WpHd6
アムド狂信者はバグだらけの糞CPUでよくがまんできるなw
753:Socket774
12/03/11 12:24:08.56 rnViOMof
数だけでいえば、intelのCPUのほうがエラッタは多いです。
754:Socket774
12/03/11 12:28:47.48 92Rku40d
インテルは一部のメーカにだけ知らせて公表しないのもあるからな~
755:Socket774
12/03/11 12:37:59.46 dO65ELMG
そもそもそんなに大量の未確認バグやエラッタが存在しているなら出て直ぐに大騒ぎしてるでしょ。
バグのないCPUなんて存在しないし、今まで問題が無かった上に
回避手段もちゃんとあるのだから別にいいんじゃないの。
Intelも含めてね。