Skip to content

Saved states don't work #1903

@automatedbugreportingfacility

Description

Platform / OS / Hardware: RetroArch / Android / Samsung Galaxy Note 10+

Flycast version: 93f4632

Hardware: Exynos 9825

Description of the Issue

Not sure if this is a regression from aff64d4, but I'm now getting issues where saved states fail to work. I'm not sure if you can debug the issue just looking at save states, but here they are anyway: states.zip

.state9 displays nothing when loaded, just plays some sound effects in a loop.
When I load .state10 in Debug+ASAN, it crashes immediately with:

04-12 22:59:26.825 28890 28890 I wrap.sh : =================================================================
04-12 22:59:26.826 28890 28890 I wrap.sh : �[1m�[31m==28898==ERROR: AddressSanitizer: global-buffer-overflow on address 0x006f3f46ed54 at pc 0x006f40279c58 bp 0x006f5ddfa990 sp 0x006f5ddfa988
04-12 22:59:26.826 28890 28890 I wrap.sh : �[1m�[0m�[1m�[34mREAD of size 4 at 0x006f3f46ed54 thread T87 (Flycast-emu)�[1m�[0m
04-12 22:59:26.854 28890 28890 I wrap.sh :     #0 ta_handle_cmd(unsigned int) in J:\flycast\core\hw\pvr/ta.cpp:231:25
04-12 22:59:26.854 28890 28890 I wrap.sh :     #1 ta_thd_data32_i(simd256_t const*) in J:\flycast\core\hw\pvr/ta.cpp:565:3
04-12 22:59:26.854 28890 28890 I wrap.sh :     #2 ta_vtx_data(SQBuffer const*, unsigned int) in J:\flycast\core\hw\pvr/ta.cpp:582:3
04-12 22:59:26.854 28890 28890 I wrap.sh :     #3 pvr_do_sort_dma() in J:\flycast\core\hw\pvr/pvr_sb_regs.cpp:96:3
04-12 22:59:26.854 28890 28890 I wrap.sh :     #4 RegWrite_SB_SDST(unsigned int, unsigned int) in J:\flycast\core\hw\pvr/pvr_sb_regs.cpp:110:3
04-12 22:59:26.854 28890 28890 I wrap.sh :     #5 void HwRegister::write<unsigned int>(unsigned int, unsigned int) in J:\flycast\core\hw/hwreg.h:64:4
04-12 22:59:26.854 28890 28890 I wrap.sh :     #6 void RegisterBank<&sb_regs.<unsigned int at offset 0>, 1344ul, 65535u, 6252544u>::write<unsigned int>(unsigned int, unsigned int) in J:\flycast\core\hw/hwreg.h:279:21
04-12 22:59:26.854 28890 28890 I wrap.sh :     #7 sb_WriteMem(unsigned int, unsigned int) in J:\flycast\core\hw\holly/sb.cpp:196:12
04-12 22:59:26.854 28890 28890 I wrap.sh :     #8 void WriteMem_area0<unsigned int, 0u, false>(unsigned int, unsigned int) in J:\flycast\core\hw\holly/sb_mem.cpp:199:4
04-12 22:59:26.855 28890 28890 I wrap.sh :     #9 void addrspace::writet<unsigned int>(unsigned int, unsigned int) in J:\flycast\core\hw\mem/addrspace.cpp:176:4
04-12 22:59:26.855 28890 28890 I wrap.sh :     #10 addrspace::write32(unsigned int, unsigned int) in J:\flycast\core\hw\mem/addrspace.cpp:204:47
04-12 22:59:26.855 28890 28890 I wrap.sh :
04-12 22:59:26.855 28890 28890 I wrap.sh : �[1m�[32m0x006f3f46ed54 is located 44 bytes to the left of global variable '<string literal>' defined in 'J:\flycast\core\hw\pvr\ta.cpp:256:4' (0x6f3f46ed80) of size 35
04-12 22:59:26.855 28890 28890 I wrap.sh : �[1m�[0m  '<string literal>' is ascii string 'Fatal error : %s
04-12 22:59:26.855 28890 28890 I wrap.sh :  in %s -> %s : %d'
04-12 22:59:26.855 28890 28890 I wrap.sh : �[1m�[32m0x006f3f46ed54 is located 0 bytes to the right of global variable 'ListEndInterrupt' defined in 'J:\flycast\core\hw\pvr\ta.cpp:198:31' (0x6f3f46ed40) of size 20
04-12 22:59:26.855 28890 28890 I wrap.sh : �[1m�[0mAddressSanitizer:DEADLYSIGNAL
04-12 22:59:26.855 28890 28890 I wrap.sh : AddressSanitizer: nested bug in the same thread, aborting.
04-12 22:59:27.049 28890 28890 I wrap.sh : wrap.sh terminated by exit(1)

It looks like the save states might be corrupted somehow? Happy to help with capturing logs and debugging of course.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinglibretroSpecific to Libretro core

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions