Skip to content

segfault on archived games #1205

@fekir

Description

@fekir

Hi, when I try to start a .cdi in a zip archive, the core crashes.

From the logs:

[libretro INFO] shell/libretro/libretro.cpp:2075 N[BOOT]: retro_load_game: /mnt/df0/data/games/dreamcast/gianas_return/gr-v110b-dc.cdi.zip#gr-v110b-dc.cdi
[INFO] [Environ]: GET_RUMBLE_INTERFACE.
[INFO] [Environ]: SYSTEM_DIRECTORY: "/home/df0/.config/retroarch/system".
[INFO] [Environ]: SAVE_DIRECTORY: "/home/df0/.config/retroarch/saves/Flycast".
[INFO] [Environ]: SET_SAVE_STATE_IN_BACKGROUND: yes.
[libretro INFO] File extension is: .cdi
[INFO] [Environ]: GET_PREFERRED_HW_RENDER, video driver name: vulkan.
[INFO] [Environ]: GET_PREFERRED_HW_RENDER - Context callback set to RETRO_HW_CONTEXT_VULKAN.
[INFO] [Environ]: SET_HW_RENDER, context type: vulkan.
[INFO] Requesting Vulkan context.
[INFO] [Environ]: SET_HW_RENDER_CONTEXT_NEGOTIATION_INTERFACE.
[libretro ERROR] shell/libretro/libretro.cpp:1228 E[BOOT]: Cannot stat /mnt/df0/data/games/dreamcast/gianas_return/gr-v110b-dc.cdi.zip#gr-v110b-dc.cdi
[INFO] [Environ]: SET_MESSAGE: Cannot stat /mnt/df0/data/games/dreamcast/gianas_return/gr-v110b-dc.cdi.zip#gr-v110b-dc.cdi
[ERROR] [Content]: Failed to load content
[INFO] [Core]: Content ran for a total of: 00 hours, 00 minutes, 00 seconds.
[libretro INFO] shell/libretro/libretro.cpp:1899 N[RENDERER]: retro_vk_context_destroy
[libretro ERROR] core/linux/common.cpp:68 E[COMMON]: SIGSEGV @ 0x7f20c09a5950 invalid access to 0x7f20c09a5950
[libretro ERROR] Fatal error : segfault
 in fault_handler -> /builds/libretro/flycast-upstream/core/linux/common.cpp : 81
[libretro ERROR] shell/libretro/libretro.cpp:3516 E[COMMON]: DEBUGBREAK!

If I extract the game, it works without crashing.

In case the issue is game-specific; it can be downloaded from https://www.gianas-return.de/?page_id=453 (direct link: https://www.retroguru.com/gianas-return/gianas-return-v.latest-dreamcast-cdi.zip)

While the workaround is obvious, I would really prefer to keep the cdi file in the zip archive.

Main reason: the cdi file is over 700Mb, the archived file (without any particular settings) is under 10MB(!)

In case it's relevant: in retroarch, when selecting the archive, I press on "Browse Archive" and then the .cdi file. After selecting the cdi file, retroarch crashes.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions