by
Anonymous Coward
on 2017年08月11日 8時24分
(#3259870)
> 最初に、トラブルの原因がハードウェアであることを確認してみよう。 make が停止したら、もう一度 make とだけタイプする。 停止する前にもう少しだけファイルをコンパイルしたなら、 トラブルの原因はハードウェアに間違いない。 また即座に停止する (すなわち、``nothing to be done for xxxx'' を表示しながら少しばかりディレクトリをスキャンした後、 きっちり同じ場所で玉砕する) なら、
繰り返し (スコア:0)
makeを繰り返さなければ問題ないのか?
Re: (スコア:0)
makeは単に複雑で負荷が高いから、それで気付いた、ってだけのようですよ。
現象から見ると、どんなプログラムでいつ起きてもおかしくない、エラーで落ちる以外にもデータの破壊等が起きてるかもしれない(気付いてないだけ)、という可能性も否定できない、というか十分ありそうとのこと。
Windowsで発生しない理由は不明ですけどね…。
Re: (スコア:2, 参考になる)
makeというかgccによるコンパイルですね。
今回に限らず、gccだけで症状が出るハードウェアの個別不良ってよくあって、以下のようにFAQ にまでなってます。
https://linuxjf.osdn.jp/JFdocs/GCC-SIG11-FAQ/sig11faq.html [linuxjf.osdn.jp]
一番よくあるのがメモリ不良で、今回もみんな最初はそちらを疑ってたんですが、色々調べているうちにどうやらメモリじゃないっぽいなということに。
ハードウェア不良なわけで他の処理で症状が出ても不思議はないんですが、他では症状がでなくてgccだけで出るせいでgccの方のバグだと疑われることも多く、FAQにまでなってるのはその辺の事情もあります。
Re:繰り返し (スコア:0)
> 最初に、トラブルの原因がハードウェアであることを確認してみよう。 make が停止したら、もう一度 make とだけタイプする。 停止する前にもう少しだけファイルをコンパイルしたなら、 トラブルの原因はハードウェアに間違いない。 また即座に停止する (すなわち、``nothing to be done for xxxx'' を表示しながら少しばかりディレクトリをスキャンした後、 きっちり同じ場所で玉砕する) なら、
これ、今どきの並列化されたmakeでは必ずしも当てはまらないのでは。