タグ

bugに関するhyoshiokのブックマーク (3)

  • メモリリークトラブルシューティング記 – その5: Memory Analyzer でヒープダンプを解析(最終回) – yusuke.blog

    – その1: 自宅サーバがハング – その2: フリーズの原因はガベージコレクション – その3: 侍でヒープ使用量を確認 – その4: リーク箇所を確認する色々な方法 – その5: Memory Analyzer でヒープダンプを解析(最終回) 延々と連載してきたメモリリークトラブルシューティング記もいよいよ最終回です。 今回のメモリリーク現象はリークの再現方法がわからないため、運用環境から詳細なデータが取得できるheapdumpを取得した、というのが前回までのあらすじです。 次は、ヒープダンプの解析。 ヒープダンプは JDK に付属の jmap コマンドで取得します。 jmap -heap:format=x [pid] または jmap -heap:format=b [pid] といった形で実行するとヒープダンプを xml 形式、またはバイナリ形式で記録できます。 通常生のヒープダンプ

    メモリリークトラブルシューティング記 – その5: Memory Analyzer でヒープダンプを解析(最終回) – yusuke.blog
    hyoshiok
    hyoshiok 2012/01/13
    30 トラブルシューティング。
  • 金星ロケットのバグ 2009-03-26 - 未来のいつか/hyoshiokの日記

    プログラマなら一度は聞いたことがあるバグの話として、金星ロケットの制御システムかなんかにバグがあって、金星までいかなかったとかなかったとかというのがある。FORTRANの DO 10 I = 1, 3 と書くべきところを DO 10 I = 1.3 としてしまったとかなんとか。FORTRANを知らない人に解説すると、前者は、Iを1〜3とする繰り返すDO文で、後者はDO10Iという変数へ1.3という浮動小数点を代入する文である。 http://d.hatena.ne.jp/kmori58/20051208/p3 経由で知ったのだが、これはいわゆる都市伝説で、DO文のバグではなく http://catless.ncl.ac.uk/Risks/8.75.html#subj1 によれば、ハードウェアとソフトウェアの複合的な不具合らしい。では、DO文の話はどこから来たかというと、http://cat

    金星ロケットのバグ 2009-03-26 - 未来のいつか/hyoshiokの日記
  • FORTRANのDO文と落ちたロケットのfolklore - kmoriのネタままプログラミング日記

    野尻ボードでの野尻さんの発言より。アメリカでもFORTRANのプログラムで、ピリオドとカンマを打ち間違えて失敗したプロジェクトがありました。これは、我々古手プログラマーにはおなじみの以下のエピソードのことを指しているものと思われる。金星ロケットMariner 1の誘導プログラムの中で、FORTRANで DO 3 I=1,3 とすべきところを間違って DO 3 I=1.3 としたために、これがDO3Iに1.3を代入する文と解釈されてしまって期待される動作をせず、ロケットがパーになってしまった。このアネクドートの出所はG J. Myersのソフトウェアの信頼性―ソフトウェア・エンジニアリング概説だと記憶しているが、これがどうもガセビアらしいのである。上記のようなミスは確かにあったのだけれど、それが原因でMariner 1を失ったというのは間違いらしい。NASAのMariner 1の解説によれば

    hyoshiok
    hyoshiok 2009/03/26
    11
  • 1