notaz / pcsx_rearmed

ARM optimized PCSX fork
GNU General Public License v2.0
384 stars 207 forks source link

Crashes Retroarch when loading content from SMB share (on AndroidTV) #278

Closed RobotLimeLtd closed 8 months ago

RobotLimeLtd commented 1 year ago

When loading PlayStation content (BIN/CUE format) from an SMB share on nVidia Shield TV (Pro or regular model), Retroarch pauses for 10 to 15 seconds, and then crashes back to the desktop.

This only happens with the above hardware/OS combination, and only with PCSX Re-armed.

Other cores loading equivalent content on the same hardware/OS combination work fine (e.g. Picodrive loading Sega CD titles from the same SMB share).

On Mac Mini, Retroarch and PCSX Re-armed load BIN/CUE content instantly from the same SMB share with no problems.

I will upload crash logs to this issue as soon as I work out how to do this on AndroidTV :)

RobotLimeLtd commented 1 year ago

Log output doesn't reveal any obvious errors... this is the entire log output (in debug level) from launching Retroarch, through launching Alien Resurrection (via PCSX Re-armed core), to crashing back to the AndroidTV desktop.

Using old --libretro behavior. Setting libretro_directory to "/data/user/0/com.retroarch.aarch64/cores/" instead.
RetroArch 1.14.0 (Git e3c92b0)
=== Build =======================================
Capabilities: ASIMD
[INFO] Built: Dec 13 2022
[INFO] Version: 1.14.0
[INFO] Git: e3c92b0
[INFO] =================================================
[Input]: Found input driver: "android".
[Environ]: SET_PIXEL_FORMAT: RGB565.
[Core]: Version of libretro API: 1, Compiled against API: 1
[Audio]: Set audio input rate to: 48000.00 Hz.
[Video]: Set video size to: 960x720.
[Video]: Starting threaded video driver ...
Android EGL: GLES version = 2.
[EGL] Falling back to eglGetDisplay
[EGL]: EGL version: 1.5
[GL]: Found GL context: "egl_android".
[GL]: Detecting screen resolution: 0x0.
[EGL]: Current context: 0x2c0279b260.
[GL]: Vendor: NVIDIA Corporation, Renderer: NVIDIA Tegra.
[GL]: Version: OpenGL ES 3.2 NVIDIA 495.00.
[GL]: Using resolution 1920x1080.
[GL]: Default shader backend found: glsl.
[Shader driver]: Using GLSL shader backend.
[GL]: Stock GLSL shaders will be used.
[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".
[OpenSL]: Requested audio latency: 128 ms.
...skipping...
[Core]: Using content: "/storage/DS920/RetroArch_Shared/roms/psx/Alien Resurrection [NTSC-U] [SLUS-00633]/Alien Resurrection [NTSC-U] [SLUS-00633].cue".
[Core]: Content ran for a total of: 00 hours, 00 minutes, 00 seconds.
[Core]: Unloading core..
[Core]: Unloading core symbols..
Threaded video stats: Frames pushed: 367, Frames dropped: 0.
RetroArch 1.14.0 (Git e3c92b0)
=== Build =======================================
Capabilities: ASIMD
[INFO] Built: Dec 13 2022
[INFO] Version: 1.14.0
[INFO] Git: e3c92b0
[INFO] =================================================
[Input]: Found input driver: "android".
[Core]: Loading dynamic libretro core from: "/data/user/0/com.retroarch.aarch64/cores/pcsx_rearmed_libretro_android.so"
[Environ]: GET_LOG_INTERFACE.
[Environ]: SET_CONTROLLER_INFO.
[Environ]: GET_CORE_OPTIONS_VERSION.
[Environ]: GET_LANGUAGE: "0".
[Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_V2_INTL.
[Remaps]: Core-specific remap found at "/storage/DS920/RetroArch_Shared/remaps/PCSX-ReARMed/PCSX-ReARMed.rmp".
[Overrides]: Redirecting save file to "/storage/DS920/RetroArch_Shared/savefiles/Alien Resurrection [NTSC-U] [SLUS-00633].srm".
[Overrides]: Redirecting save state to "/storage/DS920/RetroArch_Shared/savestates/Alien Resurrection [NTSC-U] [SLUS-00633].state".
[Environ]: GET_MESSAGE_INTERFACE_VERSION.
Memcard 2: enabled
[Environ]: GET_SAVE_DIRECTORY.
Use memcard 2: /storage/DS920/RetroArch_Shared/savefiles/pcsx-card2.mcd
Starting PCSX-ReARMed aced3eb
Running PCSX Version 1.9 (Dec 26 2022).
psxMap: warning: wanted to map @80000000, got 0x2da08c7000
psxMap: warning: wanted to map @77000000, got 0x2da08c7000
psxMap: warning: wanted to map @1f800000, got 0x2afea4b000
psxMap: warning: wanted to map @ff000000, got 0x2afea4b000
psxMap: warning: wanted to map @1fc00000, got 0x2da08c7000
psxMap: warning: wanted to map @a1000000, got 0x2da08c7000
Init new dynarec, ndrc size 1001000
(0x2dfebb1234) testing if we can run recompiled code @0x2dff17a000...
test passed.
warning: RAM is not directly mapped, performance will suffer
Mapped (RAM/scrp/ROM/LUTs/TC):
0x2da1000000/0x2afea50000/0x2da08d0000/0x0/0x2dff17a000
Loading memory card /storage/DS920/RetroArch_Shared/savefiles/pcsx-card2.mcd
[Environ]: SYSTEM_DIRECTORY: "/storage/DS920/RetroArch_Shared/bios".
found BIOS file: SCPH5501.bin
[Environ]: GET_CAN_DUPE: true
[Environ]: GET_DISK_CONTROL_INTERFACE_VERSION.
[Environ]: SET_DISK_CONTROL_EXT_INTERFACE.
[Environ]: GET_RUMBLE_INTERFACE.
[Environ]: PERFORMANCE_LEVEL: 6.
[Content]: Content loading skipped. Implementation will load it on its own.
[Environ]: SET_INPUT_DESCRIPTORS:
[Environ]: SET_PIXEL_FORMAT: RGB565.
RGB565 supported, using it
plugin: plugins/builtin_gpu
plugin: plugins/builtin_spu
plugin: plugins/builtin_pad
plugin: plugins/builtin_pad
Plugins loaded.
notaz commented 9 months ago

Not much information here that would help to fix this. Do other formats like .chd work? Does it work if the files are copied to the device? On Android there is a thing called logcat, maybe that would have some clues.

notaz commented 8 months ago

There were some attempts to fix it, you can open a new issue if it's still an issue.