libretro / scummvm

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

(platfrom, miyoo) Core hangs before loading GUI menu - memory issue? #46

Closed Apaczer closed 9 months ago

Apaczer commented 9 months ago

The scummvm core worked with old src (https://github.com/libretro-mirrors/scummvm), but here it just hangs before loading GUI and doesn't accept any inputs. There is also standalone version working from upstream as reference maybe?

DEBUG log just ends without any error on: [INFO] [Input]: Game Focus => OFF (retroarch.log)

I couldn't get this core to work after changes which brought current code inline with upstream. However I see that the core size grew from 21MB to almost double 35MB, which for a device who has 32MB RAM total (21MB free at best) is not best scenario. Any way to make output more stripped?

spleen1981 commented 9 months ago

Can you test this build?

Apaczer commented 9 months ago

It's the same, but I ran custom core build (7MB large with only one engine) to see if I can get GUI running and got same result. My initial thoughts then might not be accurect. The DEFINES you have enabled indeed speed up scummvm loading in standalone version.

spleen1981 commented 9 months ago

Ok then it should not be related to size or memory. Does it just freeze or also crashes? Is there any way to get system logs or crash logs on this platform? Have you tried to directly launch a game from retroarch to skip scummvm GUI?

You can also try to build your test version enabling the DEBUG flag to get a more detailed retroarch log.

Apaczer commented 9 months ago

The core just freeezes in the same place (at least reading from retroarch's logs), I need to send SIGKILL to shutdown frontend, no crash prior. Grabed short bt with DEBUG build, but not sure if it means anything:

Thread 1 "retroarch" received signal SIGINT, Interrupt.
0xb6c6b018 in pthread_cond_wait () from /lib/libc.so.0
#0  0xb6c6b018 in pthread_cond_wait () from /lib/libc.so.0
No symbol table info available.
#1  0xb648e548 in scond_wait (cond=0x6bfd48, lock=0x6bfd08)
    at /scummvm/backends/platform/libretro/deps/libretro-common/rthreads/rthreads.c:718
No locals.
#2  0xb61f9974 in retro_switch_to_emu_thread ()
    at /scummvm/backends/platform/libretro/src/libretro-threads.cpp:116
No locals.
#3  0xb61ef0d0 in retro_run ()
    at /scummvm/backends/platform/libretro/src/libretro-core.cpp:1027
        audio_video_enable = 3
        skip_frame = false
        samples_count = 0
#4  0x005633ac in ?? ()
Apaczer commented 9 months ago

Have you tried to directly launch a game from retroarch to skip scummvm GUI?

Also impossible, same behavior when loading file.scummvm.

spleen1981 commented 9 months ago

Grabed short bt with DEBUG build, but not sure if it means anything:

That's useful, can you test this build?

Apaczer commented 9 months ago

blimey, it does work! I was a bit confused at first because usual "left mouse click" switched from "A" button to "L1" and "A" is a quit event now. Thanks, feel free to close it when ready to merge.

spleen1981 commented 9 months ago

fixed by 6cf2ea54ea66a2bcc6c1b0842348fed9b3ccd4b9