◀ANSI版開発トップへ
  • 4695 Borland C++5.5.1でクラッシュ
    • 4697 RE: Borland C++5.5.1でクラッシュ
      • 4699 TSVNでの最終改行問題とか
        • 4700 RE: TSVNでの最終改行問題とか
          • 4704 RE2: TSVNでの最終改行問題とか
      • 4701 Re2: Borland C++5.5.1でクラッシュ
        • 4707 Re3: Borland C++5.5.1でクラッシュ
      • 4709 RE2: Borland C++5.5.1でクラッシュ
  • [4695] Borland C++5.5.1でクラッシュ Takky 2007年03月05日 17:46

    当方だけの問題かもしれませんが、ご報告ということで。

    2月25日のソースをBorland C++5.5.1でコンパイルした
    ものを実行するとエディタが異常終了してしまいました。
    一つ前のバージョンも同じです。
    デバッガで落ちるポイントを抑えようと思って-vを追加し
    コンパイルして実行すると再現せず。最適化あたり?と
    思って-O関係のオプションをいじってみると、-O1を削ると
    問題なく動くものができます。

    また、sakurabc.rcを生成されると、最後のendifが重複
    されリソースをリンクする段階でNGになります。できた
    ファイルの問題部分をコメントアウトするかsakura_rc.rcの
    最後にあるifdefをまるごとコメントアウトすると問題なく
    sakurabc.rcが生成できてます。
    • [4697] RE: Borland C++5.5.1でクラッシュ げんた 2007年03月05日 23:44

      >2月25日のソースをBorland C++5.5.1でコンパイルした
      >ものを実行するとエディタが異常終了してしまいました。
      試してみましたが再現しませんでした.OSはWindows XP SP2です.

      Dr.Watsonのログとexeを作ったときに一緒にできたmapファイルから問題の発生した位置を特定できます.
      C:\Documents and Settings\All Users\Application Data\Microsoft\Dr Watson\drwtsn32.log

      問題の起こるバイナリと対応するmapファイル,それと上に示したDr Watsonのログをwikiにでも置いて頂ければ暇なときに調べます.
      >また、sakurabc.rcを生成されると、最後のendifが重複
      >されリソースをリンクする段階でNGになります。
      これは元々あるバグみたいです.最終行が空行だったために顕在化していなかっただけのようです.
      修正パッチを出しました.#1674068
      • [4699] TSVNでの最終改行問題とか ryoji 2007年03月06日 00:53

        横道ですが...

        > 最終行が空行だったために顕在化していなかっただけのようです.
        最終行の空行が削られたのはrev1051ですね。
        おや?と思ったので覚えてます。

        >>dev:4637
        > 最近のTortoiseSVN(1.4.0, 1.4.1)ってパッチ適用の操作をしたとき、元ファイルの最終行が改行のみの行だった場合余計に改行が追加されますよね?
        > 自分はまだ1.3.5を使ってます。
        http://issues.tortoisesvn.net/?do=details&task_id=336
        の修正待ちで、今日見たらclosedになってました。
        最新のNightly Builds(1.4.3.8845)で修正された模様です。
        これで最終行の改行を気にしなくてもよくなるかな?
        • [4700] RE: TSVNでの最終改行問題とか げんた 2007年03月06日 07:48

          >>>dev:4637
          >> 最近のTortoiseSVN(1.4.0, 1.4.1)ってパッチ適用の操作をしたとき、元ファイルの最終行が改行のみの行だった場合余計に改行が追加されますよね?
          すっかり見落としていました.私は全然気付いていませんでした...(^^;)
          • [4704] RE2: TSVNでの最終改行問題とか maru 2007年03月06日 21:33

            >> 最終行が空行だったために顕在化していなかっただけのようです.
            >最終行の空行が削られたのはrev1051ですね。
            勝手に改行が付くので、わざわざ削った記憶があります。
            削ってはダメだったのですね。すいませんでした。
      • [4701] Re2: Borland C++5.5.1でクラッシュ Takky 2007年03月06日 10:51

        > Dr.Watsonのログとexeを作ったときに一緒にできたmapファイルから問題の発生した位置を特定できます.
        > C:\Documents and Settings\All Users\Application Data\Microsoft\Dr Watson\drwtsn32.log
        http://mio.servequake.com/~takky/se/sakura_log.zip
        上記に置きましたのでよろしくお願いします。
        ワトソンのログは上記に無かったのでワトソンを起動して該当のログを表示し、その中身をテキストにしてあります。

        こちらもXP SP2です。気になるのはPlathomeSDKで、これはWindowsXP SP2用のを使用してます。
        それ以外違いはわかりません。
        また必要な情報が不足してましたら取得します。
        • [4707] Re3: Borland C++5.5.1でクラッシュ げんた 2007年03月07日 04:28

          >上記に置きましたのでよろしくお願いします。
          CKeyBind::GetFuncCode(unsigned short, int, KEYDATA *, int)
          で落ちていますね.

          ファンクションキーを表示させるとアプリケーションエラーで落ちるみたいです.
          カスタムメニューを割り当てていなくても発生するので,先日直した問題とは別物のようです.

          ---
          当該箇所を調べてみたところ,共通部分式最適化のバグっぽいですね.
          値を設定していないローカル変数領域から読み出してアドレスを生成しているところがあり,そこへのアクセスで落ちています.

          pKeyNameArr[i]の値を格納する前にその値を使ってKeyData.m_nFuncCodeArr[nState]を計算しようとしているみたいです.
          GetFuncCodeAt() のインライン展開を越えての最適化は無理なのかも.
      • [4709] RE2: Borland C++5.5.1でクラッシュ げんた 2007年03月07日 11:39

        Wikiに詳細を載せました.
        http://sakura.qp.land.to/?Develop%2F6