金曜日, 4月 10, 2026

TMIDIがクラッシュするようになったときの対策

最近、久々にTMIDIで昔のMIDI聞こう♪と思ってダブルクリックしたら、何故か起動時にクラッシュして起動しなくなっていました。 

 「なんで~(;゚▽゚)」と思って、いつものChatGPT先生&Gemini先生&Claude Sonnet先生に相談します。 

その結果をまとめると、 

1)Werfault.exe※1が取るダンプ※2は最小のものなので、まずはクラッシュしたときのちゃんとしたダンプを取れ。 
※1 アプリがクラッシュしたとき、自動的にMSに報告するための情報を集めるツールのこと。
※2 メモリダンプ(memory dump):当該プロセスのメモリ領域を取ってくること。


2)Windbg(Microsoft Storeで無料)で解析しろ。 

とのこと。 

まず、1)については、 
(1) Sysinternal謹製の「procdump」を取ってくる。 
(2) Microsoft StoreからWinDbgをインストール 
(3) 管理者権限で「procdump -accepteula -e 1 -e -h -ma -w TMIDI.EXE d:\Dumpフォルダ」で、TMIDIがクラッシュしたときにダンプ取るように仕込む。 
(4) TMIDI実行→即クラッシュ 

続いて2)については、 
(1) 取られたダンプ(d:\Dumpフォルダの中に入る)をWindbgに読み込ませる(File → Open Crash Dump) 
(2) WinDbgのコンソールで、「.symfix」→「.reload」→「!analyze -v」を順に実行
※ Microsoftのシンボルサーバ設定>シンボル読み込み>解析開始 という流れ。 

 この結果はこんな感じ。
(前略)
*** WARNING: Unable to verify checksum for TMIDI.EXE
eax=0048d554 ebx=000d1222 ecx=1d370000 edx=0048d554 esi=024c927c edi=00000024
eip=024c927c esp=001aefc8 ebp=001aefe8 iopl=0 nv up ei pl zr na pe nc
cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00010246
024c927c e808000000 call 024c9289
0:000> .symfix

*** WARNING: Unable to verify checksum for TMIDI.EXE
0:000> .reload
.....................................................
*** WARNING: Unable to verify checksum for TMIDI.EXE
************* Symbol Loading Error Summary **************
(中略)

0:000> !analyze -v

......................................................
*** WARNING: Unable to verify checksum for TMIDI.EXE

*******************************************************************************
* * * Exception Analysis * * * 
*******************************************************************************
(中略)
EXCEPTION_RECORD: (.exr -1)
ExceptionAddress: 024c927c
ExceptionCode: c000041d
ExceptionFlags: 00000001
NumberParameters: 0

PROCESS_NAME: TMIDI.EXE

ERROR_CODE: (NTSTATUS) 0xc000041d - ユーザー コールバック中に未処理の例外が発生しました。

EXCEPTION_CODE_STR: c000041d

IP_ON_HEAP: 024c927c

(以下略)
…もちろんチンプンカンプンなので、ChatGPT先生に見ていただきましたよ?

上のWinDbgの結果で、一番最後に「IP_ON_HEAP~」とありますよね。 
IP = Instruction Pointer(命令ポインタ)のこと。
なので実はこれ、

『(ほんとはやっちゃいけない)ヒープ領域でコードを実行しちゃった。」

という意味なんだそうです。 

ヒープはmalloc()で、動的にメモリ領域を確保すると作られるメモリ空間なのですが、現代のOSでの管理上、基本的にはデータ用ということで、権限が読み書きOK・実行不可、となっているんだそうです。

と、ここまで来たらピンときますよね? 
要はDEP(データ実行阻止)先生が、ちょっとメモリ管理がアレなTMIDIのオイタを見逃してくれなかったのです。 
※おそらくTMIDI側のバグなのでしょうね。

結局のところ、「システム>バージョン情報>システムの詳細設定>データ実行防止(タブ)」で、TMIDI.exeを例外に入れてあげないと、DEPでメモリの扱いが甘いところを叩き落されてしまうのでした。

