今日の配信のためのロスメモ進捗報告メモ

今日の配信で説明する時間を用意したくないので、最近やってみていた事とわかったことをここにメモします。
とりあえずこれ読んでから配信見てほしいなって

今使っているパソコンをパソコンA(及びA)として昔使っていたパソコンをパソコンB(及びB)とします。

パソコンAの説明
・KabyLake(spectreとかmeltdown絡みのパッチ当ててます)
・一回Cドライブが死んだので古いバックアップから復旧した
・Dもでかいのに換装した
・1060搭載してる
・とはいえ昔はロスメモ動いてた

パソコンB
・Haswell
・申し訳程度に840M積み
・パッチは当ててないと思う
・検証のためにクリーンインストールして必要なライブラリ、ランタイムを導入したり原因切り分けのためにAに入れてて気になるソフトを入れてみたくらいでキレイ
・HDDである
・めっちゃ普通にロスメモ動く

以下色々試したときのやつ

パソコンA

WinDbgにていつNoが出てくるのかを調べた結果mswsock.dllなどのネットワーク系のライブラリを読み込んだ後にエラーが起きている
(ちなみに最初midimap.dllとかのログが出た瞬間だったのでそこでエラー起きてるのかと思ったけど違った)
サンドボックスはunknownが分離されるせいか、パソコン本体の色々を読みに行けないせいで無理
互換モードは逆効果
フォルダの位置関係とかが邪魔してそうな雰囲気はあります

Windbgを見てみるとmsxml3.dllやquartz.dllがエラー出してるっぽい
quartz.dllは古のdirectshowのやつらしい(directXの音とか動画とか呼び出すやつ)
msxmlXMLのやつ めっちゃ古い(アンインストールしてみたけど特に変わらず)

ただ根本的に問題なのは上述のwinsocketなどのネットワーク関係なので普通に何かが読み込めてないだけだと予想

色々アンインストールしたり入れ直したりしてみましたがダメそう
ドライバ系はだいたい最新
ネットワーク関係もリセットしたり、DNS設定もやってみたりしましたがダメそう
というかBがほぼデフォルトだしね。

winsock系の不具合とか調べるの骨が折れるからやりたくないので誰か助けて

redditで色々quartzとかkarnelbaseのエラーを調べていると.net絡みで色々不具合があったらしい、ネット通信するしC++だし多分関係ありそうだなと思ったがそもそもkarnelbaseエラーがイベントログに出てくるときはNo出ずに落ちちゃったとき=ゲーム側の処理を普通にミスったときなので関係なさそうである
quartzはわからん

・プロセスモニター、wiresharkの話
どうやら例の通信、前回の記事とかではちょっと読み間違えていたらしく
接続「やり取り、やり取り閉じる」x3をやって切断を2回繰り返す形らしい
改めてwiresharkで通信をチェックしたらそんな感じでした
またプロモニ見たら通信の前に前述のwinsock系読み込んでたんでこれもやっぱり
で、通信の間で色々気になるやり取りを見つけたんですが…そのへんの話は配信でやります
「ここに使ってそうなネットワーク関係のdllを列挙」

一応wiresharkのログで気になるところを全部chatgptに投げて見てもらいましたが、「通信自体は正常、なので別にイベントログに乗ることはないです」ってことだけはわかりました。ログインに失敗するところまで含めてどうやら正常っぽいですね
ただまぁ〜気になるやり取りが変なことしていて、それが関係してたら嫌ですね。

パソコンB
とりあえず一つ書くなら「パソコンAで行われているwinsockやFTP接続などは全く観測できない」何回か見てみましたが観測できないですね
逆に言えば通信が行われていない(及び通信を行わない処理に切り替わる)ほうが正常ってことになるのでこの違いがとても気になりますね
ただマルチモニターでリアタイ観測しているわけではないのでもしかしたらあるかもしれないですが
(プロセスモニターに関してはAと同じフィルターをした上で何回やっても全く出てこないので本当にないんだと思います)

時々落ちるときに同じようなkarnelbaseエラーが出てきたりするのでやっぱりこれは関係なさそう

最近見つけた面白いもの

ゲーム起動したあと残ってるvirtual.datくん
何回か覗いて見たものの文字化けとか見れない文字が多すぎてバイナリデータかなーと思ってましたが
プロセスモニターを見てみるとrememberも含めて全部読み込んでるし
一気に読み込んでるし、量がやばいということで色々怪しいということに気づき、見てみました
結果は配信で!!!
わざわざ引っ張るって点で察してください

 

色々書こうと思ったんですが色々やりすぎて忘れましたが要するにAでやってる通信そもそも本来やってないんじゃね?という疑惑が出ているという事だけ覚えておいてください