Crashes related to hotkeys and remaps
Is there an existing issue for this?
- [x] This is a bug in RetroArch frontend
- [ ] I have searched the existing issues
Description
Latest nightly aarch64, Android, when a content is paused with the FPS toggle on, if you use the hotkey to close the FPS meter, RetroArch crashes. I've encountered a couple of other crashes in the last day when editing the remaps with the content paused. Never happened before.
Expected behavior
No response
Steps to reproduce the bug
Open content Toggle the FPS meter Pause content Toggle the FPS meter off
Version/Commit
1.21 83130f47b56d09e264cea5be85efd11ad07aab9f
Bisect Results
No response
Present in the nightly version
Yes, this is reproduced in the nightly build
Platform & operating system
Android aarch64
Affected Cores
No response
Environment information
No response
Relevant log output
[Core]: Using content: "/storage/04CB-838D/ROMs/CPS2/pzloop2.zip".
[Core]: Content ran for a total of: 00 hours, 00 minutes, 00 seconds.
[Core]: Unloading core..
[Core]: Unloading core symbols..
[Video]: Does not have enough samples for monitor refresh rate estimation. Requires to run for at least 4096 frames.
RetroArch 1.21.0 (Git 9be49b9)
=== Build =======================================
Capabilities: ASIMD
[INFO] Version: 1.21.0
[INFO] Git: 9be49b9
[INFO] Built: Jun 1 2025
[INFO] =================================================
[Input]: Found input driver: "android".
[Core]: Loading dynamic libretro core from: "/data/user/0/com.retroarch.aarch64/cores/fbalpha2012_libretro_android.so"
[Overrides]: Redirecting save file to "/storage/emulated/0/RetroArch/saves/FB Alpha 2012/pzloop2.srm".
[Overrides]: Redirecting save state to "/storage/emulated/0/RetroArch/states/FB Alpha 2012/pzloop2.state".
[Remaps]: Game-specific remap found at "/storage/emulated/0/RetroArch/config/remaps/FB Alpha 2012/pzloop2.rmp".
[Environ]: GET_LOG_INTERFACE.
[Content]: Content loading skipped. Implementation will load it on its own.
[Environ]: SAVE_DIRECTORY: "/storage/emulated/0/RetroArch/saves/FB Alpha 2012".
Setting save dir to /storage/emulated/0/RetroArch/saves/FB Alpha 2012
[Environ]: SYSTEM_DIRECTORY: "/storage/04CB-838D/BIOS".
Setting system dir to /storage/04CB-838D/BIOS
[Environ]: SET_CONTROLLER_INFO.
Port 1:
"Classic" (5)
"Modern" (517)
"Mouse (ball only)" (2)
"Mouse (full)" (514)
"Pointer" (6)
"Lightgun" (4)
Port 2:
"Classic" (5)
"Modern" (517)
"Mouse (ball only)" (2)
"Mouse (full)" (514)
"Pointer" (6)
"Lightgun" (4)
[Environ]: SET_VARIABLES.
[Environ]: GET_VARIABLE: fbneo-cpu-speed-adjust = "100"
[Environ]: GET_VARIABLE: fbneo-allow-depth-32 = "disabled"
[Environ]: GET_VARIABLE: fbneo-vertical-mode = "disabled"
[Environ]: GET_VARIABLE: fbneo-frameskip = "0"
[Environ]: GET_VARIABLE: fbneo-hiscores = "enabled"
[Environ]: GET_VARIABLE: fbneo-samplerate = "48000"
[Environ]: GET_VARIABLE: fbneo-sample-interpolation = "4-point 3rd order"
[Environ]: GET_VARIABLE: fbneo-fm-interpolation = "4-point 3rd order"
[Environ]: GET_VARIABLE: fbneo-analog-speed = "10"
[FBA] Archive: pzloop2
[FBA] Parsing archive /storage/04CB-838D/ROMs/CPS2/pzloop2.
[Environ]: SET_VARIABLES.
[Core]: Saved core options file to "/storage/emulated/0/RetroArch/config/FB Alpha 2012/FB Alpha 2012.opt".
[Environ]: GET_VARIABLE: fbneo-cpu-speed-adjust = "100"
[Environ]: GET_VARIABLE: fbneo-allow-depth-32 = "disabled"
[Environ]: GET_VARIABLE: fbneo-vertical-mode = "disabled"
[Environ]: GET_VARIABLE: fbneo-frameskip = "0"
[Environ]: GET_VARIABLE: fbneo-diagnostic-input = "None"
[Environ]: GET_VARIABLE: fbneo-hiscores = "enabled"
[Environ]: GET_VARIABLE: fbneo-samplerate = "48000"
[Environ]: GET_VARIABLE: fbneo-sample-interpolation = "4-point 3rd order"
[Environ]: GET_VARIABLE: fbneo-fm-interpolation = "4-point 3rd order"
[Environ]: GET_VARIABLE: fbneo-analog-speed = "10"
Initialize DIP switches.
[Environ]: SET_VARIABLES.
[Core]: Saved core options file to "/storage/emulated/0/RetroArch/config/FB Alpha 2012/FB Alpha 2012.opt".
Apply DIP switches value from core options.
Game: pzloop2
[Environ]: SET_ROTATION: "0" (0 deg).
[Environ]: SET_PIXEL_FORMAT: RGB565.
Frontend supports RGB565 - will use that instead of XRGB1555.
[SRAM]: Skipping SRAM load.
[Core]: Version of libretro API: 1, Compiled against API: 1
retro_get_system_av_info: base_width: 384, base_height: 224, max_width: 384, max_height: 384, aspect_ratio: (4/3) = 1.333333 (bVerticalMode: 0)
[Core]: Geometry: 384x224, Aspect: 1.333, FPS: 59.62, Sample rate: 31837.08 Hz.
[Video]: Set video size to: 897x672.
Android EGL: GLES version = 2.
[EGL] Falling back to eglGetDisplay
[EGL]: EGL version: 1.5
[GL]: Found GL context: "egl_android".
[GL]: Config requires windowed mode, but context driver does not support it. Forcing fullscreen for this session.
[GL]: Detecting screen resolution: 0x0.
[EGL]: Current context: 0x7275e345b0.
[GL]: Vendor: Qualcomm, Renderer: Adreno (TM) 650.
[GL]: Version: OpenGL ES 3.2 [email protected] (GIT@c095b0f6a5, I88dcacb6b9, 1695822396) (Date:09/27/23).
[GL]: Using ARB_sync to reduce latency.
[GL]: Using resolution 1920x1080.
[GL]: Default shader backend found: glsl.
[Shaders]: Specific shader preset found at "/storage/emulated/0/RetroArch/config/global.glslp".
[Shader driver]: Using GLSL shader backend.
[GLSL]: Found GLSL vertex shader.
[GLSL]: Found GLSL fragment shader.
[GLSL]: Linking GLSL program.
[GLSL]: Found GLSL vertex shader.
[GLSL]: Found GLSL fragment shader.
[GLSL]: Linking GLSL program.
[GLSL]: Found GLSL vertex shader.
[GLSL]: Found GLSL fragment shader.
[GLSL]: Linking GLSL program.
[GL]: Using 4 textures.
[GL]: Loaded 1 program(s).
[Joypad]: Found joypad driver: "android".
[Video]: Found display server: "android".
[Audio]: Set audio input rate to: 32040.00 Hz.
[OpenSL]: Requested audio latency: 64 ms.
[OpenSL]: Setting audio latency: Block size = 576, Blocks = 21, Total = 12096 ...
[Audio]: Started synchronous audio driver.
[Display]: Found display driver: "gl".
[Environ]: SET_INPUT_DESCRIPTORS:
Port 1:
"D-Pad Up" => "Up"
"D-Pad Down" => "Down"
"D-Pad Left" => "Left"
"D-Pad Right" => "Right"
"B Button (Down)" => "Shot"
"Select Button" => "Coin"
"Start Button" => "Start"
Port 2:
"D-Pad Up" => "Up"
"D-Pad Down" => "Down"
"D-Pad Left" => "Left"
"D-Pad Right" => "Right"
"B Button (Down)" => "Shot"
"Select Button" => "Coin"
"Start Button" => "Start"
[Playlist]: Loading history file: "/storage/emulated/0/Android/data/com.retroarch.aarch64/files/content_history.lpl".
[Playlist]: Loading history file: "/storage/emulated/0/Android/data/com.retroarch.aarch64/files/content_music_history.lpl".
[Playlist]: Loading history file: "/storage/emulated/0/Android/data/com.retroarch.aarch64/files/content_image_history.lpl".
[Playlist]: Loading favorites file: "/storage/emulated/0/Android/data/com.retroarch.aarch64/files/content_favorites.lpl".
[Audio]: Started audio driver "opensl" (is_shutdown=false)
[Autoconf]: First unconfigured / unreserved player is 1
[Autoconf]: Device "Xbox Wireless Controller" (2022:3002) is not reserved for any player slot.
[Audio]: Stopped audio driver "opensl"
Could we trouble you to try a few of these nightly builds to pinpoint when the behavior started? https://buildbot.libretro.com/nightly/android/
Urgh I can't right now. Btw, I need to bisect it on a different device or I should uninstall it to downgrade. Btw iirc the latest nightly I installed before the latest one was like 5 days ago and it didn't have this issue, but I might be wrong.
Can't repro on Windows at least.
@CometHunter92 I think you'd need to uninstall to downgrade, so it might be easiest to start at the oldest one you care to try. Using another device should be fine, too. It would be nice to see if it's reproduced on that hypothetical other device, too :)
When disable info button option is enabled, pressing the info button(select button) causes retroarch to quit/crash
This messes with the hotkey menu toggle(controller combo) that I set to start+select
Android 15
Controller: Gamesir g8 galileo
Version: 1.21.0 Git: f309478 Built: Jun 22 2025