まあ、いつから引っかかるようになっちゃったかは分からない(以前は動いてたし)のですが、OSにセキュリティパッチが当たっていく中で、厳格化したタイミングがあったのかも知れません。 
ともあれ、TMIDIをDEPの例外に入れたら、ちゃんと動くようになりました。 

Procdumpすごい、WinDbgすごい、ChatGPTすごい、というところで、このお話は締めさせていただきます。 

おあとがよろしいようで。

12 件のコメント:

  1. ちんぷんかんぷんですが、一つ言えるのは、
    『まだTMIDI動くんかい!』
    それが一番驚いたわい

    そいやlzh系の圧縮ファイルとか全然見ないなと思ってたら、
    脆弱性で随分前に無くなってしまってたんやね・・・

    使う機会が圧倒的に減ったとはいえ、特に新たに乗り換える必要もないせいか、
    terapadとかIrfanViewとかFFFTPとか午後のこ~だとかはまだ現役で使ってるなぁw

    返信削除
  2. 少なくとも20年近く使っているもの、といえば以下のような感じです。

    1)エディタ
    ・Vim
    ・サクラエディタ

    2)ターミナルソフト
    ・Teraterm

    3)音楽
    ・TMIDI
    ・午後のこ~だ

    4)MUA
    ・Becky!(ライセンス購入済み)

    5)リモート接続
    ・Ultra VNC

    6)FTPソフト
    ・FFFTP

    7)楽譜作成
    ・musescore

    8)画像加工
    ・GIMP

    返信削除
  3. >lzh系の圧縮ファイルとか全然見ないな

    奥村先生が元のアルゴリズムLZARIを考案し、それを元に医師の吉崎先生が改良したのがlzhだったわけですけど、2010年代に吉崎先生がホームページを閉鎖して、事実上開発終了になっていたみたいですね。

    最早lzhに代わって、多種多様なアーカイバが出てきているので、lzhの役割も終わったのかもしれないです。
    私も最近はもっぱらWindows環境では7z、Linux環境ではxzばっかり使ってます…。

    返信削除
  4. と思ったら、いくつか後継が出てるみたいですね。
    ・LHa for UNIX with Autoconf
    https://github.com/jca02266/lha
    ・UnLha64x
    https://github.com/akiya/UnLha64x

    圧縮ツールとして普段使いするのは非推奨とのことですが、脆弱性の対応も行われているようです。

    返信削除
  5. PCがぬっこわれたー!!(# ゚Д゚)
    電源入れても一瞬ファンが回ったと思った停止→そして一瞬回る→停止の繰り返し
    ここ20年くらい自作なんかほとんどやらんからパーツの予備もない
    電源(¥10,980)かと思って買ってくると、ファンが回る!キタ━━(゚∀゚)━━!!と思ったら
    マザボ映像出力から全く映像が出力されず、BIOSも見れない(;´Д`)
    このCPUF付きだったっけ・・・
    そもそもグラボ2070の電源8ピンと6ピンの6ピンのケーブルが無いし売ってもない
    SATA2本分→6ピンに変換するケーブルがあったのでそれで代用→でも映らない
    メモリ差し替えたり、組み合わせを買えたりしたらなんか起動。
    電源だけで済んだなぁとホッとした次の日、またファンが回らず同じ現象・・・

    結局原因わからんから買い替えよっかなぁと、BTO物色したら
    最低限RTX 5070ti 16GBは欲しいなぁ と思ったら余裕で40万超え((((;゚Д゚))))

    直すしかねーと中古のマザボ取り寄せて、ようやく直りました(;´Д`)
    結局マザボのどこが悪いのかわからん。ってか老眼で見えん(;´Д`)
    CPU取り付けが一番緊張したなぁ。なにせ老眼で向きが合ってんのかわからん
    修理に2週間もかかってしまった。
    昔みたいに自作できなくなってしもうたなぁ

    返信削除
  6. お疲れ様です。(´・ω・`)

    >PCがぬっこわれた
    動かなくなったらドキッとしますよね…。
    無事復旧できたとのこと、大変良かったです…。

    私のノートもバッテリー膨張で廃棄したのですが、ゲーミングノートの場合、バッテリーが出力をフォローしている部分もあるらしく、パワーが落ちてるらしいです。
    まあ、10年使ってりゃね…。(´・ω・`)

    >最低限RTX 5070ti 16GBは欲しいなぁ と思ったら余裕で40万超え((((;゚Д゚))))

    AIブームで、色んなものが強烈に高くなってますよね。
    SSDなんて、民生品終了のお知らせという噂もあるくらい…。
    AIやるなら16GBでも足りないという噂で、ChatGPT先生には3090をおすすめされました。(大体16万~)。
    でもゲームには物足りないと…。

    >結局マザボのどこが悪いのかわからん。ってか老眼で見えん(;´Д`)
    コンデンサーあたりがお亡くなりになったのかも…。
    割と寿命は短いです。

    >昔みたいに自作
    昔と違って、買った方が安い状況ですもんね…。
    昔は節約目的でしたが、自作もなかなか高尚な趣味となってしまいました…。

    返信削除
  7. 次はテレビが壊れた(#・∀・)

    色々手を尽くしたけど、メイン基盤交換するしかなさそう。
    でも普通に古い型なせいか基盤が手に入らん(;´Д`)
    新しく買い替えるしかなさそうやなぁ
    この分だとあと2,3の家電が一斉に壊れそうな予感・・・

    返信削除
  8. 同じような時期に購入していると、一気に壊れることがありますよね。(;゚▽゚)
    メーカーを選ばなければ、例えばハイセンスなんかだと、テレビは50インチでも、5万切ってきますね。
    ※最高の品ではないですが、アパホテルで見慣れたテレビで、及第点な感じでしたw

    PC用のディスプレイでかつ、高リフレッシュレートというのであれば、そこそこの出費になりますが…。

    返信削除
  9. とりあえすハイセンスの55E7Nをamazonで注文しますた(;´∀`)
    安っすいねえほんと。7.5万だって。55型なんて20万越えてたよなぁ、大昔は。
    それでもブラビアだと16万、レグザでも13万くらいはするし、
    正直これ以上の質を追求しても画質の良さや音質の良さを
    見分けられる能力がないから、4,5万の価格差が埋まらない(;´Д`)

    そいや、地上波全く見なくなってしもたなぁ。
    朝のニュースで30分ほど流してるくらいだよ。
    あとはyoutubeかネトフリかゲームに使ってるくらい。

    返信削除
  10. 暫く立ちましたが、ハイセンスいかがですか?
    少なくともホテルで採用されていたものは、画質とか凄くはないけど、及第点で十分の印象ではあります。

    うちも2007年からだから、早19年。そろそろ…という感じです。
    本体に付いている予約録画機能(500GHDD内蔵)を使っても、容量余ってるのに途中で録画が切れたりして、EPGの変更に追従できないor番組切り替えの判定仕様変かもと、色々問題抱えてます(PTimerの方が優秀…)。
    まあ、アナログマがバリバリ現役だったころのTVですからね。(´・ω・`)

    返信削除
  11. 概ね良好です(≧∇≦)b 
    安いとはいえ、前のテレビより立ち上げや反応が早いし、
    画面も綺麗ですね。コスパ最高でした
    気になる点といえば、視野角がせまくなったかなって感じですね。
    ブラビアに比べて斜め45度から見た時の画質がだいぶ違います。
    買う前に電気屋さんとかで確認した方がいいのかもしれません。
    まぁ一人で真正面から見る分には全く気にならないかな。

    音も真正面以外は少し弱い感じがしますね。
    まぁサウンドバーとかで十分補えそうですけど(;´∀`)

    あとは、今でお世話になってたnasneが使えねえ・・・( ´゚ж ゜)・;'.、グハッ
    まぁあんま録画してないからええか。HDD高いしまだ要らん。
    大画面でモンハンが迫力あって楽しいですな(≧∇≦)b

    返信削除
  12. > 概ね良好
    よかったです~。
    視野角はパネルにもよるとは思いますが、まあ中華ということで…。(´・ω・`)

    > 大画面でモンハン
    55inchですもんね。かなり大きいです。いいなぁ~(;´ρ`)

    返信削除