profile
viewpoint

Ask questionsImmediate crash on Alpine Linux (raspberry pi 4/aarch64)

Hi there,

I'm the official packager of all libretro cores for Alpine Linux. For those who don't know, it is a linux distribution based on musl rather than glibc targetting simplicity and elegance.

I'm having a crash regarding mupen64plus-libretro-nx built from git. If I try to debug retroarch (built with debugging symbols) I'm pretty hard having a backtrace. The only way I got one was to start retroarch and open the core afterwards (using ulimit -c unlimited).

So that's the only information I could get for now:

#0  0x0000000000000000 in ?? ()
No symbol table info available.
#1  0x0000005559f3a214 in gl_core_destroy_resources (gl=0x7f897e8120) at gfx/drivers/gl_core.c:561
        i = 85
#2  0x0000005559f3c714 in gl_core_init (video=0x7fd27affe8, input=0x555a928510 <rarch_st+122000>, input_data=0x555a928518 <rarch_st+122008>) at gfx/drivers/gl_core.c:1357
        full_x = 1920
        full_y = 1080
        settings = 0x7f93dd51c0
        video_gpu_record = false
        interval = 1
        mode_width = 0
        mode_height = 0
        win_width = 1920
        win_height = 1080
        temp_width = 0
        temp_height = 0
        vendor = 0x0
        renderer = 0x0
        version = 0x0
        error_string = 0x0
        gl = 0x7f897e8120
        ctx_driver = 0x555a8cf9f0 <gfx_ctx_drm>
        hwr = 0x555a92cc50 <rarch_st+140240>
#3  0x0000005559c46a80 in video_driver_init_internal (p_rarch=0x555a90a880 <rarch_st>, settings=0x7f93dd51c0, video_is_threaded=0x7fd27b007b, verbosity_enabled=false)
    at retroarch.c:30344
        video = {path_font = 0x7f93df6c6b "", parent = 0, swap_interval = 1, width = 1920, height = 1080, input_scale = 4, font_size = 32, adaptive_vsync = false, smooth = false, 
          ctx_scaling = false, is_threaded = false, rgb32 = true, fullscreen = true, vsync = true, force_aspect = true, font_enable = true}
        max_dim = 640
        scale = 4
        width = 1920
        height = 1080
        custom_vp = 0x7f93dd51d0
        tmp = 0x555a8ea650 <input_udev>
        dummy_pixels = {0 <repeats 32 times>}
        geom = 0x555a90a890 <rarch_st+16>
        video_driver_pix_fmt = RETRO_PIXEL_FORMAT_XRGB8888
        path_softfilter_plugin = 0x7f93dedc6b ""
#4  0x0000005559c4ceb8 in drivers_init (p_rarch=0x555a90a880 <rarch_st>, settings=0x7f93dd51c0, flags=2047, verbosity_enabled=false) at retroarch.c:33056
        hwr = 0x555a92cc50 <rarch_st+140240>
        menu_st = 0x555a924a70 <rarch_st+106992>
        video_is_threaded = false
        p_disp = 0x555a92cca0 <rarch_st+140320>
        video_font_enable = true
        menu_enable_widgets = true
#5  0x0000005559c53510 in retroarch_main_init (argc=4, argv=0x7fd27b07b8) at retroarch.c:35509
        verbosity_enabled = false
        init_failed = false
        p_rarch = 0x555a90a880 <rarch_st>
        settings = 0x7f93dd51c0
        global = 0x555a90e918 <rarch_st+16536>
        accessibility_enable = false
        accessibility_narrator_speech_speed = 5
#6  0x0000005559c7178c in content_load (info=0x7fd27b0738, p_content=0x555a92aa70 <rarch_st+131568>) at tasks/task_content.c:607
        i = 0
        success = false
        rarch_argc = 0
        rarch_argv = {0x0 <repeats 32 times>}
        argv_copy = {0x0 <repeats 32 times>}
        rarch_argv_ptr = 0x7fd27b07b8
        rarch_argc_ptr = 0x7fd27b0750
        wrap_args = 0x7f95974fc0
#7  0x0000005559c7426c in task_load_content_internal (content_info=0x7fd27b0738, loading_from_menu=true, loading_from_cli=true, loading_from_companion_ui=false)
    at tasks/task_content.c:2068
        content_ctx = {name_ips = 0x0, name_bps = 0x0, name_ups = 0x0, valid_extensions = 0x0, directory_cache = 0x0, directory_system = 0x0, temporary_content = 0x7fd27b0690, 
          subsystem = {data = 0x0, size = 0}, block_extract = false, need_fullpath = false, set_supports_no_game_enable = false, is_ips_pref = false, is_bps_pref = false, 
          is_ups_pref = false, patch_is_blocked = false, bios_is_missing = false, check_firmware_before_loading = false}
        p_content = 0x555a92aa70 <rarch_st+131568>
        ret = false
        error_string = 0x0
        global = 0x555a90e918 <rarch_st+16536>
        sys_info = 0x555a96ea40 <runloop_state+80>
        settings = 0x7f93dd51c0
        check_firmware_before_loading = false
        set_supports_no_game_enable = false
        path_dir_system = 0x7f93e03c6b ""
        path_dir_cache = 0x7f93e04c6b ""
#8  0x0000005559c74548 in task_push_load_content_from_cli (core_path=0x0, fullpath=0x0, content_info=0x7fd27b0738, type=CORE_TYPE_PLAIN, cb=0x0, user_data=0x0)
    at tasks/task_content.c:2162
No locals.
#9  0x0000005559c24be4 in rarch_main (argc=4, argv=0x7fd27b07b8, data=0x0) at retroarch.c:15506
        info = {argv = 0x7fd27b07b8, args = 0x0, environ_get = 0x5559c0225c <frontend_unix_get_env>, argc = 4}
        p_rarch = 0x555a90a880 <rarch_st>
#10 0x0000005559c24c9c in main (argc=4, argv=0x7fd27b07b8) at retroarch.c:15604
No locals.
quit

Please tell me how can I get more information and I can help. RetroArch is at 1.9.2, Linux 5.10.36-0-rpi4 on a Raspberry Pi 4 (8GB RAM) running Aarch64.

libretro/mupen64plus-libretro-nx

Answer questions markand

Thanks for your time.

Just to be clear, the GLES variant is mandatory only on those platforms? I mean: at Alpine (and like many distributions) we don't provide packages specifically for Raspberry Pi so we're trying to build only "generic" variants of packages that should work on most of platforms out there. For example, retroarch is built with mostly defaults (I think gles is disabled by default unless you really use --enable-opengles[3]) and many cores are already running fine that way.

What I'd like to know is the portability of the GLES version because I don't want to build a version that has less support than the bare OpenGL variant.

In the meantime, I'll build both RetroArch and mupen64plus with GLES enabled to see if the problem is gone on the Pi 4.

useful!
source:https://uonfu.com/
answerer
David Demelier markand France http://markand.fr C and C++23 developer, opensource activist. This account is only used to contribute to other projects. See my homepage for my own as I don't use Git.
Github User Rank List