Closed ePi5131 closed 2 years ago
内部のデータ交換方式を共有メモリにすれば落ちなくなるってどっかで見ました そもそも、自分の環境では再現しないのでよくわからない aviutlが落ちるなら[プロセス間通信を有効にする]のチェック外せって書いてるけど誰もreadme読まないからしょうがないね・・・
例外が出ることを落ちると言わないでほしいです 本当に落ちるときは何も言わずに終了するので (それこそlwinput.auiが同じディレクトリにないやつとか) てっきりこの文脈だと思って今回は読み飛ばしてしまいました 試させておきます
再現方法はよくわからないですね こちらも出したことが無いものなので ですがそこそこの数を見かけるので、何かしらやり方があるのでしょう
lwinput.auiが同じディレクトリになくてもaviutlは落ちませんよ?
INPUT_HANDLE func_open( LPSTR file )
{
INFO_LOG << L"func_open: " << CodeConvert::UTF16fromShiftJIS(file);
if (g_hWinputDll == NULL) {
return nullptr;
}
dllがなければ単にnullptrを返すだけなので落ちようがないです
あれ、昔これを確認させて直ったのを見たのはなんだったんだ...?まあ今は非本質なのでいいです
過去の事例を調べてきたところ、インターレースな動画を扱うときにこの例外になっていたことがあるようです このときには InputPipePlugin.aui+0x00026281 でもコケることがあったようです さらにこれはL-SMASH Works側(もっと言うとFFmpeg側?)の問題であったようです L-SMASH Worksに読ませると何も言わずに落ちてしまいます(rev1077 lwinput.aui+0x748906)
ただ今回はL-SMASH Worksに読ませても落ちなかったので、別の原因か、似てはいるが何かが異なる原因ではないかと推測します
code : EXCEPTION_ACCESS_VIOLATION (0xc0000005) address : 0x70cc7223 (InputPipePlugin.aui + 0x00027223) func_name: INPUT_PLUGIN_TABLE::func_close() read/write : 0 accessed address : 0x00000000
これ以上の詳細はよくわかりませんが、そこそこの数見ます ヌルポ参照ですが心当たりはありますか? InputPipePluginの優先度を下げる(=使わないようにする)ことで回避することはできました
資料 https://twitter.com/xAlvthia/status/1508193113990303748