Skip to content
This repository has been archived by the owner on Dec 18, 2024. It is now read-only.

[Libretro] Savestates not working on android #331

Closed
andres-asm opened this issue Feb 25, 2018 · 12 comments
Closed

[Libretro] Savestates not working on android #331

andres-asm opened this issue Feb 25, 2018 · 12 comments

Comments

@andres-asm
Copy link
Contributor

andres-asm commented Feb 25, 2018

Managed to get a quick test case going after the build worked and I noticed savestates don't work. I'm getting a crash on load state.

I'll try to investigate.

@andres-asm
Copy link
Contributor Author

02-24 23:24:24.875 20716 20734 F libc    : Fatal signal 7 (SIGBUS), code 1, fault addr 0x575763da in tid 20734 (Thread-2)
02-24 23:24:24.876   228   228 W         : debuggerd: handling request: pid=20716 uid=10112 gid=10112 tid=20734
02-24 23:24:24.876 20957 20957 W debuggerd: type=1400 audit(0.0:66): avc: denied { search } for name="com.retroarch" dev="mmcblk0p29" ino=516760 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0
02-24 23:24:24.938 20957 20957 F DEBUG   : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
02-24 23:24:24.938 20957 20957 F DEBUG   : LineageOS Version: '14.1-20170919-UNOFFICIAL-loki'
02-24 23:24:24.938 20957 20957 F DEBUG   : Build fingerprint: 'NVIDIA/loki_e_lte/loki:7.0/NRD90M/1749719_832.2408:user/release-keys'
02-24 23:24:24.938 20957 20957 F DEBUG   : Revision: '0'
02-24 23:24:24.938 20957 20957 F DEBUG   : ABI: 'arm'
02-24 23:24:24.939 20957 20957 F DEBUG   : pid: 20716, tid: 20734, name: Thread-2  >>> com.retroarch <<<
02-24 23:24:24.939 20957 20957 F DEBUG   : signal 7 (SIGBUS), code 1 (BUS_ADRALN), fault addr 0x575763da
02-24 23:24:24.939 20957 20957 F DEBUG   :     r0 000001e2  r1 575763da  r2 000001da  r3 00000000
02-24 23:24:24.939 20957 20957 F DEBUG   :     r4 5217dc04  r5 5217e540  r6 00000008  r7 00000008
02-24 23:24:24.939 20957 20957 F DEBUG   :     r8 5217e558  r9 4aae26a0  sl 4aae269e  fp 4aae2240
02-24 23:24:24.939 20957 20957 F DEBUG   :     ip 8ba38d2c  sp 4aae2208  lr 8b836a84  pc 8b749978  cpsr 800e0010
02-24 23:24:24.945 20957 20957 F DEBUG   :
02-24 23:24:24.945 20957 20957 F DEBUG   : backtrace:
02-24 23:24:24.946 20957 20957 F DEBUG   :     #00 pc 00154978  /data/data/com.retroarch/cores/mesen_libretro_android.so
02-24 23:24:24.946 20957 20957 F DEBUG   :     #01 pc 00241a80  /data/data/com.retroarch/cores/mesen_libretro_android.so
02-24 23:24:24.946 20957 20957 F DEBUG   :     #02 pc 00241970  /data/data/com.retroarch/cores/mesen_libretro_android.so
02-24 23:24:24.946 20957 20957 F DEBUG   :     #03 pc 002417e8  /data/data/com.retroarch/cores/mesen_libretro_android.so
02-24 23:24:24.946 20957 20957 F DEBUG   :     #04 pc 002416e0  /data/data/com.retroarch/cores/mesen_libretro_android.so
02-24 23:24:24.946 20957 20957 F DEBUG   :     #05 pc 00241594  /data/data/com.retroarch/cores/mesen_libretro_android.so
02-24 23:24:24.946 20957 20957 F DEBUG   :     #06 pc 002413d8  /data/data/com.retroarch/cores/mesen_libretro_android.so
02-24 23:24:24.946 20957 20957 F DEBUG   :     #07 pc 002411ac  /data/data/com.retroarch/cores/mesen_libretro_android.so
02-24 23:24:24.946 20957 20957 F DEBUG   :     #08 pc 00240930  /data/data/com.retroarch/cores/mesen_libretro_android.so
02-24 23:24:24.946 20957 20957 F DEBUG   :     #09 pc 002678c0  /data/data/com.retroarch/cores/mesen_libretro_android.so
02-24 23:24:24.946 20957 20957 F DEBUG   :     #10 pc 0018580c  /data/data/com.retroarch/cores/mesen_libretro_android.so
02-24 23:24:24.946 20957 20957 F DEBUG   :     #11 pc 00185a74  /data/data/com.retroarch/cores/mesen_libretro_android.so
02-24 23:24:24.946 20957 20957 F DEBUG   :     #12 pc 00148fb0  /data/data/com.retroarch/cores/mesen_libretro_android.so
02-24 23:24:24.946 20957 20957 F DEBUG   :     #13 pc 0021ce24  /data/app/com.retroarch-1/lib/arm/libretroarch-activity.so
02-24 23:24:24.946 20957 20957 F DEBUG   :     #14 pc 002d28c0  /data/app/com.retroarch-1/lib/arm/libretroarch-activity.so
02-24 23:24:24.946 20957 20957 F DEBUG   :     #15 pc 002d2c60  /data/app/com.retroarch-1/lib/arm/libretroarch-activity.so
02-24 23:24:24.946 20957 20957 F DEBUG   :     #16 pc 001bf8d8  /data/app/com.retroarch-1/lib/arm/libretroarch-activity.so (rarch_main+440)
02-24 23:24:24.946 20957 20957 F DEBUG   :     #17 pc 002d1e58  /data/app/com.retroarch-1/lib/arm/libretroarch-activity.so
02-24 23:24:24.946 20957 20957 F DEBUG   :     #18 pc 00202418  /data/app/com.retroarch-1/lib/arm/libretroarch-activity.so
02-24 23:24:24.946 20957 20957 F DEBUG   :     #19 pc 00047e63  /system/lib/libc.so (_ZL15__pthread_startPv+22)
02-24 23:24:24.946 20957 20957 F DEBUG   :     #20 pc 00019f3d  /system/lib/libc.so (__start_thread+6)

