Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tinkerboard KMS - Segmentation Fault #487

Closed
steeeb opened this issue Feb 14, 2019 · 14 comments
Closed

Tinkerboard KMS - Segmentation Fault #487

steeeb opened this issue Feb 14, 2019 · 14 comments

Comments

@steeeb
Copy link

steeeb commented Feb 14, 2019

Hi, wondering if someone can shed some light.

Using a tinkerboard with KMS/DRM on Armbian. All other cores seem to load fine. Using RetroPie, RetroArch 1.7.6. Tried various commits too going back a month or 2 to rule out some recent bug.

Here is the platform for the Makefile:

Tinkerboard

else ifeq ($(platform), tinkerboard)
EXT ?= so
TARGET := $(TARGET_NAME)_libretro.$(EXT)
SHARED := -shared -Wl,--version-script=link.T
fpic = -fPIC
LIBS += -lrt
ARM_FLOAT_ABI_HARD = 1
FORCE_GLES = 1
SINGLE_PREC_FLAGS = 1
CPUFLAGS += -DNO_ASM -DARM_ASM -frename-registers -ftree-vectorize
CFLAGS += -marm -mfpu=neon-vfpv4 -mtune=cortex-a17 -mfloat-abi=hard $(CPUFLAGS)
CXXFLAGS += -marm -mfpu=neon-vfpv4 -mtune=cortex-a17 -mfloat-abi=hard $(CPUFLAGS)
ASFLAGS += $(CFLAGS) -c -frename-registers -fno-strict-aliasing -ffast-math -ftree-vectorize
PLATFORM_EXT := unix
WITH_DYNAREC=arm
HAVE_GENERIC_JIT = 0

Builds fine, when I try to start a game (tried many, they all work in standalone Reicast), I get the following:

