medamap / CommonSourceCodeProject

5 stars 1 forks source link

メニュー操作直後にエミュレータの反応がなくなる #38

Closed NibblesLab closed 7 months ago

NibblesLab commented 7 months ago

不具合: メニューを操作するとアプリの応答がなくなり、終了するか待機するかのダイアログが出る メニュー操作自体は受け付けられ、変更した設定などが反映されるが、ダイアログは消えないので待機を選択しなければならない

再現手順: 不具合を再現する手順:

  1. MZ-2200の場合、メニュー→Device→Display→Color Monitorと選択
  2. しばらくエミュレータの操作ができなくなる
  3. ダイアログが出る、その後ろで設定が反映されたりする

なおメニューはファイル操作でも発生する メニュー操作を終えたあたりで応答消失が発生する模様

期待する動作: ダイアログなどが出ることなく、設定や操作が完了すること

スクリーンショット: なし

実行環境:

その他補足情報: 上記実行環境以外に必要と思われる情報をお願いします

medamap commented 7 months ago
NibblesLab commented 7 months ago

debug.txt ログを取りました。 X1turboエミュレータにて、メニューからFD0にディスクイメージをマウントする操作をしています。 応答がなくなったとのダイアログにて、待機ではなくアプリの終了を選んでいます。

medamap commented 7 months ago

確認してみました

下記、ChatGPT4 による分析です

ChatGPT4 への追加質問

回答

MediaProviderはAndroidのシステムコンポーネントであり、デバイス上のメディアファイル(画像、音楽、ビデオなど)に関するデータベースを管理しています。アプリケーションはMediaProviderを介してこれらのメディアファイルにアクセスし、クエリを実行したり、メディアファイルを追加、削除、更新したりすることができます。

content://media/external_primary/file/13828は、MediaProviderが管理するメディアデータベース内の特定のファイルへのURI(Uniform Resource Identifier)です。ここで、

ログに表示されているエラーは、この特定のファイル(IDが13828)が存在しないか、アクセスできない状況を示しています。これは、ファイルが削除された、パスが変更された、またはファイルシステムに問題が発生している可能性があります。

また、ログにはDeleted 1 items on external_primary due to jp.matrix.shikarunochi.emulator.x1turboというメッセージも含まれており、jp.matrix.shikarunochi.emulator.x1turboというアプリケーションによって何らかのファイル操作(おそらく削除)が行われたことを示しています。この操作がFileNotFoundExceptionの原因である可能性があります。

