drhelius / Gearsystem

Sega Master System / Game Gear / SG-1000 emulator for macOS, Windows, Linux, BSD and RetroArch.
https://x.com/drhelius
GNU General Public License v3.0
250 stars 45 forks source link

Gearsystem crashes Retroarch when I try to run the core #48

Closed TeddyBeer1983 closed 2 years ago

TeddyBeer1983 commented 2 years ago

Whenever I try to launch Gearsystem with Retroarch 1.9.0, Retroarch crashes.

I tried a more recent version and I get the same results

Is there a way to fix this?

TeddyBeer1983 commented 2 years ago

Here is the log:

[INFO] [CORE]: Loading dynamic libretro core from: "C:\Users\tedmi\.emulationstation\systems\retroarch\\cores\gearsystem_libretro.dll"\ [INFO] [Overrides]: No core-specific overrides found at C:\Users\tedmi\.emulationstation\systems\retroarch\config\Gearsystem\Gearsystem.cfg.\ [INFO] [Overrides]: No content-dir-specific overrides found at C:\Users\tedmi\.emulationstation\systems\retroarch\config\Gearsystem\mastersystem.cfg.\ [INFO] [Overrides]: No game-specific overrides found at C:\Users\tedmi\.emulationstation\systems\retroarch\config\Gearsystem\Action Fighter (USA, Europe) (Rev 2).cfg.\

[INFO] Controller port: 1\ [INFO] Sega Master System / Game Gear (ID: 257)\ [INFO] Controller port: 2\ [INFO] Sega Master System / Game Gear (ID: 257)\

[INFO] [Remaps]: remap directory: C:\Users\tedmi\.emulationstation\systems\retroarch\config\remaps[INFO] [Overrides]: Redirecting save file to "C:\Users\tedmi\.emulationstation\systems\retroarch\saves\Action Fighter (USA, Europe) (Rev 2).srm".\ [INFO] [Overrides]: Redirecting save state to "C:\Users\tedmi\.emulationstation\systems\retroarch\states\Action Fighter (USA, Europe) (Rev 2).state".\ [INFO] [Environ]: SYSTEM_DIRECTORY: "C:\Users\tedmi\.emulationstation\systems\retroarch\system".[INFO] [CONTENT LOAD]: Loading content file: C:\Users\tedmi\.emulationstation\roms\mastersystem\Action Fighter (USA, Europe) (Rev 2).sms.\ [INFO] Did not find a valid content patch.[INFO] [Environ]: GET_VARIABLE gearsystem_up_down_allowed: Disabled\ [INFO] [Environ]: GET_VARIABLE gearsystem_system: Auto\ [INFO] [Environ]: GET_VARIABLE gearsystem_region: Auto\ [INFO] [Environ]: GET_VARIABLE gearsystem_mapper: Auto\ [INFO] [Environ]: GET_VARIABLE gearsystem_timing: Auto\ [INFO] [Environ]: GET_VARIABLE gearsystem_bios_sms: Disabled\ [INFO] [Environ]: GET_VARIABLE gearsystem_bios_gg: Disabled[INFO] [Environ]: GET_VARIABLE gearsystem_glasses: Both Eyes / OFF

bslenul commented 2 years ago

I can confirm this on both Windows 10 and a Linux Mint VM, the crashes started with b9622a9c025afa729c933503875e6d0fabfcf36e.

This is what I get with ASAN on my Linux VM, dunno if it helps:

AddressSanitizer:DEADLYSIGNAL
=================================================================
==2910==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x7f617fafbe1b bp 0x7fff7d128200 sp 0x7fff7d128140 T0)
==2910==The signal is caused by a READ memory access.
==2910==Hint: address points to the zero page.
    #0 0x7f617fafbe1a in Processor::Disassemble(unsigned short) ../../src/Processor.cpp:360
    #1 0x7f617fafbbd8 in Processor::DisassembleNextOpcode() ../../src/Processor.cpp:319
    #2 0x7f617faf5f6f in GearsystemCore::LoadROMFromBuffer(unsigned char const*, int, Cartridge::ForceConfiguration*) ../../src/GearsystemCore.cpp:183
    #3 0x7f617faf4f36 in retro_load_game /home/bobby/Documents/Gearsystem/platforms/libretro/libretro.cpp:503
    #4 0x5588d611780a in core_load_game /home/bobby/Documents/RetroArch/retroarch.c:39757
    #5 0x5588d6142fb7 in content_file_load tasks/task_content.c:1149
    #6 0x5588d6144ce9 in content_file_init tasks/task_content.c:1332
    #7 0x5588d6151912 in content_init tasks/task_content.c:2809
    #8 0x5588d5ff55ea in event_init_content /home/bobby/Documents/RetroArch/retroarch.c:12496
    #9 0x5588d5ff79d3 in command_event_init_core /home/bobby/Documents/RetroArch/retroarch.c:12780
    #10 0x5588d6004e0b in command_event /home/bobby/Documents/RetroArch/retroarch.c:14370
    #11 0x5588d60f2e5a in retroarch_main_init /home/bobby/Documents/RetroArch/retroarch.c:36074
    #12 0x5588d614747a in content_load tasks/task_content.c:1475
    #13 0x5588d614c6aa in task_push_load_content_with_new_core_from_menu tasks/task_content.c:2212
    #14 0x5588d6ccd36a in action_ok_file_load_detect_core menu/cbs/menu_cbs_ok.c:4204
    #15 0x5588d5f93aff in generic_menu_entry_action /home/bobby/Documents/RetroArch/retroarch.c:2573
    #16 0x5588d6b29ef8 in ozone_menu_entry_action menu/drivers/ozone/ozone.c:640
    #17 0x5588d5f97f71 in menu_entry_action /home/bobby/Documents/RetroArch/retroarch.c:2853
    #18 0x5588d5f8e658 in generic_menu_iterate /home/bobby/Documents/RetroArch/retroarch.c:2155
    #19 0x5588d5fa9e77 in menu_driver_iterate /home/bobby/Documents/RetroArch/retroarch.c:4650
    #20 0x5588d6107063 in runloop_check_state /home/bobby/Documents/RetroArch/retroarch.c:38365
    #21 0x5588d610f4f6 in runloop_iterate /home/bobby/Documents/RetroArch/retroarch.c:39067
    #22 0x5588d600f335 in rarch_main /home/bobby/Documents/RetroArch/retroarch.c:15700
    #23 0x5588d65f8495 in main ui/drivers/ui_qt.cpp:4318
    #24 0x7f619193f0b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2)
    #25 0x5588d5f6892d in _start (/home/bobby/Documents/RetroArch/retroarch_asan+0x4d3c92d)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV ../../src/Processor.cpp:360 in Processor::Disassemble(unsigned short)
==2910==ABORTING
drhelius commented 2 years ago

Fixed now. Thanks for reporting, it helped a lot!

bslenul commented 2 years ago

Works like a charm, thanks for the quick fix!

TeddyBeer1983 commented 2 years ago

Thanks a ton