Parameters:
Executing: /opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-reicast/reicast_libretro.so --config /opt/retropie/configs/dreamcast/retroarch.cfg "/home/tinker/RetroPie/roms/dreamcast/Crazy Taxi/Crazy Taxi.cdi" --verbose --appendconfig /dev/shm/retroarch.cfg
[INFO] RetroArch 1.7.6 (Git 9750719)
[INFO] Redirecting save file to "/home/tinker/RetroPie/roms/dreamcast/Crazy Taxi/Crazy Taxi.srm".
[INFO] Redirecting savestate to "/home/tinker/RetroPie/roms/dreamcast/Crazy Taxi/Crazy Taxi.state".
[INFO] === Build =======================================
Capabilities: NEON VFPv3 VFPv4
Built: Feb 14 2019
[INFO] Version: 1.7.6
[INFO] Git: 9750719
[INFO] =================================================
[INFO] Loading dynamic libretro core from: "/opt/retropie/libretrocores/lr-reicast/reicast_libretro.so"
[INFO] [overrides] no core-specific overrides found at /home/tinker/.config/retroarch/config/Reicast/Reicast.cfg.
[INFO] [overrides] no content-dir-specific overrides found at /home/tinker/.config/retroarch/config/Reicast/Crazy Taxi.cfg.
[INFO] [overrides] no game-specific overrides found at /home/tinker/.config/retroarch/config/Reicast/Crazy Taxi.cfg.
[INFO] Shaders: preset directory: /home/tinker/.config/retroarch/shaders/presets
[INFO] Shaders: no game-specific preset found at /home/tinker/.config/retroarch/shaders/presets/Reicast/Crazy Taxi.cgp.
[INFO] Shaders: no game-specific preset found at /home/tinker/.config/retroarch/shaders/presets/Reicast/Crazy Taxi.glslp.
[INFO] Shaders: no content-dir-specific preset found at /home/tinker/.config/retroarch/shaders/presets/Reicast/Crazy Taxi.cgp.
[INFO] Shaders: no content-dir-specific preset found at /home/tinker/.config/retroarch/shaders/presets/Reicast/Crazy Taxi.glslp.
[INFO] Shaders: no core-specific preset found at /home/tinker/.config/retroarch/shaders/presets/Reicast/Reicast.cgp.
[INFO] Shaders: no core-specific preset found at /home/tinker/.config/retroarch/shaders/presets/Reicast/Reicast.glslp.
[INFO] Environ SET_VARIABLES.
[INFO] Environ SET_CONTROLLER_INFO.
[INFO] Controller port: 1
[INFO] Gamepad (ID: 1)
[INFO] Keyboard (ID: 3)
[INFO] Mouse (ID: 2)
[INFO] Light Gun (ID: 4)
[INFO] Controller port: 2
[INFO] Gamepad (ID: 1)
[INFO] Keyboard (ID: 3)
[INFO] Mouse (ID: 2)
[INFO] Light Gun (ID: 4)
[INFO] Controller port: 3
[INFO] Gamepad (ID: 1)
[INFO] Keyboard (ID: 3)
[INFO] Mouse (ID: 2)
[INFO] Light Gun (ID: 4)
[INFO] Controller port: 4
[INFO] Gamepad (ID: 1)
[INFO] Keyboard (ID: 3)
[INFO] Mouse (ID: 2)
[INFO] Light Gun (ID: 4)
[INFO] Remaps: remap directory: /opt/retropie/configs/dreamcast/
[INFO] Remaps: no game-specific remap found at /opt/retropie/configs/dreamcast/Reicast/Crazy Taxi.rmp.
[INFO] Remaps: no content-dir-specific remap found at /opt/retropie/configs/dreamcast/Reicast/Crazy Taxi.rmp.
[INFO] Remaps: no core-specific remap found at /opt/retropie/configs/dreamcast/Reicast/Reicast.rmp.
[INFO] Redirecting save file to "/home/tinker/RetroPie/roms/dreamcast/Crazy Taxi/Crazy Taxi.srm".
[INFO] Redirecting savestate to "/home/tinker/RetroPie/roms/dreamcast/Crazy Taxi/Crazy Taxi.state".
[INFO] Environ GET_LOG_INTERFACE.
[INFO] Environ GET_PERF_INTERFACE.
[INFO] Environ SET_PIXEL_FORMAT: XRGB8888.
[INFO] Environ SET_KEYBOARD_CALLBACK.
[INFO] Content loading skipped. Implementation will load it on its own.
[INFO] CRC32: 0x8f29376c .
[INFO] Environ GET_RUMBLE_INTERFACE.
[libretro INFO] Rumble interface supported!
[INFO] Environ SYSTEM_DIRECTORY: "/home/tinker/RetroPie/BIOS".
[INFO] Environ GET_VARIABLE reicast_widescreen_hack:
[INFO] disabled
[INFO] Environ GET_VARIABLE reicast_screen_rotation:
[INFO] horizontal
[INFO] Environ GET_VARIABLE reicast_internal_resolution:
[INFO] 640x480
[reicast]: Got size: 640 x 480.
[INFO] Environ GET_VARIABLE reicast_cpu_mode:
[INFO] dynamic_recompiler
[INFO] Environ GET_VARIABLE reicast_boot_to_bios:
[INFO] disabled
[INFO] Environ GET_VARIABLE reicast_gdrom_fast_loading:
[INFO] disabled
[INFO] Environ GET_VARIABLE reicast_alpha_sorting:
[INFO] per-triangle (normal)
[INFO] Environ GET_VARIABLE reicast_mipmapping:
[INFO] enabled
[INFO] Environ GET_VARIABLE reicast_system:
[INFO] auto
[INFO] Environ GET_VARIABLE reicast_volume_modifier_enable:
[INFO] enabled
[INFO] Environ GET_VARIABLE reicast_audio_buffer_size:
[INFO] 1024
[INFO] Environ GET_VARIABLE reicast_cable_type:
[INFO] TV (RGB)
[INFO] Environ GET_VARIABLE reicast_broadcast:
[INFO] NTSC
[INFO] Environ GET_VARIABLE reicast_framerate:
[INFO] fullspeed
[INFO] Environ GET_VARIABLE reicast_region:
[INFO] USA
[INFO] Environ GET_VARIABLE reicast_language:
[INFO] Default
[INFO] Environ GET_VARIABLE reicast_div_matching:
[INFO] disabled
[INFO] Environ GET_VARIABLE reicast_texupscale:
[INFO] off
[INFO] Environ GET_VARIABLE reicast_texupscale_max_filtered_texture_size:
[INFO] 256
[INFO] Environ GET_VARIABLE reicast_enable_rtt:
[INFO] enabled
[INFO] Environ GET_VARIABLE reicast_enable_rttb:
[INFO] disabled
[INFO] Environ GET_VARIABLE reicast_render_to_texture_upscaling:
[INFO] 1x
[INFO] Environ GET_VARIABLE reicast_threaded_rendering:
[INFO] enabled
[INFO] Environ SET_SAVE_STATE_IN_BACKGROUND: yes.
[INFO] Environ GET_VARIABLE reicast_synchronous_rendering:
[INFO] disabled
[INFO] Environ GET_VARIABLE reicast_enable_purupuru:
[INFO] enabled
[INFO] Environ GET_VARIABLE reicast_analog_stick_deadzone:
[INFO] 15%
[INFO] Environ GET_VARIABLE reicast_trigger_deadzone:
[INFO] 0%
[INFO] Environ GET_VARIABLE reicast_enable_dsp:
[INFO] enabled
[INFO] Environ GET_VARIABLE reicast_digital_triggers:
[INFO] disabled
[INFO] Environ GET_VARIABLE reicast_allow_service_buttons:
[INFO] enabled
[INFO] Environ GET_VARIABLE reicast_custom_textures:
[INFO] disabled
[INFO] Environ GET_VARIABLE reicast_dump_textures:
[INFO] disabled
[INFO] Environ GET_VARIABLE reicast_vmu1_screen_display:
[INFO] disabled
[INFO] Environ GET_VARIABLE reicast_vmu1_screen_position:
[INFO] Upper Left
[INFO] Environ GET_VARIABLE reicast_vmu1_screen_size_mult:
[INFO] 1x
[INFO] Environ GET_VARIABLE reicast_vmu1_screen_opacity:
[INFO] 100%
[INFO] Environ GET_VARIABLE reicast_vmu1_pixel_on_color:
[INFO] DEFAULT_ON 00
[INFO] Environ GET_VARIABLE reicast_vmu1_pixel_off_color:
[INFO] DEFAULT_OFF 01
[INFO] Environ GET_VARIABLE reicast_vmu2_screen_display:
[INFO] disabled
[INFO] Environ GET_VARIABLE reicast_vmu2_screen_position:
[INFO] Upper Left
[INFO] Environ GET_VARIABLE reicast_vmu2_screen_size_mult:
[INFO] 1x
[INFO] Environ GET_VARIABLE reicast_vmu2_screen_opacity:
[INFO] 100%
[INFO] Environ GET_VARIABLE reicast_vmu2_pixel_on_color:
[INFO] DEFAULT_ON 00
[INFO] Environ GET_VARIABLE reicast_vmu2_pixel_off_color:
[INFO] DEFAULT_OFF 01
[INFO] Environ GET_VARIABLE reicast_vmu3_screen_display:
[INFO] disabled
[INFO] Environ GET_VARIABLE reicast_vmu3_screen_position:
[INFO] Upper Left
[INFO] Environ GET_VARIABLE reicast_vmu3_screen_size_mult:
[INFO] 1x
[INFO] Environ GET_VARIABLE reicast_vmu3_screen_opacity:
[INFO] 100%
[INFO] Environ GET_VARIABLE reicast_vmu3_pixel_on_color:
[INFO] DEFAULT_ON 00
[INFO] Environ GET_VARIABLE reicast_vmu3_pixel_off_color:
[INFO] DEFAULT_OFF 01
[INFO] Environ GET_VARIABLE reicast_vmu4_screen_display:
[INFO] disabled
[INFO] Environ GET_VARIABLE reicast_vmu4_screen_position:
[INFO] Upper Left
[INFO] Environ GET_VARIABLE reicast_vmu4_screen_size_mult:
[INFO] 1x
[INFO] Environ GET_VARIABLE reicast_vmu4_screen_opacity:
[INFO] 100%
[INFO] Environ GET_VARIABLE reicast_vmu4_pixel_on_color:
[INFO] DEFAULT_ON 00
[INFO] Environ GET_VARIABLE reicast_vmu4_pixel_off_color:
[INFO] DEFAULT_OFF 01
[libretro INFO] File extension is: .cdi
[INFO] Environ SET_ROTATION: 0
[INFO] Environ SET_HW_RENDER.
[INFO] Requesting OpenGLES2 context.
Creating dir: /home/tinker/RetroPie/BIOS/dc/data
ARM VFP-Run Fast (NFP) enabled !
Linux paging: 00001000 00001000 00000FFF
MAP 00800000 w/ 25165824
MAP 20000000 w/ 25165824
MAP 04000000 w/ 16777216
MAP 06000000 w/ 16777216
MAP 0C000000 w/ 0
A8
vmem reserve: base: 8D740000, aram: ad740000, vram: 91740000, ram: 99740000
Resetting mem
Loaded /home/tinker/RetroPie/BIOS/dc/dc_boot.bin as bootrom