@xTMODx
Copy link

xTMODx commented Feb 26, 2018

here is my raw log of the crash https://paste.ee/p/lJSFk

@xTMODx
Copy link

xTMODx commented Apr 11, 2018

@SourMesen is there anything i could help with to fix this? I really wait for it to fix so i can use the core on my android

@SourMesen
Copy link
Owner

I currently do not have any way to debug this easily - unless someone else with better knowledge of android software tries to debug the issue on their end, or gives me more detailed information about the crash, it's unlikely I can fix this anytime soon.

@ghost
Copy link

ghost commented Apr 12, 2018

@fr500 Is this the Shield Tablet? It and a bunch of other random android devices have kernels that don't allow unaligned memory access. Same thing happens with bsnes and some other cores. The giveaway is this line in the log:

signal 7 (SIGBUS), code 1 (BUS_ADRALN)

libretro/bsnes-libretro#42

It may be possible to fix this in software with a compiler-specific alignment keyword (I think one core was fixed this way already), the problem is finding out where it's needed and why.

@xTMODx
Copy link

xTMODx commented Apr 12, 2018

nice hope we can fix it!

@andres-asm
Copy link
Contributor Author

@bparker06 it was on my Tegra X1 device

@xTMODx
Copy link

xTMODx commented Apr 14, 2018

@bparker06 i think i found the compiler-specific alignment in here libretro/QuickNES_Core#41 can you confirm this? and maybe someone can test it

@xTMODx
Copy link

xTMODx commented Jun 17, 2018

another log

06-18 01:04:55.375 I/RetroArch(21831): Device model: (SM-N9500
06-18 01:04:55.375 I/RetroArch(21831): ).
06-18 01:04:55.375 I/RetroArch(21831): Using new lookup
06-18 01:04:55.375 I/RetroArch(21831): device name: Sony Computer Entertainment Wireless Controller
06-18 01:04:55.375 I/RetroArch(21831): device vendor id: 1356
06-18 01:04:55.375 I/RetroArch(21831): device product id: 1476
06-18 01:04:55.376 I/RetroArch(21831): [Autoconf]: 141 profiles found.
06-18 01:04:55.402 I/RetroArch(21831): [autoconf]: selected configuration: /data/user/0/com.retroarch/autoconfig/android/Sony_Dualshock_4_Controller_USB.cfg
06-18 01:04:58.521 I/RetroArch(21831): Saving state: "/storage/emulated/0/Storage/Emulation/RetroArch/states/Mesen/Cyberball (USA).state".
06-18 01:04:58.521 I/RetroArch(21831): State size: 47104 bytes.
06-18 01:04:58.522 I/RetroArch(21831): File already exists. Saving to backup buffer ...
06-18 01:04:58.522 I/RetroArch(21831): 
06-18 01:04:58.537 I/RetroArch(21831): Loading state: "/storage/emulated/0/Storage/Emulation/RetroArch/states/Mesen/Cyberball (USA).state".
06-18 01:04:58.537 I/RetroArch(21831): State size: 47104 bytes.
06-18 01:04:59.068 I/RetroArch(21831): 
06-18 01:04:59.085 I/RetroArch(21831): Loading state: "/storage/emulated/0/Storage/Emulation/RetroArch/states/Mesen/Cyberball (USA).state".
06-18 01:04:59.085 I/RetroArch(21831): State size: 47104 bytes.
06-18 01:04:59.085 I/RetroArch(21831): Saving state: "RAM".
06-18 01:04:59.085 I/RetroArch(21831): State size: 47104 bytes.
06-18 01:04:59.115 E/audit   (  557): type=1400 audit(1529276699.109:5018): avc:  denied  { open } for  pid=21901 comm="crash_dump32" path="/data/data/com.retroarch/cores/mesen_libretro_android.so" dev="sda24" ino=10839290 scontext=u:r:crash_dump:s0:c512,c768 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=file permissive=1 SEPF_SM-N9500_8.0.0_0005 unfiltered
06-18 01:04:59.132 F/DEBUG   (21901): pid: 21831, tid: 21870, name: Thread-2  >>> com.retroarch <<<
06-18 01:04:59.136 F/DEBUG   (21901):     #00 pc 0007ea78  /data/data/com.retroarch/cores/mesen_libretro_android.so
06-18 01:04:59.136 F/DEBUG   (21901):     #01 pc 00110f21  /data/data/com.retroarch/cores/mesen_libretro_android.so
06-18 01:04:59.136 F/DEBUG   (21901):     #02 pc 00110ef7  /data/data/com.retroarch/cores/mesen_libretro_android.so
06-18 01:04:59.136 F/DEBUG   (21901):     #03 pc 00110ea3  /data/data/com.retroarch/cores/mesen_libretro_android.so
06-18 01:04:59.136 F/DEBUG   (21901):     #04 pc 00110e4d  /data/data/com.retroarch/cores/mesen_libretro_android.so
06-18 01:04:59.136 F/DEBUG   (21901):     #05 pc 00110de9  /data/data/com.retroarch/cores/mesen_libretro_android.so
06-18 01:04:59.136 F/DEBUG   (21901):     #06 pc 00110d79  /data/data/com.retroarch/cores/mesen_libretro_android.so
06-18 01:04:59.136 F/DEBUG   (21901):     #07 pc 00110d01  /data/data/com.retroarch/cores/mesen_libretro_android.so
06-18 01:04:59.136 F/DEBUG   (21901):     #08 pc 00110c85  /data/data/com.retroarch/cores/mesen_libretro_android.so
06-18 01:04:59.136 F/DEBUG   (21901):     #09 pc 00110bff  /data/data/com.retroarch/cores/mesen_libretro_android.so
06-18 01:04:59.136 F/DEBUG   (21901):     #10 pc 00110b71  /data/data/com.retroarch/cores/mesen_libretro_android.so
06-18 01:04:59.136 F/DEBUG   (21901):     #11 pc 00110add  /data/data/com.retroarch/cores/mesen_libretro_android.so
06-18 01:04:59.136 F/DEBUG   (21901):     #12 pc 00110a3f  /data/data/com.retroarch/cores/mesen_libretro_android.so
06-18 01:04:59.136 F/DEBUG   (21901):     #13 pc 00110999  /data/data/com.retroarch/cores/mesen_libretro_android.so
06-18 01:04:59.136 F/DEBUG   (21901):     #14 pc 001108ed  /data/data/com.retroarch/cores/mesen_libretro_android.so
06-18 01:04:59.136 F/DEBUG   (21901):     #15 pc 00110837  /data/data/com.retroarch/cores/mesen_libretro_android.so
06-18 01:04:59.136 F/DEBUG   (21901):     #16 pc 00110779  /data/data/com.retroarch/cores/mesen_libretro_android.so
06-18 01:04:59.136 F/DEBUG   (21901):     #17 pc 001106b3  /data/data/com.retroarch/cores/mesen_libretro_android.so
06-18 01:04:59.136 F/DEBUG   (21901):     #18 pc 001105df  /data/data/com.retroarch/cores/mesen_libretro_android.so
06-18 01:04:59.136 F/DEBUG   (21901):     #19 pc 001104ff  /data/data/com.retroarch/cores/mesen_libretro_android.so
06-18 01:04:59.136 F/DEBUG   (21901):     #20 pc 00110415  /data/data/com.retroarch/cores/mesen_libretro_android.so
06-18 01:04:59.136 F/DEBUG   (21901):     #21 pc 0011031d  /data/data/com.retroarch/cores/mesen_libretro_android.so
06-18 01:04:59.136 F/DEBUG   (21901):     #22 pc 00110219  /data/data/com.retroarch/cores/mesen_libretro_android.so
06-18 01:04:59.136 F/DEBUG   (21901):     #23 pc 0011010b  /data/data/com.retroarch/cores/mesen_libretro_android.so
06-18 01:04:59.136 F/DEBUG   (21901):     #24 pc 0010ffef  /data/data/com.retroarch/cores/mesen_libretro_android.so
06-18 01:04:59.136 F/DEBUG   (21901):     #25 pc 0010fec7  /data/data/com.retroarch/cores/mesen_libretro_android.so
06-18 01:04:59.136 F/DEBUG   (21901):     #26 pc 0010fd99  /data/data/com.retroarch/cores/mesen_libretro_android.so
06-18 01:04:59.136 F/DEBUG   (21901):     #27 pc 0010fc5b  /data/data/com.retroarch/cores/mesen_libretro_android.so
06-18 01:04:59.136 F/DEBUG   (21901):     #28 pc 0010fb13  /data/data/com.retroarch/cores/mesen_libretro_android.so
06-18 01:04:59.136 F/DEBUG   (21901):     #29 pc 0010f9c1  /data/data/com.retroarch/cores/mesen_libretro_android.so
06-18 01:04:59.136 F/DEBUG   (21901):     #30 pc 0010f85f  /data/data/com.retroarch/cores/mesen_libretro_android.so
06-18 01:04:59.136 F/DEBUG   (21901):     #31 pc 0010f6f3  /data/data/com.retroarch/cores/mesen_libretro_android.so
06-18 01:04:59.136 F/DEBUG   (21901):     #32 pc 0010f57d  /data/data/com.retroarch/cores/mesen_libretro_android.so
06-18 01:04:59.136 F/DEBUG   (21901):     #33 pc 0010f2f7  /data/data/com.retroarch/cores/mesen_libretro_android.so
06-18 01:04:59.136 F/DEBUG   (21901):     #34 pc 00127a39  /data/data/com.retroarch/cores/mesen_libretro_android.so
06-18 01:04:59.137 F/DEBUG   (21901):     #35 pc 0009bd73  /data/data/com.retroarch/cores/mesen_libretro_android.so
06-18 01:04:59.137 F/DEBUG   (21901):     #36 pc 0009bf4f  /data/data/com.retroarch/cores/mesen_libretro_android.so
06-18 01:04:59.137 F/DEBUG   (21901):     #37 pc 000774d1  /data/data/com.retroarch/cores/mesen_libretro_android.so (retro_unserialize+4)
06-18 01:04:59.137 F/DEBUG   (21901):     #38 pc 0023e000  /data/app/com.retroarch-KH2RipMpSeP7NDhKydKWCg==/lib/arm/libretroarch-activity.so
06-18 01:04:59.137 F/DEBUG   (21901):     #39 pc 00311f6c  /data/app/com.retroarch-KH2RipMpSeP7NDhKydKWCg==/lib/arm/libretroarch-activity.so
06-18 01:04:59.137 F/DEBUG   (21901):     #40 pc 0031230c  /data/app/com.retroarch-KH2RipMpSeP7NDhKydKWCg==/lib/arm/libretroarch-activity.so
06-18 01:04:59.137 F/DEBUG   (21901):     #41 pc 001dd0d0  /data/app/com.retroarch-KH2RipMpSeP7NDhKydKWCg==/lib/arm/libretroarch-activity.so (rarch_main+536)
06-18 01:04:59.137 F/DEBUG   (21901):     #42 pc 00311504  /data/app/com.retroarch-KH2RipMpSeP7NDhKydKWCg==/lib/arm/libretroarch-activity.so
06-18 01:04:59.137 F/DEBUG   (21901):     #43 pc 00223210  /data/app/com.retroarch-KH2RipMpSeP7NDhKydKWCg==/lib/arm/libretroarch-activity.so

@SourMesen SourMesen added the bug label Jun 25, 2018
@SourMesen
Copy link
Owner

As of the latest android build, this should be fixed (3e6f107). Thanks for the unaligned memory hint, wouldn't have noticed it in the crash myself!

Unsure if the "update core" option will work at the moment since the build in the "latest" folder on the buildbot was built manually by bparker (thanks!), but the next android build the buildbot makes should be working properly.

@ghost
Copy link

ghost commented Jun 25, 2018

The Core Updater only grabs from the "latest" folder, so it should work fine.

@xTMODx
Copy link

xTMODx commented Jun 25, 2018

Awesome! Just tested it and it works fine :) thanks
Edit: but in the core updater it show me two Mesen cores with identical name

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

No branches or pull requests

3 participants