• 締切済み

ライブラリが壊れることってあるのでしょうか?

私はFortranで初歩的なシミュレーションプログラムを作成しています。 なのですが、急にプログラムが正常な結果を吐かなくなってしまいました。入力ファイルなどは一切変更していません。バグかと思い、過去のきちんと動作するソースファイルを復活させたのですが、同じ症状が生じてしまいます。 コンパイルの際にサーバ上にあるacmlライブラリを使用しています。これが壊れたとすれば納得できるのですが…

みんなの回答

  • gungnir7
  • ベストアンサー率43% (1124/2579)
回答No.3

acmlを紐解いてみるとgnuの環境のようですね。 この環境でしたらcygwinとかでWindows上でも構築できると思いますので そちらで確認するのも1つの手段でしょう。 それからこれは参考ですが、 その昔Win98で開発していた頃、ある部下が作ったプログラムが 突如として狂った結果を出すようになりました。 部下も真っ青なのですが、それ以前にこの数値はありえんだろうということで 調べた結果、結局はシステムリソース不足によるものでした。

noname#60419
質問者

お礼

回答ありがとうございます。 システムリソース不足などということもあるのですね。 ローカル環境のwindows用コンパイラを使ってみたところ正常に動作したので、サーバ上のデータを全て削除して、新たにフォルダを作成してコンパイルしたら正常に戻りました。 原因は不明ですが、こういうこともあるのですね。よって、回答を締め切らせていただきます。 回答者の皆様、どうもありがとうございました。

  • Oh-Orange
  • ベストアンサー率63% (854/1345)
回答No.2

★私はC/C++言語ですが、似たような経験を今年しました。 ・2年前に自作した『ミニ時計アラーム』が今年に入ってから『アラーム』時刻になると  そのソフトが CPU 100% のフリーズ状態になってしまいました。 ・もう、1年以上ソースを変更していませんし、1年間も問題なく動作してきたのになぜか  フリーズするのです。そこで、再コンパイルしてみましたが結果はお同じ。直りませんでした。 ・それでフリーズ状態になる前に『すっきりデフラグ』というソフトを使った事が原因では?  と考えましたが、原因は分かりませんでした。→しょうがないので『アラーム』機能をオフ  にするオプションを使って機能を停止しました。そして、今月に入ってもう一度『アラーム』  機能をオンしてみましたら正常に動作しました。→何も修正していないのに直ったため、  外部の DLL が原因ではと思っていますが、DLL を更新したわけでもないためよく分かりませんでした。 ・よって、ソースファイルよりも DLL のライブラリや、他の環境の相違性などを調査してみて下さい。 ・以上。おわり。→体験談より、しばらく様子を見るかライブラリをチェックしてみて下さい。

noname#60419
質問者

お礼

回答ありがとうございます。 やはり外部の環境の変化によってフリーズするようになることはあるんですね。ライブラリやコンパイラをチェックしてみたいと思います。

  • gungnir7
  • ベストアンサー率43% (1124/2579)
回答No.1

ライブラリは基本的に参照ですからそう簡単に破損するものでもないですが、 まるっきり否定することは勿論できません。 特にサーバ上ですから、誰かが書き換えてしまった可能性はあります。 Unixではaliasを切っていないとCPコマンドで簡単に書き換えらますから。 破損の疑いがいよいよ強いとなれば、 ローカル環境に正しいライブラリをもってきて確認してみることですね。 とりあえず疑わしきライブラリの更新日付をチェックされてはどうですか。

noname#60419
質問者

お礼

回答ありがとうございます。 誰かに書き換えられる可能性もあるんですね。聞くところでは研究室のサーバがアタックされているらしく、心配です。 チェックしてみたいと思います。

関連するQ&A