Loaded /home/tinker/RetroPie/BIOS/dc/dc_flash_wb.bin as nvram

[libretro INFO] Using Recompiler
Sh4 Reset
recSh4 Init
Freeing fpcb
readm helpers: up to ADD73250
gdrom: Opened image "/home/tinker/RetroPie/roms/dreamcast/Crazy Taxi/Crazy Taxi.cdi"

ARM7_TCB addr: 0xadc13000 | from: 0xadc12644 | addr here: 0xadc0b940
Initializing VMU data...
Initializing VMU data...
Initializing VMU data...
Initializing VMU data...
Sh4 Reset
reios: IP.bin is 'SEGA SEGAKATANA SEGA ENTERPRISESAD31 GD-ROM1/1 JUE 0799A10 MK-51035 V1.00020000120 1ST_READ.BIN ECHELON CRAZY TAXI /home/tinker/RetroPie/BIOS/dc/'
reios: Hardware ID is: SEGA SEGAKATANA
reios: Maker ID is: SEGA ENTERPRISES
reios: Device info is: AD31 GD-ROM1/1
reios: Area symbols is: JUE
reios: Peripherals is: 0799A10
reios: Product number is: MK-51035
reios: Product version is: V1.000
reios: Release date is: 20000120
reios: Boot filename is: 1ST_READ.BIN
reios: Software company is: ECHELON
reios: Software name is: CRAZY TAXI
reios: loading ip.bin from FAD: 11852
reios: bootfile is '1ST_READ.BIN '
reios: iso9660 PVD found
reios: iso9660 root_directory, FAD: 11875, len: 4096
Found 1ST_READ.BIN at 0000B9
filename len: 14
file LBA: 268072
file LEN: 1477040
[libretro INFO] [LUT]: Product number: MK-51035 .
[INFO] Environ SET_DISK_CONTROL_INTERFACE.
[INFO] Skipping SRAM load..
[INFO] Version of libretro API: 1
[INFO] Compiled against API: 1
[INFO] [Audio]: Set audio input rate to: 44055.94 Hz.
[INFO] [Video]: Video @ 1920x1440
[INFO] [Video]: Using HW render, OpenGL driver forced.
[INFO] [DRM]: Found 1 connectors.
[INFO] [DRM]: Connector 0 connected: yes
[INFO] [DRM]: Connector 0 has 15 modes.
[INFO] [DRM]: Connector 0 assigned to monitor index: #1.
[INFO] [DRM]: Mode 0: (1280x720) 1280 x 720, 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: (1280x720) 1280 x 720, 60 Hz
[INFO] [DRM]: Mode 8: (1280x720) 1280 x 720, 50 Hz
[INFO] [DRM]: Mode 9: (1024x768) 1024 x 768, 60 Hz
[INFO] [DRM]: Mode 10: (800x600) 800 x 600, 60 Hz
[INFO] [DRM]: Mode 11: (800x600) 800 x 600, 56 Hz
[INFO] [DRM]: Mode 12: (720x576) 720 x 576, 50 Hz
[INFO] [DRM]: Mode 13: (720x480) 720 x 480, 60 Hz
[INFO] [DRM]: Mode 14: (720x480) 720 x 480, 60 Hz
[INFO] [GL]: Found GL context: kms
[INFO] [GL]: Detecting screen resolution 1280x720.
[INFO] [EGL] Found EGL_EXT_platform_base, trying eglGetPlatformDisplayEXT
[INFO] [EGL]: EGL version: 1.4
[INFO] [EGL]: Created shared context: 0x1d57e28.
[INFO] [EGL]: Current context: 0x1d31090.
[INFO] [KMS]: New FB: 1280x720 (stride: 5120).
[INFO] [GL]: Vendor: ARM, Renderer: Mali-T760.
[INFO] [GL]: Version: OpenGL ES 3.2 v1.r14p0-01rel0-git(966ed26).eedaf0c5244add8e249cecdd3c721329.
[INFO] [GL]: Using resolution 1280x720
[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] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] Resetting shader to defaults ...
[INFO] [GL]: Using 1 textures.
[INFO] [GL]: Loaded 1 program(s).
[INFO] [GL]: Initializing HW render (1024 x 1024).
[INFO] [GL]: Max texture size: 8192 px, renderbuffer size: 8192 px.
[INFO] [GL]: Supports FBO (render-to-texture).
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Video]: Graphics driver did not initialize an input driver. Attempting to pick a suitable driver.
[INFO] [udev]: Keyboard #0 (/dev/input/event2).
[INFO] [udev]: Mouse #0 (/dev/input/event3).
[INFO] [udev]: Plugged pad: PLAYSTATION(R)3 Controller (1356:616) on port #0.
[INFO] [udev]: Pad #0 (/dev/input/event7) supports force feedback.
[INFO] [udev]: Pad #0 (/dev/input/event7) supports 16 force feedback effects.
[INFO] [Autoconf]: 2 profiles found.
[INFO] [autoconf]: selected configuration: /home/tinker/.config/retroarch/autoconfig/PLAYSTATION(R)3 Controller.cfg
[INFO] [Joypad]: Found joypad driver: "udev".
[WARN] [udev]: Full-screen pointer won't be available.
[INFO] [Video]: Found display server: null
context_reset.
[INFO] [ALSA]: Using signed 16-bit format.
[INFO] [ALSA]: Period size: 768 frames
[INFO] [ALSA]: Buffer size: 3072 frames
[INFO] [ALSA]: Can pause: yes.
[INFO] [LED]: LED driver = 'null' 0x9696a8
[INFO] [MIDI]: Initializing ...
[INFO] [MIDI]: Input disabled.
[INFO] [MIDI]: Output disabled.
[INFO] [MIDI]: Initialized "alsa" driver.
[INFO] Environ SET_INPUT_DESCRIPTORS:
[INFO] RetroPad, User 1, Button "B (bottom)" => "A"
[INFO] RetroPad, User 1, Button "Y (left)" => "X"
[INFO] RetroPad, User 1, Button "Start" => "Start"
[INFO] RetroPad, User 1, Button "D-Pad Up" => "D-Pad Up"
[INFO] RetroPad, User 1, Button "D-Pad Down" => "D-Pad Down"
[INFO] RetroPad, User 1, Button "D-Pad Left" => "D-Pad Left"
[INFO] RetroPad, User 1, Button "D-Pad Right" => "D-Pad Right"
[INFO] RetroPad, User 1, Button "A (right)" => "B"
[INFO] RetroPad, User 1, Button "X (up)" => "Y"
[INFO] RetroPad, User 1, Button "L2" => "L Trigger"
[INFO] RetroPad, User 1, Button "R2" => "R Trigger"
[INFO] RetroPad, User 2, Button "B (bottom)" => "A"
[INFO] RetroPad, User 2, Button "Y (left)" => "X"
[INFO] RetroPad, User 2, Button "Start" => "Start"
[INFO] RetroPad, User 2, Button "D-Pad Up" => "D-Pad Up"
[INFO] RetroPad, User 2, Button "D-Pad Down" => "D-Pad Down"
[INFO] RetroPad, User 2, Button "D-Pad Left" => "D-Pad Left"
[INFO] RetroPad, User 2, Button "D-Pad Right" => "D-Pad Right"
[INFO] RetroPad, User 2, Button "A (right)" => "B"
[INFO] RetroPad, User 2, Button "X (up)" => "Y"
[INFO] RetroPad, User 2, Button "L2" => "L Trigger"
[INFO] RetroPad, User 2, Button "R2" => "R Trigger"
[INFO] RetroPad, User 3, Button "B (bottom)" => "A"
[INFO] RetroPad, User 3, Button "Y (left)" => "X"
[INFO] RetroPad, User 3, Button "Start" => "Start"
[INFO] RetroPad, User 3, Button "D-Pad Up" => "D-Pad Up"
[INFO] RetroPad, User 3, Button "D-Pad Down" => "D-Pad Down"
[INFO] RetroPad, User 3, Button "D-Pad Left" => "D-Pad Left"
[INFO] RetroPad, User 3, Button "D-Pad Right" => "D-Pad Right"
[INFO] RetroPad, User 3, Button "A (right)" => "B"
[INFO] RetroPad, User 3, Button "X (up)" => "Y"
[INFO] RetroPad, User 3, Button "L2" => "L Trigger"
[INFO] RetroPad, User 3, Button "R2" => "R Trigger"
[INFO] RetroPad, User 4, Button "B (bottom)" => "A"
[INFO] RetroPad, User 4, Button "Y (left)" => "X"
[INFO] RetroPad, User 4, Button "Start" => "Start"
[INFO] RetroPad, User 4, Button "D-Pad Up" => "D-Pad Up"
[INFO] RetroPad, User 4, Button "D-Pad Down" => "D-Pad Down"
[INFO] RetroPad, User 4, Button "D-Pad Left" => "D-Pad Left"
[INFO] RetroPad, User 4, Button "D-Pad Right" => "D-Pad Right"
[INFO] RetroPad, User 4, Button "A (right)" => "B"
[INFO] RetroPad, User 4, Button "X (up)" => "Y"
[INFO] RetroPad, User 4, Button "L2" => "L Trigger"
[INFO] RetroPad, User 4, Button "R2" => "R Trigger"
Initializing VMU data...
Initializing VMU data...
Initializing VMU data...
Initializing VMU data...
[INFO] Environ SET_INPUT_DESCRIPTORS:
[INFO] RetroPad, User 1, Button "B (bottom)" => "A"
[INFO] RetroPad, User 1, Button "Y (left)" => "X"
[INFO] RetroPad, User 1, Button "Start" => "Start"
[INFO] RetroPad, User 1, Button "D-Pad Up" => "D-Pad Up"
[INFO] RetroPad, User 1, Button "D-Pad Down" => "D-Pad Down"
[INFO] RetroPad, User 1, Button "D-Pad Left" => "D-Pad Left"
[INFO] RetroPad, User 1, Button "D-Pad Right" => "D-Pad Right"
[INFO] RetroPad, User 1, Button "A (right)" => "B"
[INFO] RetroPad, User 1, Button "X (up)" => "Y"
[INFO] RetroPad, User 1, Button "L2" => "L Trigger"
[INFO] RetroPad, User 1, Button "R2" => "R Trigger"
[INFO] RetroPad, User 2, Button "B (bottom)" => "A"
[INFO] RetroPad, User 2, Button "Y (left)" => "X"
[INFO] RetroPad, User 2, Button "Start" => "Start"
[INFO] RetroPad, User 2, Button "D-Pad Up" => "D-Pad Up"
[INFO] RetroPad, User 2, Button "D-Pad Down" => "D-Pad Down"
[INFO] RetroPad, User 2, Button "D-Pad Left" => "D-Pad Left"
[INFO] RetroPad, User 2, Button "D-Pad Right" => "D-Pad Right"
[INFO] RetroPad, User 2, Button "A (right)" => "B"
[INFO] RetroPad, User 2, Button "X (up)" => "Y"
[INFO] RetroPad, User 2, Button "L2" => "L Trigger"
[INFO] RetroPad, User 2, Button "R2" => "R Trigger"
[INFO] RetroPad, User 3, Button "B (bottom)" => "A"
[INFO] RetroPad, User 3, Button "Y (left)" => "X"
[INFO] RetroPad, User 3, Button "Start" => "Start"
[INFO] RetroPad, User 3, Button "D-Pad Up" => "D-Pad Up"
[INFO] RetroPad, User 3, Button "D-Pad Down" => "D-Pad Down"
[INFO] RetroPad, User 3, Button "D-Pad Left" => "D-Pad Left"
[INFO] RetroPad, User 3, Button "D-Pad Right" => "D-Pad Right"
[INFO] RetroPad, User 3, Button "A (right)" => "B"
[INFO] RetroPad, User 3, Button "X (up)" => "Y"
[INFO] RetroPad, User 3, Button "L2" => "L Trigger"
[INFO] RetroPad, User 3, Button "R2" => "R Trigger"
[INFO] RetroPad, User 4, Button "B (bottom)" => "A"
[INFO] RetroPad, User 4, Button "Y (left)" => "X"
[INFO] RetroPad, User 4, Button "Start" => "Start"
[INFO] RetroPad, User 4, Button "D-Pad Up" => "D-Pad Up"
[INFO] RetroPad, User 4, Button "D-Pad Down" => "D-Pad Down"
[INFO] RetroPad, User 4, Button "D-Pad Left" => "D-Pad Left"
[INFO] RetroPad, User 4, Button "D-Pad Right" => "D-Pad Right"
[INFO] RetroPad, User 4, Button "A (right)" => "B"
[INFO] RetroPad, User 4, Button "X (up)" => "Y"
[INFO] RetroPad, User 4, Button "L2" => "L Trigger"
[INFO] RetroPad, User 4, Button "R2" => "R Trigger"
Initializing VMU data...
Initializing VMU data...
Initializing VMU data...
Initializing VMU data...
[INFO] Environ SET_INPUT_DESCRIPTORS:
[INFO] RetroPad, User 1, Button "B (bottom)" => "A"
[INFO] RetroPad, User 1, Button "Y (left)" => "X"
[INFO] RetroPad, User 1, Button "Start" => "Start"
[INFO] RetroPad, User 1, Button "D-Pad Up" => "D-Pad Up"
[INFO] RetroPad, User 1, Button "D-Pad Down" => "D-Pad Down"
[INFO] RetroPad, User 1, Button "D-Pad Left" => "D-Pad Left"
[INFO] RetroPad, User 1, Button "D-Pad Right" => "D-Pad Right"
[INFO] RetroPad, User 1, Button "A (right)" => "B"
[INFO] RetroPad, User 1, Button "X (up)" => "Y"
[INFO] RetroPad, User 1, Button "L2" => "L Trigger"
[INFO] RetroPad, User 1, Button "R2" => "R Trigger"
[INFO] RetroPad, User 2, Button "B (bottom)" => "A"
[INFO] RetroPad, User 2, Button "Y (left)" => "X"
[INFO] RetroPad, User 2, Button "Start" => "Start"
[INFO] RetroPad, User 2, Button "D-Pad Up" => "D-Pad Up"
[INFO] RetroPad, User 2, Button "D-Pad Down" => "D-Pad Down"
[INFO] RetroPad, User 2, Button "D-Pad Left" => "D-Pad Left"
[INFO] RetroPad, User 2, Button "D-Pad Right" => "D-Pad Right"
[INFO] RetroPad, User 2, Button "A (right)" => "B"
[INFO] RetroPad, User 2, Button "X (up)" => "Y"
[INFO] RetroPad, User 2, Button "L2" => "L Trigger"
[INFO] RetroPad, User 2, Button "R2" => "R Trigger"
[INFO] RetroPad, User 3, Button "B (bottom)" => "A"
[INFO] RetroPad, User 3, Button "Y (left)" => "X"
[INFO] RetroPad, User 3, Button "Start" => "Start"
[INFO] RetroPad, User 3, Button "D-Pad Up" => "D-Pad Up"
[INFO] RetroPad, User 3, Button "D-Pad Down" => "D-Pad Down"
[INFO] RetroPad, User 3, Button "D-Pad Left" => "D-Pad Left"
[INFO] RetroPad, User 3, Button "D-Pad Right" => "D-Pad Right"
[INFO] RetroPad, User 3, Button "A (right)" => "B"
[INFO] RetroPad, User 3, Button "X (up)" => "Y"
[INFO] RetroPad, User 3, Button "L2" => "L Trigger"
[INFO] RetroPad, User 3, Button "R2" => "R Trigger"
[INFO] RetroPad, User 4, Button "B (bottom)" => "A"
[INFO] RetroPad, User 4, Button "Y (left)" => "X"
[INFO] RetroPad, User 4, Button "Start" => "Start"
[INFO] RetroPad, User 4, Button "D-Pad Up" => "D-Pad Up"
[INFO] RetroPad, User 4, Button "D-Pad Down" => "D-Pad Down"
[INFO] RetroPad, User 4, Button "D-Pad Left" => "D-Pad Left"
[INFO] RetroPad, User 4, Button "D-Pad Right" => "D-Pad Right"
[INFO] RetroPad, User 4, Button "A (right)" => "B"
[INFO] RetroPad, User 4, Button "X (up)" => "Y"
[INFO] RetroPad, User 4, Button "L2" => "L Trigger"
[INFO] RetroPad, User 4, Button "R2" => "R Trigger"
Initializing VMU data...
Initializing VMU data...
Initializing VMU data...
Initializing VMU data...
[INFO] Environ SET_INPUT_DESCRIPTORS:
[INFO] RetroPad, User 1, Button "B (bottom)" => "A"
[INFO] RetroPad, User 1, Button "Y (left)" => "X"
[INFO] RetroPad, User 1, Button "Start" => "Start"
[INFO] RetroPad, User 1, Button "D-Pad Up" => "D-Pad Up"
[INFO] RetroPad, User 1, Button "D-Pad Down" => "D-Pad Down"
[INFO] RetroPad, User 1, Button "D-Pad Left" => "D-Pad Left"
[INFO] RetroPad, User 1, Button "D-Pad Right" => "D-Pad Right"
[INFO] RetroPad, User 1, Button "A (right)" => "B"
[INFO] RetroPad, User 1, Button "X (up)" => "Y"
[INFO] RetroPad, User 1, Button "L2" => "L Trigger"
[INFO] RetroPad, User 1, Button "R2" => "R Trigger"
[INFO] RetroPad, User 2, Button "B (bottom)" => "A"
[INFO] RetroPad, User 2, Button "Y (left)" => "X"
[INFO] RetroPad, User 2, Button "Start" => "Start"
[INFO] RetroPad, User 2, Button "D-Pad Up" => "D-Pad Up"
[INFO] RetroPad, User 2, Button "D-Pad Down" => "D-Pad Down"
[INFO] RetroPad, User 2, Button "D-Pad Left" => "D-Pad Left"
[INFO] RetroPad, User 2, Button "D-Pad Right" => "D-Pad Right"
[INFO] RetroPad, User 2, Button "A (right)" => "B"
[INFO] RetroPad, User 2, Button "X (up)" => "Y"
[INFO] RetroPad, User 2, Button "L2" => "L Trigger"
[INFO] RetroPad, User 2, Button "R2" => "R Trigger"
[INFO] RetroPad, User 3, Button "B (bottom)" => "A"
[INFO] RetroPad, User 3, Button "Y (left)" => "X"
[INFO] RetroPad, User 3, Button "Start" => "Start"
[INFO] RetroPad, User 3, Button "D-Pad Up" => "D-Pad Up"
[INFO] RetroPad, User 3, Button "D-Pad Down" => "D-Pad Down"
[INFO] RetroPad, User 3, Button "D-Pad Left" => "D-Pad Left"
[INFO] RetroPad, User 3, Button "D-Pad Right" => "D-Pad Right"
[INFO] RetroPad, User 3, Button "A (right)" => "B"
[INFO] RetroPad, User 3, Button "X (up)" => "Y"
[INFO] RetroPad, User 3, Button "L2" => "L Trigger"
[INFO] RetroPad, User 3, Button "R2" => "R Trigger"
[INFO] RetroPad, User 4, Button "B (bottom)" => "A"
[INFO] RetroPad, User 4, Button "Y (left)" => "X"
[INFO] RetroPad, User 4, Button "Start" => "Start"
[INFO] RetroPad, User 4, Button "D-Pad Up" => "D-Pad Up"
[INFO] RetroPad, User 4, Button "D-Pad Down" => "D-Pad Down"
[INFO] RetroPad, User 4, Button "D-Pad Left" => "D-Pad Left"
[INFO] RetroPad, User 4, Button "D-Pad Right" => "D-Pad Right"
[INFO] RetroPad, User 4, Button "A (right)" => "B"
[INFO] RetroPad, User 4, Button "X (up)" => "Y"
[INFO] RetroPad, User 4, Button "L2" => "L Trigger"
[INFO] RetroPad, User 4, Button "R2" => "R Trigger"
Initializing VMU data...
Initializing VMU data...
Initializing VMU data...
Initializing VMU data...
[INFO] Loading history file: [/opt/retropie/configs/dreamcast/content_history.lpl].
[INFO] Loading history file: [/opt/retropie/configs/dreamcast/content_favorites.lpl].
[INFO] Loading history file: [/opt/retropie/configs/dreamcast/content_music_history.lpl].
[INFO] Loading history file: [/opt/retropie/configs/dreamcast/content_video_history.lpl].
[INFO] Loading history file: [/opt/retropie/configs/dreamcast/content_image_history.lpl].
[INFO] [GL]: VSync => on
/opt/retropie/supplementary/runcommand/runcommand.sh: line 1007: 28849 Segmentation fault /opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-reicast/reicast_libretro.so --config /opt/retropie/configs/dreamcast/retroarch.cfg "/home/tinker/RetroPie/roms/dreamcast/Crazy Taxi/Crazy Taxi.cdi" --verbose --appendconfig /dev/shm/retroarch.cfg

