libretro / scummvm

ScummVM main repository
https://www.scummvm.org
GNU General Public License v3.0
4 stars 6 forks source link

Hopkins FBI & Versailles crash on Android #23

Closed triggerthehorizon closed 1 year ago

triggerthehorizon commented 1 year ago

Hopkins FBI & Versailles crash on Android. The screen turns black and hangs for 10 seconds before RetroArch crashes. This happens on Android but not on windows. I am using the latest core and assets (using the core and system file downloader in RA)

i30817 commented 1 year ago

You should probably check if the same happens in upstream scummvm in android. Scummvm is not perfect in all engines, some are neglected or were never that complete.

triggerthehorizon commented 1 year ago

Those two games work fine on official scummvm for Android

i30817 commented 1 year ago

'fakes'? Did you mean 'games' there?

Anyway, i'm on linux 64 bits and Versailles doesn't crash here either. I can't test HFBI, since i don't have it.

triggerthehorizon commented 1 year ago

I did mean games, sorry, I can’t type on an Iphone 😵‍💫

triggerthehorizon commented 1 year ago

I remember reporting those two bugs to the developer of the diablodiab Scummvm core and he had implemented a fix that worked

triggerthehorizon commented 1 year ago

I believe he said it was a timing issue…

spleen1981 commented 1 year ago

@triggerthehorizon can you provide for both crashes the retroarch logs with debug level set for both frontend and core?

Those two games work fine on official scummvm for Android

Did you check with the current daily build of master branch?

I remember reporting those two bugs to the developer of the diablodiab Scummvm core and he had implemented a fix that worked

All fixes [within libretro core backend tree] from that repo are already merged here.

diablodiab commented 1 year ago

The fix was a workaround. I narrowed it down to a timing issue related to a delay. Patching out that delay appeared to fix the issue. But it was never properly addressed :)

https://github.com/diablodiab/libretro-scummvm-backend/blob/main/patches/android_fix_hopkins.patch

spleen1981 commented 1 year ago

The fix was a workaround.

Agree, can't be a suitable solution.

@triggerthehorizon is the speed hack (now 'Allow Timing Inaccuracies') setting enabled?

spleen1981 commented 1 year ago

fixed by 2fd912be5964758d7ed3e77a55bf3a3be695a39d

i30817 commented 1 year ago

This definitely needs to be mentioned upstream i think, if it happens there. A optimization breaking compiled code is probably a compiler problem and scummvm is probably more likely to be able to track it down / manage to fill in the gcc bug tracker.

spleen1981 commented 1 year ago

Not happening with standalone scummvm, afaik. Root cause can be upstream code, libretro implementation, a combination of the two or compiler version itself, hard to say without a deep (and time consuming) investigation, as there is no clear info in standard build tombstones regarding where the code fails. So if the fix is confirmed to be working, this becomes a low priority topic to be investigated, as per TODO comment line already in the makefile.

triggerthehorizon commented 1 year ago

Fix working here. Thank you!