medamap commented 7 months ago
2024-04-08 17:53:57.519  2262-2365  commonProject           jp....shikarunochi.emulator.x1turbo  I  documentDir: /storage/emulated/0/Download
2024-04-08 17:53:57.519  2262-2365  commonProject           jp....shikarunochi.emulator.x1turbo  I  emulatorDir: /storage/emulated/0/Download/emulator
2024-04-08 17:53:57.519  2262-2365  commonProject           jp....shikarunochi.emulator.x1turbo  I  applicationDir: /storage/emulated/0/Download/emulator/x1turboROM
2024-04-08 17:53:57.519  2262-2365  commonProject           jp....shikarunochi.emulator.x1turbo  I  Load Icon:0
2024-04-08 17:53:57.524  2262-2365  commonProject           jp....shikarunochi.emulator.x1turbo  I  Load Icon:1
2024-04-08 17:53:57.528  2262-2365  commonProject           jp....shikarunochi.emulator.x1turbo  I  Load Icon:2
2024-04-08 17:53:57.533  2262-2365  commonProject           jp....shikarunochi.emulator.x1turbo  I  Load Icon:3
2024-04-08 17:53:57.536  2262-2365  commonProject           jp....shikarunochi.emulator.x1turbo  I  Load Icon:4
2024-04-08 17:53:57.539  2262-2365  commonProject           jp....shikarunochi.emulator.x1turbo  I  Load Icon:0
2024-04-08 17:53:57.543  2262-2365  commonProject           jp....shikarunochi.emulator.x1turbo  I  Load Icon:1
2024-04-08 17:53:57.548  2262-2365  commonProject           jp....shikarunochi.emulator.x1turbo  I  Load Icon:2
2024-04-08 17:53:57.552  2262-2365  commonProject           jp....shikarunochi.emulator.x1turbo  I  Load Icon:3
2024-04-08 17:53:57.873  2262-2365  commonProject           jp....shikarunochi.emulator.x1turbo  I  Loaded config file: /storage/emulated/0/Download/emulator/x1turboROM/config.ini
2024-04-08 17:53:57.907  2262-2262  ContentValues           jp....shikarunochi.emulator.x1turbo  I  Permissions granted
2024-04-08 17:53:57.936  2262-2365  commonProject           jp....shikarunochi.emulator.x1turbo  I  ClearScreen
2024-04-08 17:53:58.002  2262-2365  commonProject           jp....shikarunochi.emulator.x1turbo  I  Screen size (1080, 1920)
2024-04-08 17:53:58.002  2262-2365  commonProject           jp....shikarunochi.emulator.x1turbo  I  sound Frequency 4: rate 22050: samples 4410 
2024-04-08 17:53:58.002  2262-2365  commonProject           jp....shikarunochi.emulator.x1turbo  I  Initializing Graphic System ... 
2024-04-08 17:53:58.002  2262-2365  commonProject           jp....shikarunochi.emulator.x1turbo  I  Rate:22050 Samples:4410
2024-04-08 17:53:58.002  2262-2365  OboeAudio               jp....shikarunochi.emulator.x1turbo  W  `openManagedStream` is deprecated. Use openStream(std::shared_ptr<oboe::AudioStream> &stream) instead.
2024-04-08 17:53:58.002  2262-2365  OboeAudio               jp....shikarunochi.emulator.x1turbo  W  Passing AudioStream pointer deprecated, Use openStream(std::shared_ptr<oboe::AudioStream> &stream) instead.
2024-04-08 17:53:58.002  2262-2365  OboeAudio               jp....shikarunochi.emulator.x1turbo  I  openStreamInternal() OUTPUT -------- OboeVersion1.8.1 --------
2024-04-08 17:53:58.004  2262-2365  OboeAudio               jp....shikarunochi.emulator.x1turbo  W  SharingMode [AudioStreamBuilder::setSharingMode()] is not supported on OpenSLES streams.
2024-04-08 17:53:58.004  2262-2365  OboeAudio               jp....shikarunochi.emulator.x1turbo  I  AudioStreamOpenSLES::open() chans=2, rate=22050
2024-04-08 17:53:58.007  2262-2365  libOpenSLES             jp....shikarunochi.emulator.x1turbo  I  Emulating old channel mask behavior (ignoring positional mask 0x3, using default mask 0x3 based on channel count of 2)
2024-04-08 17:53:58.009  2262-2365  AudioTrack              jp....shikarunochi.emulator.x1turbo  W  AUDIO_OUTPUT_FLAG_FAST denied by client; transfer 1, track 22050 Hz, output 48000 Hz
2024-04-08 17:53:58.012  2262-2365  libOpenSLES             jp....shikarunochi.emulator.x1turbo  W  Leaving AndroidConfiguration::GetConfiguration (SL_RESULT_FEATURE_UNSUPPORTED)
2024-04-08 17:53:58.015  2262-2365  commonProject           jp....shikarunochi.emulator.x1turbo  I  Path: /storage/emulated/0/Download/emulator/x1turboROM/
2024-04-08 17:53:58.025  2262-2365  commonProject           jp....shikarunochi.emulator.x1turbo  I  Path: /storage/emulated/0/Download/emulator/x1turboROM/
2024-04-08 17:53:58.027  2262-2365  chatty                  jp....shikarunochi.emulator.x1turbo  I  uid=10666(u0_a666) Thread-4 identical 6 lines
2024-04-08 17:53:58.027  2262-2365  commonProject           jp....shikarunochi.emulator.x1turbo  I  Path: /storage/emulated/0/Download/emulator/x1turboROM/
2024-04-08 17:53:58.030  2262-2365  commonProject           jp....shikarunochi.emulator.x1turbo  I  Path: /storage/emulated/0/Download/emulator/x1turboROM/
2024-04-08 17:53:58.030  2262-2365  commonProject           jp....shikarunochi.emulator.x1turbo  I  Path: /storage/emulated/0/Download/emulator/x1turboROM/
2024-04-08 17:53:58.031  2262-2365  commonProject           jp....shikarunochi.emulator.x1turbo  I  Path: /storage/emulated/0/Download/emulator/x1turboROM/
2024-04-08 17:53:58.031  2262-2365  commonProject           jp....shikarunochi.emulator.x1turbo  I  Path: /storage/emulated/0/Download/emulator/x1turboROM/
2024-04-08 17:53:58.032  2262-2365  commonProject           jp....shikarunochi.emulator.x1turbo  I  Path: /storage/emulated/0/Download/emulator/x1turboROM/
2024-04-08 17:53:58.042  2262-2365  chatty                  jp....shikarunochi.emulator.x1turbo  I  uid=10666(u0_a666) Thread-4 identical 6 lines
2024-04-08 17:53:58.042  2262-2365  commonProject           jp....shikarunochi.emulator.x1turbo  I  Path: /storage/emulated/0/Download/emulator/x1turboROM/
NibblesLab commented 7 months ago

「エミュレータを起動する前からログ採取を開始していた場合、エミュレータ自身からのログが採取できてないことになります」 と 「エミュレータを起動する前からログの採取を試みてもらう」 は矛盾していませんか? ログ取得時の操作は ・ログ欄をクリア ・エミュレータを起動、操作、ダイアログ出現 ・Android Studioを前面に出してもダイアログが消えないのでアプリ終了を選択 ・ログ欄をポーズ、全選択してファイルに保存 です。 別の操作でログを再度取得してみます。