How can I find out more information as to what is causing the Segmentation Fault?

@flyinghead
Copy link

Is this part of a distrib or are you trying to port this core to tinkerboard?

reicast uses SIGSEGV internally so it could be that the signal handler is not installed. When an unexpected SIGSEGV happens, the signal handler prints a message but I don't see this message in your log. Something like:

SIGSEGV @ 0x7fb20cca3e2e ... 0x7fb1eceddc08 -> was not in vram (dyna code 0)

I would compile the core with -g, run gdb and print the stack trace

@steeeb
Copy link
Author

steeeb commented Feb 14, 2019

Thanks - I'm trying to port it to tinkerboard.

(I didn't do DEBUG / -g flag - but will do so tonight)

Here is the gdb log:

[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
[New Thread 0xb14bc2c0 (LWP 2478)]
[New Thread 0x8963b2c0 (LWP 2480)]
[New Thread 0x88e3b2c0 (LWP 2481)]
[New Thread 0x8863b2c0 (LWP 2482)]
[New Thread 0x87e3b2c0 (LWP 2483)]
[New Thread 0x8763b2c0 (LWP 2484)]
[New Thread 0x86e3b2c0 (LWP 2485)]
[New Thread 0x8663b2c0 (LWP 2486)]
[New Thread 0x84e432c0 (LWP 2495)]

Thread 10 "retroarch" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x84e432c0 (LWP 2495)]
0xaee695f0 in no_update () from /opt/retropie/libretrocores/lr-reicast/reicast_libretro.so
#0 0xaee695f0 in no_update () from /opt/retropie/libretrocores/lr-reicast/reicast_libretro.so
#1 0xaddef0fc in recSh4_Run() [clone .lto_priv.1025] () from /opt/retropie/libretrocores/lr-reicast/reicast_libretro.so
#2 0xaef77040 in sin_table () from /opt/retropie/libretrocores/lr-reicast/reicast_libretro.so
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

@steeeb
Copy link
Author

steeeb commented Feb 14, 2019

With DEBUG

Thread 1 "retroarch" received signal SIGBUS, Bus error.
0xb46fda60 in memset () from /lib/arm-linux-gnueabihf/libc.so.6
#0 0xb46fda60 in memset () from /lib/arm-linux-gnueabihf/libc.so.6
#1 0xad87faa0 in VArray2::Zero (this=0xaf2ff38c <aica_ram>) at ./core/stdclass.h:260
#2 0xad89d6ec in _vmem_reserve () at core/hw/mem/_vmem.cpp:788
#3 0xad8e7d04 in dc_init (argc=0, argv=0x0) at core/nullDC.cpp:360
#4 0xae96270c in retro_load_game (game=0xa0bc28) at core/libretro/libretro.cpp:1765
#5 0x0041bbec in core_load_game ()
#6 0x0041bbec in core_load_game ()

The last bit continues on and on and on.

@blisstik
Copy link

Does adding < /dev/null fix it like:

/opt/retroarena/emulators/retroarch/bin/retroarch < /dev/null

@flyinghead
Copy link

The problem is probably in _vmem_reserve() or _nvmem_alloc_mem() and error checking is these functions is "perfectible"...
Make sure TARGET_NO_NVMEM isn't defined and check in these functions at which point virtual memory allocation fails.

@steeeb
Copy link
Author

steeeb commented Feb 15, 2019

@6alileo That does indeed resolve the issue. Any ideas why? Would be willing to help track down the issue so it can be resolved. (I see this also happens on the Rock Pro 64 and the same fix fixes that - and that also uses a DRM/KMS stack?)

@blisstik
Copy link

blisstik commented Feb 15, 2019 via email

@blisstik
Copy link

Hi flyinghead - the makefile for Odroid and Rockpro64 does not have TARGET_NO_NVMEM in CLAGS. Is this the way to ensure it isn't defined?

@flyinghead
Copy link

yes

@blisstik
Copy link

It isn't defined. Is the issue then related to EmulationStation?

@flyinghead
Copy link

I don't think so. I tried on the ODROID with the command-line and I had this weird issue. I couldn't use gdb because it would get stopped.
Then the keyboard wasn't responsive or garbage was written to the console.

@flyinghead
Copy link

Something about the system console and how it interacts with programs using the GPU?

@steeeb
Copy link
Author

steeeb commented Feb 19, 2019

I had to do the following to be able to get a gbd log by the way, if it helps:

gdb -batch -ex "set logging file my_god_object.log" -ex "set logging on" -ex "run" -ex "bt" -ex "quit" --args .....

@flyinghead
Copy link

Assuming this is resolved. Reopen as needed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants