libretro / RetroArch

Cross-platform, sophisticated frontend for the libretro API. Licensed GPLv3.
http://www.libretro.com
GNU General Public License v3.0
10.08k stars 1.81k forks source link

Segmentation Fault when browsing playlists with thumbnails - rpi2/3 #12063

Open jdalmanza opened 3 years ago

jdalmanza commented 3 years ago

running lakka rpi2.arm nightly (tested most recently on devel-20210220012040-424b1d8)

Originally opened in Lakka issues (see https://github.com/libretro/Lakka-LibreELEC/issues/1184) but was recommended that I open an issue in the RetroArch issues tracker.

When browsing playlists with thumbnails, after a while retroarch crashes with a segmentation fault

I tested this behavior on x86-64 and ofroid go advance (RockChip RK3326) using the same playlists and thumbnails and the behavior only seems to exist on the rpi image.

[INFO] RetroArch 1.9.0 (Git 5e551dd92b) [INFO] === Build ======================================= [INFO] Capabilities: NEON VFPv3 VFPv4 [INFO] Built: Feb 12 2021 [INFO] Version: 1.9.0 [INFO] Git: 5e551dd92b [INFO] ================================================= [INFO] [Environ]: SET_PIXEL_FORMAT: RGB565. [INFO] [Overrides]: Redirecting save file to "/storage/savefiles/.srm". [INFO] [Overrides]: Redirecting save state to "/storage/savestates/.state". [INFO] Version of libretro API: 1 [INFO] Compiled against API: 1 [INFO] [Audio]: Set audio input rate to: 48000.00 Hz. [INFO] [Video]: Video @ fullscreen [INFO] [Video]: Starting threaded video driver ... [INFO] [DRM]: Found 2 connectors. [INFO] [DRM]: Connector 0 connected: yes [INFO] [DRM]: Connector 0 has 31 modes. [INFO] [DRM]: Connector 0 assigned to monitor index: #1. [INFO] [DRM]: Connector 1 connected: no [INFO] [DRM]: Connector 1 has 1 modes. [INFO] [DRM]: Mode 0: (1360x768) 1360 x 768, 60 Hz [INFO] [DRM]: Mode 1: (1920x1080) 1920 x 1080, 60 Hz [INFO] [DRM]: Mode 2: (1920x1080) 1920 x 1080, 60 Hz [INFO] [DRM]: Mode 3: (1920x1080i) 1920 x 1080, 60 Hz [INFO] [DRM]: Mode 4: (1920x1080i) 1920 x 1080, 60 Hz [INFO] [DRM]: Mode 5: (1920x1080) 1920 x 1080, 50 Hz [INFO] [DRM]: Mode 6: (1920x1080i) 1920 x 1080, 50 Hz [INFO] [DRM]: Mode 7: (1920x1080) 1920 x 1080, 24 Hz [INFO] [DRM]: Mode 8: (1920x1080) 1920 x 1080, 24 Hz [INFO] [DRM]: Mode 9: (1280x768) 1280 x 768, 60 Hz [INFO] [DRM]: Mode 10: (1280x720) 1280 x 720, 60 Hz [INFO] [DRM]: Mode 11: (1280x720) 1280 x 720, 60 Hz [INFO] [DRM]: Mode 12: (1280x720) 1280 x 720, 50 Hz [INFO] [DRM]: Mode 13: (1024x768) 1024 x 768, 75 Hz [INFO] [DRM]: Mode 14: (1024x768) 1024 x 768, 70 Hz [INFO] [DRM]: Mode 15: (1024x768) 1024 x 768, 60 Hz [INFO] [DRM]: Mode 16: (800x600) 800 x 600, 75 Hz [INFO] [DRM]: Mode 17: (800x600) 800 x 600, 72 Hz [INFO] [DRM]: Mode 18: (800x600) 800 x 600, 60 Hz [INFO] [DRM]: Mode 19: (720x576) 720 x 576, 50 Hz [INFO] [DRM]: Mode 20: (720x576i) 720 x 576, 50 Hz [INFO] [DRM]: Mode 21: (720x480) 720 x 480, 60 Hz [INFO] [DRM]: Mode 22: (720x480) 720 x 480, 60 Hz [INFO] [DRM]: Mode 23: (720x480) 720 x 480, 60 Hz [INFO] [DRM]: Mode 24: (720x480i) 720 x 480, 60 Hz [INFO] [DRM]: Mode 25: (720x480i) 720 x 480, 60 Hz [INFO] [DRM]: Mode 26: (640x480) 640 x 480, 75 Hz [INFO] [DRM]: Mode 27: (640x480) 640 x 480, 73 Hz [INFO] [DRM]: Mode 28: (640x480) 640 x 480, 60 Hz [INFO] [DRM]: Mode 29: (640x480) 640 x 480, 60 Hz [INFO] [DRM]: Mode 30: (720x400) 720 x 400, 70 Hz libGL: Can't open configuration file /etc/drirc: No such file or directory. libGL: Can't open configuration file /storage/.drirc: No such file or directory. libGL: Can't open configuration file /etc/drirc: No such file or directory. libGL: Can't open configuration file /storage/.drirc: No such file or directory. libGL: Can't open configuration file /etc/drirc: No such file or directory. libGL: Can't open configuration file /storage/.drirc: No such file or directory. libGL: Can't open configuration file /etc/drirc: No such file or directory. libGL: Can't open configuration file /storage/.drirc: No such file or directory. [INFO] [GL]: Found GL context: kms [INFO] [GL]: Detecting screen resolution 1360x768. [INFO] [EGL] Found EGL_EXT_platform_base, trying eglGetPlatformDisplayEXT [INFO] [EGL]: EGL version: 1.4 [INFO] [EGL]: Current context: 0x73e0f128. [INFO] [KMS]: New FB: 1360x768 (stride: 5504). [INFO] [GL]: Vendor: Broadcom, Renderer: VC4 V3D 2.1. [INFO] [GL]: Version: OpenGL ES 2.0 Mesa 20.3.4. [INFO] [GL]: Using resolution 1360x768 [INFO] [GL]: Default shader backend found: glsl. [INFO] [Shader driver]: Using GLSL shader backend. [WARN] [GL]: Stock GLSL shaders will be used. [INFO] [GLSL]: Found GLSL vertex shader. [INFO] Shader log: 0:3(12): warning: extension `GL_OES_standard_derivatives' unsupported in vertex shader

[INFO] [GLSL]: Found GLSL fragment shader. [INFO] Shader log: 0:3(12): warning: extension `GL_OES_standard_derivatives' unsupported in fragment shader

[INFO] [GLSL]: Linking GLSL program. [INFO] [GLSL]: Found GLSL vertex shader. [INFO] Shader log: 0:3(12): warning: extension `GL_OES_standard_derivatives' unsupported in vertex shader

[INFO] [GLSL]: Found GLSL fragment shader. [INFO] Shader log: 0:3(12): warning: extension `GL_OES_standard_derivatives' unsupported in fragment shader

[INFO] [GLSL]: Linking GLSL program. [INFO] [GLSL]: Found GLSL vertex shader. [INFO] Shader log: 0:3(12): warning: extension `GL_OES_standard_derivatives' unsupported in vertex shader

[INFO] [GLSL]: Found GLSL fragment shader. [INFO] Shader log: 0:3(12): warning: extension `GL_OES_standard_derivatives' unsupported in fragment shader

[INFO] [GLSL]: Linking GLSL program. [INFO] Setting up menu pipeline shaders for XMB ... [INFO] [GLSL]: Compiling ribbon shader.. [INFO] [GLSL]: Found GLSL vertex shader. [INFO] Shader log: 0:3(12): warning: extension `GL_OES_standard_derivatives' unsupported in vertex shader

[INFO] [GLSL]: Found GLSL fragment shader. [INFO] Shader log: 0:3(12): warning: extension `GL_OES_standard_derivatives' unsupported in fragment shader

[INFO] [GLSL]: Linking GLSL program. [INFO] [GLSL]: Compiling simple ribbon shader.. [INFO] [GLSL]: Found GLSL vertex shader. [INFO] Shader log: 0:3(12): warning: extension `GL_OES_standard_derivatives' unsupported in vertex shader

[INFO] [GLSL]: Found GLSL fragment shader. [INFO] Shader log: 0:3(12): warning: extension `GL_OES_standard_derivatives' unsupported in fragment shader

[INFO] [GLSL]: Linking GLSL program. [INFO] [GLSL]: Compiling snow shader.. [INFO] [GLSL]: Found GLSL vertex shader. [INFO] Shader log: 0:3(12): warning: extension `GL_OES_standard_derivatives' unsupported in vertex shader

[INFO] [GLSL]: Found GLSL fragment shader. [INFO] Shader log: 0:3(12): warning: extension `GL_OES_standard_derivatives' unsupported in fragment shader

[INFO] [GLSL]: Linking GLSL program. [INFO] [GLSL]: Compiling modern snow shader.. [INFO] [GLSL]: Found GLSL vertex shader. [INFO] Shader log: 0:3(12): warning: extension `GL_OES_standard_derivatives' unsupported in vertex shader

[INFO] [GLSL]: Found GLSL fragment shader. [INFO] Shader log: 0:3(12): warning: extension `GL_OES_standard_derivatives' unsupported in fragment shader

[INFO] [GLSL]: Linking GLSL program. [INFO] [GLSL]: Compiling bokeh shader.. [INFO] [GLSL]: Found GLSL vertex shader. [INFO] Shader log: 0:3(12): warning: extension `GL_OES_standard_derivatives' unsupported in vertex shader

[INFO] [GLSL]: Found GLSL fragment shader. [INFO] Shader log: 0:3(12): warning: extension `GL_OES_standard_derivatives' unsupported in fragment shader

[INFO] [GLSL]: Linking GLSL program. [INFO] [GLSL]: Compiling snowflake shader.. [INFO] [GLSL]: Found GLSL vertex shader. [INFO] Shader log: 0:3(12): warning: extension `GL_OES_standard_derivatives' unsupported in vertex shader

[INFO] [GLSL]: Found GLSL fragment shader. [INFO] Shader log: 0:3(12): warning: extension `GL_OES_standard_derivatives' unsupported in fragment shader

[INFO] [GLSL]: Linking GLSL program. [INFO] [GL]: Using 4 textures. [INFO] [GL]: Loaded 1 program(s). [INFO] [Font]: Using font rendering backend: freetype. [INFO] [Video]: Graphics driver did not initialize an input driver. Attempting to pick a suitable driver. [WARN] [udev]: Couldn't open any keyboard, mouse or touchpad. Are permissions set correctly for /dev/input/event*? [INFO] [udev]: Pad #0 (/dev/input/event0) supports 0 force feedback effects. [INFO] [Joypad]: Found joypad driver: "udev". [WARN] [udev]: Full-screen pointer won't be available. [INFO] [Video]: Found display server: null [INFO] [Shaders]: Found shader "/tmp/shaders/bilinear.glslp" [INFO] [Shaders]: Found shader "/tmp/shaders/nearest.glslp" [INFO] [Shaders]: Found shader "/tmp/shaders/slang-conversion-template.glsl" [INFO] [Shaders]: Found shader "/tmp/shaders/stock.glsl" [INFO] ALSA: Using signed 16-bit format. [INFO] ALSA: Period size: 384 frames [INFO] ALSA: Buffer size: 1536 frames [INFO] [Display]: Found display driver: "gl". [INFO] [Font]: Using font rendering backend: freetype. [INFO] [Font]: Using font rendering backend: freetype. [INFO] [Font]: Using font rendering backend: freetype. [INFO] [Display]: Found display driver: "gl". [INFO] [Font]: Using font rendering backend: freetype. [INFO] [Font]: Using font rendering backend: freetype. function is no-op ALSA lib /home/lakka/Lakka-LibreELEC/build.Lakka-RPi2.arm/alsa-lib-1.2.3.2/src/seq/seq_hw.c:466:(snd_seq_hw_open) open /dev/snd/seq failed: No such file or directory [ERROR] [MIDI]: snd_seq_open failed with error -2. [ERROR] [MIDI]: Initialization failed (list of input devices unavailable). [INFO] Disconnecting device from port 3. [INFO] Disconnecting device from port 4. [INFO] Disconnecting device from port 5. [INFO] Disconnecting device from port 6. [INFO] Disconnecting device from port 7. [INFO] Disconnecting device from port 8. [INFO] Disconnecting device from port 9. [INFO] Disconnecting device from port 10. [INFO] Disconnecting device from port 11. [INFO] Disconnecting device from port 12. [INFO] Disconnecting device from port 13. [INFO] Disconnecting device from port 14. [INFO] Disconnecting device from port 15. [INFO] Disconnecting device from port 16. [INFO] [SRAM]: SRAM will not be saved. [INFO] [Playlist]: Loading history file: [/storage/.config/retroarch/content_history.lpl]. [INFO] [Playlist]: Loading history file: [/storage/.config/retroarch/content_music_history.lpl]. [INFO] [Playlist]: Loading history file: [/storage/.config/retroarch/content_video_history.lpl]. [INFO] [Playlist]: Loading history file: [/storage/.config/retroarch/content_image_history.lpl]. [INFO] [Playlist]: Loading favorites file: [/storage/.config/retroarch/content_favorites.lpl]. function is no-op [INFO] [Font]: Using font rendering backend: freetype. function is no-op [INFO] [Font]: Using font rendering backend: freetype. function is no-op [INFO] [Font]: Using font rendering backend: freetype. function is no-op [INFO] [KMS]: New FB: 1360x768 (stride: 5504). [INFO] [KMS]: New FB: 1360x768 (stride: 5504). function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op function is no-op Segmentation fault

for each 'function is no-op' in that output matches with controller input browsing the playlist until it crashes with the seg fault

Occasionally I see a full stack trace when this happens, I'll try to make it happen again and see if I can capture it.

I have also tried disabling the menu shader pipeline and the behavior persists.

Please let me know what other logs or data you might need.

jdalmanza commented 3 years ago

tried same playlists, roms, thumbnails from my pi3 build on a rpi4 (pi4.arm build) and this behavior is not present on the Pi4.