medamap commented 7 months ago
「エミュレータを起動する前からログ採取を開始していた場合、エミュレータ自身からのログが採取できてないことになります」
と
「エミュレータを起動する前からログの採取を試みてもらう」
は矛盾していませんか?
NibblesLab commented 7 months ago

コマンドラインからログを取りました。 logfile.txt フィルタ"commonProject"がかけられています。 ・ログ取得開始 ・X1turboエミュレータ起動、メニューからディスプレイ解像度の変更を操作 ・ダイアログ出現 ・ログ取得終了 としています。今回エミュレータは終了させていません。

medamap commented 7 months ago
adb logcat -c && adb logcat > my_non_filtered_log_file.txt
NibblesLab commented 7 months ago

平和そうなログだったので、そんな気はしていました。 フィルタなしでログを取ってみました。 logfile_non_filtered.txt 操作手順はフィルタ有りと同じです。

medamap commented 7 months ago
medamap commented 7 months ago

image

NibblesLab commented 7 months ago

config.iniはあります。そして、変更した内容はちゃんと保存されています。 つまり結果的にはconfig.iniの書き出しに失敗していません。

起動時間が長いなと思ってもいるのですが、config.ini読み込み時点で何かあるのかもしれませんね。

medamap commented 7 months ago
NibblesLab commented 7 months ago

ログを取りました。 logfile_non_filtered2.txt

medamap commented 7 months ago
NibblesLab commented 7 months ago

ログを取りました。 logfile_non_filtered3.txt ちなみに、今x1turboROMフォルダには config.ini.$$$ config.ini.tmp の二つが存在しています(config.iniはありません)。

medamap commented 7 months ago
medamap commented 7 months ago

image

04-08 22:20:42.308   642  6229 I ArcWindowController: taskOcclusionChanged: taskId=177, occlusionFraction=0.05078125, reason=1
04-08 22:20:42.346  6371  6392 I commonProject: Read Open Start /storage/emulated/0/Download/emulator/x1turboROM/config.ini
04-08 22:20:42.352  6371  6392 I commonProject: Read Open End /storage/emulated/0/Download/emulator/x1turboROM/config.ini
04-08 22:20:42.352  6371  6392 I commonProject: Write Open Start /storage/emulated/0/Download/emulator/x1turboROM/config.ini
04-08 22:20:42.366   480  1556 D CompatibilityChangeReporter: Compat change id reported: 149924527; UID 10097; state: ENABLED
04-08 22:20:42.368   480  1556 D CompatibilityChangeReporter: Compat change id reported: 132649864; UID 10097; state: DISABLED
04-08 22:20:42.442  6371  6392 I commonProject: Write Open End /storage/emulated/0/Download/emulator/x1turboROM/config.ini
medamap commented 7 months ago
NibblesLab commented 7 months ago

特に動作は変わりません。同様にログを取りました。 logfile_non_filtered4.txt ROMフォルダにはtempconfig.txtというファイルが中身を伴って存在しています。

medamap commented 7 months ago

ログ確認いたしましたが、本来 read オープンしなければならないファイルを write オープンしてますので、今までと状況が変わってません tempconfig.txt は config.ini の後ろに拡張子を出すだけの処理を、ファイル名そのものを別に変換して命名したのですが、その処理によるものです ここまでやって現象が変わらないのもかなり状況がおかしいです、すいません、本日はもうパソコンが使用できないので明日改めて内容確認したいと思います

medamap commented 7 months ago
NibblesLab commented 7 months ago

ログを取りました。 logfile_non_filtered5.txt

medamap commented 7 months ago

ログ確認いたしました 挙動が変わってないですね これは問題の切り分けで、他に Android 端末などをお待ちでしたらそちらでログをとっていただくことは可能だったりしますでしょうか? 端末が無い場合は、AndroidStudio があれば Android エミュレータが使えるので、そこで動かして挙動が変わるか確認する事ができるのですが、とりあえず APK を変えてはログを取る方向から少しアプローチを変えてみたいと思います

medamap commented 7 months ago

また、可能性の話しですが、他の端末だと正常に動いてログも正しく取れるとか、一度 Chromebook からエミュレータをアンインストールしてから、再度インストールするなどで状況変わるかもしれません

medamap commented 7 months ago

運が良ければ解決するかもな APK 試しに作ってみました

medamap commented 7 months ago
NibblesLab commented 7 months ago
medamap commented 7 months ago
medamap commented 7 months ago
NibblesLab commented 7 months ago

バッチリです。引き続きメニュー操作で応答がなくなるダイアログは出ませんし、保存した設定も起動時からちゃんと反映されています。ありがとうございました。

medamap commented 7 months ago
medamap commented 7 months ago