お手数かけます。こちらでも現象再現できました。 少なくとも公開した109のバイナリ一式ではよく再現できます。(しかし公開したexeだけを私の開発環境にコピーすると、今度は問題なく動作するという ・・・)
こちらでは、DTXMania を一度でも起動させて、Config.xml ファイルが作成されてしまえば、この問題は発生しないようです。そちらでも同様でしょうか。 もしそうであれば、実害無しってことで、とりあえずそのままお使いください・・・。
すみません・・・
通常は、Config.xml が見つからなかったときは即座にテンプレのConfig.xmlファイルを書き出してから通常処理を進めるのですが、 問題発生時は、書き出しがスキンフォルダ内の言語リソース確認途中にまでずれ込んでいました。
ですから、その結果、初期化が不完全なConfigにアクセスして例外発生しているように思えます。
ファイル書き込みが遅延するのは怖いですし、ここが遅延しなければConfigの初期化も正しく行われますので、 遅延を回避する方向で対策を考えます。
ただ、元々ファイル書き込みの遅延が無いように (書き込み終了後即時Disposeが働くように) IDisposable と usingを最大限活用した作りにしています。
using ( XmlWriter xw = XmlWriter.Create( new FileStreamSSD( xmlpath ), settings ) ) { DataContractSerializer serializer = new DataContractSerializer(obj.GetType()); serializer.WriteObject(xw, obj); }
・・・ひょっとして、こういう書き方をすると、xwはちゃんとDisposeされるけど、FileStremSSD() のDispose は即時実行されないってことか??
試しに、usingを2段組みにしてみます。
usingを2段重ねにしました。添付で上書きして動作確認いただけますか。
また、BGAが表示されるかをご確認いただけますか。(ウチでは、やはり、出ません・・・)
上書きして確認しましたが、まだエラーの症状が出ます。Config.xmlを消してない状態で起動すると、エラーが出ません、Config.xmlがある状態で起動するとエラーが出ます。BGAは、やはり私のところでは表示されています。
そうですか・・・
それでは、お手数をおかけしますが、DTXManiaLog.txtを取得いただけませんか。
4の時のログを見せていただきたいです。こちらでは、ここでログが終わり、エラーになります。(しかし続行可能で、ログ出力も再開します)
2017/08/25 22:23:02.908 [INFO] スキンフォルダに言語リソースがないか確認します。 2017/08/25 22:23:02.908 [INFO] Skin Path:C:\Users\*****\Downloads\DTXMania109(170723)_DTXC033(170801)\System\Default\ 2017/08/25 22:23:02.908 [INFO] Config.xml: 以前のファイルから変化があったため、書き込みを実行します。
こちらConfig.xmlがない状態で起動した場合、私のところではエラーが出ない状態です。 2017/08/25 22:47:16.564 [INFO] スキンフォルダに言語リソースがないか確認します。 2017/08/25 22:47:16.564 [INFO] Skin Path:C:\Users\*******\Desktop\DTXMania109(170723)_DTXC033(170801)\System\Default\ 2017/08/25 22:47:16.568 [ERROR] 言語情報ファイル System/resources.csv が見つかりませんでした。ファイル 'C:\Users\*******\Desktop\DTXMania109(170723)_DTXC033(170801)\System\Default\resources.csv' が見つかりませんでした。 2017/08/25 22:47:16.568 [INFO] スキンフォルダ内の言語リソースを使用できません。既定の言語リソースを使用します。 ・・・ こちらはConfig.xmlがある状態で起動した場合で、エラーが出る状態です。 2017/08/25 22:47:58.957 [INFO] スキンフォルダに言語リソースがないか確認します。 2017/08/25 22:47:58.957 [INFO] Skin Path:C:\Users\*******\Desktop\DTXMania109(170723)_DTXC033(170801)\System\Default\ (エラーが出た状態ではログはここまで)
xmlの有無でのエラーの発生有無が、こちらとは全く逆になるのですね・・・
とはいえエラーが出るところは同じようですので、試しに一つ別の対策を入れてみました。添付のDTXManiaGR2.zipをお試しいただけますでしょうか。
横から失礼します。
まず初めに、チケットの詳細内のエラーメッセージに個人情報(ユーザー名)が含まれているので
「読み込まれたアセンブリ」以下は削除した方がいいかと思います。
さて、本題です
私もおそらく koh-hey さんと同じエラーが発生しております。
以下、試した状況
109 リリース版
Config.xml が無い状態(初回起動)だとエラーが出ず、作成後(2回目以降)だとエラー発生。
しかし、続行すると問題なく動作する。BGAも表示されています。
何となく、108 で作成された Config.xml を使用してみた所、エラーが発生しませんでした。
そこで、差を探ってみた所 Config.xml 内の「nSoundDeviceType」が「WASAPI」となっていると大丈夫で、
「WASAPI_Exclusive」「WASAPI_Shared」「ASIO」「DSound」だとエラーが出るようです。
109 改(File ID: 5342)
エラーの状況はリリース版と同じですが、画面が表示されなくなりました。
(エラー発生後、「続行」で真っ暗ですが、動作はしている様子)
109 改2(File ID: 5343)
画面は表示されていませんが、エラーが無くなりました。
(Config.xml の有無や、「nSoundDeviceType」の設定にかかわらず。)
Noneさんコメントありがとうございます。 再現情報、とても助かります。とはいえ今日はもう遅い&明日は終日外出なので、後日調べてみます。
また、取り急ぎ、チケット後半部分を削除しました。
エラーメッセージのユーザー名すみません、ありがとうございました。
私のところでは、109改2は無事に動作しました。Config.xmlがない場合、ある場合、いずれもエラーメッセージが表示されることなく、無事に動作しました。
koh-heyさん、承知しました。エラーがなくなって何よりです。
Noneさん、取り急ぎ、画面が出なくなる方が改善するかどうか、改3をお試しいただけますでしょうか。 こちらの環境では、これで、BGAが表示されるようになりました。
サウンド関連はまた後日。
改3でもまだ画面が出ないです…
109 リリース版で自動演奏設定にしたうえで、真っ暗な中、演奏画面までたどり着いた所、
右端のタイトル、AUTO、チップを叩いた時のエフェクトは、改1~3全てで表示されていました。
Noneさん、改3でも尚黒画面とのこと。ご迷惑をおかけしていて申し訳ないのですが、改4をお試しいただけますでしょうか。(画面初期化コードを完全に109と同じにした・・・つもりです)
また、今回の画面関係の問題の検証並びにサウンド周りの調査の材料とさせていただきたく、恐れ入りますが、タイトル画面に遷移するところまででかまいませんので、DTXManiaLog.txtを貼り付けるなり本チケットに添付いただくなりしていただけますでしょうか。よろしくお願いいたします。
改4でも変わらないです…
実は、もう長いことプレイはしていないんですが、
原因が探れそうなバグ報告があったら調査して、ヒントになりそうな情報が見つかれば報告しようという感じなので、
全然迷惑ではないです。(むしろ、それが目的)
PCが古過ぎるのも一因ですかね…。
もしそうなら、上述の通りプレイヤーではないので、放置でも構いません。
以下、109 リリース版解凍後、改4上書き、初回起動後のタイトルが出ているであろう状態のログです。
2017/08/29 22:38:01.344 [INFO] ■ アプリケーションの初期化 2017/08/29 22:38:01.344 [INFO] OS Version: Microsoft Windows NT 6.3.9600.0 2017/08/29 22:38:01.344 [INFO] ProcessorCount: 2 2017/08/29 22:38:01.345 [INFO] CLR Version: 4.0.30319.42000 2017/08/29 22:38:01.345 [INFO] 言語情報の読み込みを開始します。 2017/08/29 22:38:01.345 [INFO] 言語をja-JPに設定しました。 2017/08/29 22:38:01.346 [INFO] 通常モードで起動します。 2017/08/29 22:38:01.346 [INFO] DirectInput, MIDI入力の初期化を行います。 2017/08/29 22:38:01.381 [INFO] キーボード を生成しました。 2017/08/29 22:38:01.394 [INFO] マウス を生成しました。 2017/08/29 22:38:01.471 [INFO] MIDI入力デバイス数: 0 2017/08/29 22:38:01.471 [INFO] DirectInput の初期化を完了しました。 2017/08/29 22:38:01.550 [INFO] 現在の電源プラン「バランス」をバックアップしました。 2017/08/29 22:38:01.588 [INFO] DeviceCaps = ExecuteSystemMemory, TLVertexSystemMemory, TextureVideoMemory, DrawPrimTLVertex, CanRenderAfterFlip, DrawPrimitives2, DrawPrimitives2Extended, HWRasterization 2017/08/29 22:38:01.588 [INFO] DeviceCaps2 = StreamOffset, CanStretchRectFromTextures, VertexElementsCanShareStreamOffset 2017/08/29 22:38:01.588 [INFO] MaxTextureWidth = 2048 2017/08/29 22:38:01.588 [INFO] MaxTextureHeight = 2048 2017/08/29 22:38:01.588 [INFO] TextureCaps = Perspective, Pow2, Alpha, TextureRepeatNotScaledBySize, NonPow2Conditional, Projected, CubeMap, VolumeMap, MipMap, MipVolumeMap, MipCubeMap, VolumeMapPow2, NoProjectedBumpEnvironment 2017/08/29 22:38:01.588 [INFO] DeviceInformation= HAL (sw vp): Intel(R) Q35 Express Chipset Family (Microsoft Corporation - WDDM 1.0) 2017/08/29 22:38:01.589 [INFO] DeviceStatics = D3D9 Vsync on (1920x1080), X8R8G8B8 (D16) 2017/08/29 22:38:01.605 [INFO] スキンの初期化を行います。 2017/08/29 22:38:01.640 [INFO] SkinPath検出: E:\Downloads\DTXMania\DTXMania109(170723)_DTXC033(170801)\System\Default\ 2017/08/29 22:38:01.640 [INFO] SkinPath入力: E:\Downloads\DTXMania\DTXMania109(170723)_DTXC033(170801)\System\Default\ 2017/08/29 22:38:01.666 [INFO] SkinPath設定: E:\Downloads\DTXMania\DTXMania109(170723)_DTXC033(170801)\System\Default\ 2017/08/29 22:38:01.669 [INFO] スキンの初期化を完了しました。 2017/08/29 22:38:01.669 [INFO] スキンフォルダに言語リソースがないか確認します。 2017/08/29 22:38:01.670 [INFO] Skin Path:E:\Downloads\DTXMania\DTXMania109(170723)_DTXC033(170801)\System\Default\ 2017/08/29 22:38:01.670 [ERROR] 言語情報ファイル System/resources.csv が見つかりませんでした。E:\Downloads\DTXMania\DTXMania109(170723)_DTXC033(170801)\System\Default\resources.csv 2017/08/29 22:38:01.670 [INFO] スキンフォルダ内の言語リソースを使用できません。既定の言語リソースを使用します。 2017/08/29 22:38:01.670 [INFO] タイマの初期化を行います。 2017/08/29 22:38:01.673 [INFO] タイマの初期化を完了しました。 2017/08/29 22:38:01.674 [INFO] FPSカウンタの初期化を行います。 2017/08/29 22:38:01.674 [INFO] FPSカウンタを生成しました。 2017/08/29 22:38:01.674 [INFO] 文字コンソールの初期化を行います。 2017/08/29 22:38:01.674 [INFO] 文字コンソールを生成しました。 2017/08/29 22:38:01.705 [INFO] 文字コンソールを活性化しました。 2017/08/29 22:38:01.705 [INFO] 文字コンソールの初期化を完了しました。 2017/08/29 22:38:01.705 [INFO] パッドの初期化を行います。 2017/08/29 22:38:01.705 [INFO] パッドの初期化を完了しました。 2017/08/29 22:38:01.705 [INFO] サウンドデバイスの初期化を行います。 2017/08/29 22:38:01.715 [INFO] BASS (WASAPI排他) の初期化を開始します。 2017/08/29 22:38:01.928 [INFO] サウンドデバイス一覧: 2017/08/29 22:38:01.935 [INFO] Sound Device #0: No sound: IsDefault=False, isEnabled=True, flags=BASS_DEVICE_ENABLED, driver= 2017/08/29 22:38:01.935 [INFO] Sound Device #1: �X�s�[�J�[ (Realtek High Definition Audio): IsDefault=True, isEnabled=True, flags=BASS_DEVICE_ENABLED, BASS_DEVICE_DEFAULT, BASS_DEVICE_TYPE_SPEAKERS, driver={0.0.0.00000000}.{81cff40c-8663-4d7d-b2b3-2cbec18a9e91} 2017/08/29 22:38:01.945 [INFO] Start Bass_Init(device=0(fixed value: no sound), deviceInfo.mixfreq=48000, BASS_DEVICE_DEFAULT, Zero) 2017/08/29 22:38:01.946 [INFO] WASAPIデバイス一覧: 2017/08/29 22:38:01.948 [INFO] WASAPI Device #0: スピーカー (Realtek High Definition Audio): IsDefault=True, defPeriod=0.01s, minperiod=0.003s, mixchans=2, mixfreq=48000 2017/08/29 22:38:01.955 [INFO] n希望バッファサイズms=0 2017/08/29 22:38:01.955 [INFO] n更新間隔ms=1 2017/08/29 22:38:01.955 [INFO] fPeriod=0.003 2017/08/29 22:38:01.955 [INFO] f希望バッファサイズsec=0.012 2017/08/29 22:38:01.955 [INFO] f更新間隔sec=0.003 2017/08/29 22:38:01.955 [INFO] Start Bass_Wasapi_Init(device=0, freq=48000, nchans=2, flags=BASS_WASAPI_EXCLUSIVE, BASS_WASAPI_AUTOFORMAT, buffer=0.012, period=0.003 2017/08/29 22:38:01.987 [INFO] 使用デバイス: #0 : スピーカー (Realtek High Definition Audio), flags=BASS_DEVICE_ENABLED, BASS_DEVICE_DEFAULT, BASS_DEVICE_INIT 2017/08/29 22:38:01.987 [INFO] BASS を初期化しました。(WASAPI排他モード, 48000Hz, 2ch, フォーマット:BASS_WASAPI_FORMAT_24BIT, バッファ8192bytes [28ms(希望12ms)], 更新間隔3ms) 2017/08/29 22:38:01.987 [INFO] デバイスの最小更新時間=3ms, 既定の更新時間=10ms 2017/08/29 22:38:01.993 [INFO] BASS_CONFIG_UpdatePeriod=100 2017/08/29 22:38:01.993 [INFO] BASS_CONFIG_UpdateThreads=1 2017/08/29 22:38:01.993 [INFO] サウンドデバイスの初期化を完了しました。 2017/08/29 22:38:01.993 [INFO] 曲リストの初期化を行います。 2017/08/29 22:38:01.995 [INFO] 曲リストの初期化を完了しました。 2017/08/29 22:38:02.155 [INFO] プラグインの検索と生成を行います。 2017/08/29 22:38:02.159 [WARNING] プラグインフォルダが存在しません。(E:\Downloads\DTXMania\DTXMania109(170723)_DTXC033(170801)\Plugins\) 2017/08/29 22:38:02.159 [INFO] プラグインの検索と生成を完了しました。 2017/08/29 22:38:02.159 [INFO] アプリケーションの初期化を完了しました。 2017/08/29 22:38:02.159 [INFO] ---------------------- 2017/08/29 22:38:02.159 [INFO] ■ 起動 2017/08/29 22:38:02.160 [INFO] 起動ステージを活性化します。 2017/08/29 22:38:02.276 [INFO] 起動ステージの活性化を完了しました。 2017/08/29 22:38:02.346 [INFO] 0) システムサウンドを構築します。 2017/08/29 22:38:02.387 [INFO] システムサウンドを読み込みました。(Sounds\Move.ogg) 2017/08/29 22:38:02.388 [WARNING] システムサウンドが存在しません。(Sounds\Game start.ogg) 2017/08/29 22:38:02.388 [WARNING] システムサウンドが存在しません。(Sounds\Full combo.ogg) 2017/08/29 22:38:02.401 [INFO] システムサウンドを読み込みました。(Sounds\Audience.ogg) 2017/08/29 22:38:02.404 [INFO] システムサウンドを読み込みました。(Sounds\Decide.ogg) 2017/08/29 22:38:02.409 [INFO] システムサウンドを読み込みました。(Sounds\Cancel.ogg) 2017/08/29 22:38:02.411 [INFO] システムサウンドを読み込みました。(Sounds\Change.ogg) 2017/08/29 22:38:02.414 [INFO] システムサウンドを読み込みました。(Sounds\Click_High.ogg) 2017/08/29 22:38:02.417 [INFO] システムサウンドを読み込みました。(Sounds\Click_Low.ogg) 2017/08/29 22:38:02.417 [INFO] 1) songlist.dbを読み込みます。 2017/08/29 22:38:02.423 [ERROR] songlist.db の読み込みに失敗しました。 2017/08/29 22:38:02.424 [INFO] songlist.db の読み込みを完了しました。[0スコア] 2017/08/29 22:38:02.424 [INFO] 2) songs.db を読み込みます。 2017/08/29 22:38:02.424 [INFO] songs.db の読み込みを完了しました。[0スコア] 2017/08/29 22:38:02.425 [INFO] 起動所要時間: 00:00:00.0790104 2017/08/29 22:38:02.447 [INFO] 起動ステージを非活性化します。 2017/08/29 22:38:02.451 [INFO] 起動ステージの非活性化を完了しました。 2017/08/29 22:38:02.451 [INFO] ---------------------- 2017/08/29 22:38:02.451 [INFO] ■ タイトル 2017/08/29 22:38:02.452 [INFO] タイトルステージを活性化します。 2017/08/29 22:38:02.594 [INFO] タイトルステージの活性化を完了しました。 2017/08/29 22:38:02.648 [INFO] ★曲データ検索スレッドを起動しました。 2017/08/29 22:38:02.652 [INFO] enum2) 曲データを検索します。 2017/08/29 22:38:02.653 [INFO] 検索パス: E:\Downloads\DTXMania\DTXMania109(170723)_DTXC033(170801)\.\ 2017/08/29 22:38:02.677 [INFO] 曲データの検索を完了しました。[0曲0スコア] 2017/08/29 22:38:02.678 [INFO] enum3) songs.db の情報を曲リストへ反映します。 2017/08/29 22:38:02.683 [INFO] 曲リストへの反映を完了しました。[0/0スコア] 2017/08/29 22:38:02.683 [INFO] 0, 0 2017/08/29 22:38:02.683 [INFO] enum4) songs.db になかった曲データ[0スコア]の情報をファイルから読み込んで反映します。 2017/08/29 22:38:02.688 [INFO] 曲データへの反映を完了しました。[0/0スコア] 2017/08/29 22:38:02.688 [INFO] enum5) 曲リストへの後処理を適用します。 2017/08/29 22:38:02.694 [INFO] 曲リストへの後処理を完了しました。 2017/08/29 22:38:02.694 [INFO] enum6) 曲データの情報を songs.db へ出力します。 2017/08/29 22:38:02.695 [INFO] songs.db: 以前のファイルから変化があったため、書き込みを実行します。 2017/08/29 22:38:02.697 [INFO] songs.db への出力を完了しました。[0スコア] 2017/08/29 22:38:02.697 [INFO] enum7) 曲データの情報を songlist.db へ出力します。 2017/08/29 22:38:02.699 [INFO] songlist.db: 以前のファイルから変化があったため、書き込みを実行します。 2017/08/29 22:38:02.700 [INFO] songlist.db への出力を完了しました。[0スコア] 2017/08/29 22:38:02.700 [INFO] 曲探索所要時間: 00:00:00.0480149
ログありがとうございます。確かにグラフ周りが相当古い感じです。(テクスチャ最大サイズが2k x 2kだったり、グラフドライバのモデルがWDDM1.0 (Vista時代のもの)だったり)
ちなみに、元々の 109では、画面は正しく表示されるのですよね。それが、exeだけ改ナントカに置き換えると、表示がなくなる、と。
そうです。
109 リリース版の初回起動時(Config.xmlが無い状態)はエラーもなく、画面も表示されています。
既にDTXManiaをお使いでないのにご協力いただいて、本当にありがとうございます。
改5、お願いします。109のソースと比較して修正しましたので、画面周りは今度こそ大丈夫なはずです.
Config.xml の有無に関わらず、エラーもなく無事、表示されるようになりました。
ご確認いただき、ありがとうございました。助かりました。
サウンド周りはまた後日改めて。
サウンド周り?
勘違いさせてしまっていたらすみません。
チケットの本題である、初回起動時はエラーが発生しないが、
2回目以降(Config.xml が作成された後)だとエラーが発生する件に関して、
Config.xml が作成され、エラーが発生する状態でも、
Config.xml 内の「nSoundDeviceType」を「WASAPI」とするとエラーを回避出来るという報告でした。
なので、Config.xml の有無によるエラーが解決された今は、「nSoundDeviceType」の値が、
「WASAPI_Exclusive」「WASAPI_Shared」「ASIO」「DSound」の、どの場合でもエラーは発生しておりません。ご心配無く。
ちょっと、分かりにくい表現でした。すみません。
失礼いたしました。了解です。
それでは、(元々の問題は影響度が大きいので) 修正版をRel110として、明日にでもリリースするようにいたします。 問題修正にご協力いただき、ありがとうございました。
修正版であるRelease110を正式にリリースしましたので、本チケットはクローズいたします。
起動時に、白画面に赤い線で×の画面になり、 エラーダイアログ「アプリケーションのコンポーネントで、ハンドルされていない例外が発生しました。「継続」をクリックすると、アプリケーションはこのエラーを無視し、続行しようとします。オブジェクト参照がオブジェクトインスタンスに設定されていません。。」と表示される。
108まではこの問題を見たことはありませんでした。109よりこの問題が発生するようになりました。
以下、詳細ボタンの中のメッセージ