libretro / libretro-atari800

atari800 3.1.0 for libretro/libco WIP
17 stars 44 forks source link

Andrdoid Version Of Core Stopped Working #16

Open jetbootjack opened 6 years ago

jetbootjack commented 6 years ago

As of Retroarch release 1.7.1 the Atari800 core no longer works on Android TV.

Load the core, select a game image and the screen goes black for a moment then Retroarch closes.

This was not the behavior prior to the 1.7.1 release...

sTeVE

ghost commented 6 years ago

I made a change in https://github.com/libretro/libretro-atari800/commit/27dd0eb0f7dcb54d7675deba214dada34f99cf74, does this fix your problem?

srk15372 commented 6 years ago

hi, sorry but the android core of atari800 is broken since several month. (I use shield tv) is there any possibility to get it working again ? thanks regards

greblus commented 6 years ago

Same here on stable and nightly builds.

ghost commented 6 years ago

What's broken exactly?

greblus commented 6 years ago

When I'm trying to load any content, eg. a binary (xex) file it goes back to the main screen of my tvbox. I don't see any debug/log output. If there is any way to help to sort it out, I'll do my best to report more info.

jetbootjack commented 6 years ago

As I stated in the original post - no game (atr, xex, etc) will load.

Whether you load the core and then a game, or load a game and the system infers the correct core - the retroarch interface disappears for a few seconds, as if the game is loading then the interface reappears the game having never started.

sTeVE

srk15372 commented 6 years ago

Hi, and for me as soon as I load a game in retroarch it crashes retroarch itself and close it. 6 month ago all were OK, I never change anything since. thanks

envirotech commented 5 years ago

Can't get it working on android tv box (ARMv7 Marshmallow v6.0.1; "1.7.4-Atari800 3.1.0 d52535f"). Have all the proper bios roms in the retroarch system folder. First I tried with my zipped roms, then with a few extracted to bin files, with no luck. Just crashes retroarch and error message "unfortunately, retroarch has stopped working". Seems some other folks are having this issue too: forums.libretro.com/t/atari800-core-crashing-on-android/16099

zerojay commented 5 years ago

The aarch64 (Android 64-bit) version of the core is working fine, it's only the 32-bit version that has this issue.

zerojay commented 5 years ago

Ran a logcat on my Shield TV to see if I could catch what the problem was here. I loaded the atari800 core from within the GUI without issue and attempted to load Dig Dug.a52 and received the following output through logcat:

10-26 10:14:16.538 17726 17746 I RetroArch: Environ GET_VARIABLE atari800_sioaccel: 10-26 10:14:16.538 17726 17746 I RetroArch: disabled 10-26 10:14:16.538 17726 17746 I RetroArch: Environ GET_VARIABLE atari800_cassboot: 10-26 10:14:16.538 17726 17746 I RetroArch: disabled 10-26 10:14:16.538 17726 17746 I RetroArch: Environ GET_VARIABLE atari800_artifacting: 10-26 10:14:16.538 17726 17746 I RetroArch: disabled 10-26 10:14:16.538 17726 17746 I RetroArch: Environ GET_VARIABLE atari800_keyboard: 10-26 10:14:16.538 17726 17746 I RetroArch: poll 10-26 10:14:16.543 17726 17746 F libc : Fatal signal 31 (SIGSYS), code 1 in tid 17746 (Thread-2) 10-26 10:14:16.714 17777 17777 W crash_dump32: type=1400 audit(0.0:2721): avc: denied { search } for name="com.retroarch" dev="mmcblk0p33" ino=484058 scontext=u:r:crash_dump:s0:c512,c768 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0 10-26 10:14:16.744 17777 17777 W crash_dump32: type=1400 audit(0.0:2722): avc: denied { search } for name="com.retroarch" dev="mmcblk0p33" ino=484058 scontext=u:r:crash_dump:s0:c512,c768 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0 10-26 10:14:16.756 17777 17777 I crash_dump32: obtaining output fd from tombstoned 10-26 10:14:16.758 450 450 I /system/bin/tombstoned: received crash request for pid 17726 10-26 10:14:16.759 17777 17777 I crash_dump32: performing dump of process 17726 (target tid = 17746) 10-26 10:14:16.759 17777 17777 F DEBUG : 10-26 10:14:16.760 17777 17777 F DEBUG : Build fingerprint: 'NVIDIA/darcy/darcy:8.0.0/OPR6.170623.010/2604118_1256.7693:user/release-keys' 10-26 10:14:16.760 17777 17777 F DEBUG : Revision: '0' 10-26 10:14:16.760 17777 17777 F DEBUG : ABI: 'arm' 10-26 10:14:16.760 17777 17777 F DEBUG : pid: 17726, tid: 17746, name: Thread-2 >>> com.retroarch <<< 10-26 10:14:16.760 17777 17777 F DEBUG : signal 31 (SIGSYS), code 1 (SYS_SECCOMP), fault addr -------- 10-26 10:14:16.760 17777 17777 F DEBUG : Cause: seccomp prevented call to disallowed arm system call 1838800728 10-26 10:14:16.760 17777 17777 F DEBUG : r0 6e983008 r1 6f6f7244 r2 6f6f7200 r3 00000000 10-26 10:14:16.760 17777 17777 F DEBUG : r4 6f8facb0 r5 6ecc73a0 r6 00000001 r7 6d99df58 10-26 10:14:16.760 17777 17777 F DEBUG : r8 6cad9540 r9 6ecc7394 sl 6ecc7390 fp 6d99e0a8 10-26 10:14:16.760 17777 17777 F DEBUG : ip fffb843c sp 6d99df48 lr 00000000 pc 6f690a08 cpsr 40000010 10-26 10:14:16.761 17777 17777 F DEBUG : 10-26 10:14:16.761 17777 17777 F DEBUG : backtrace: 10-26 10:14:16.762 17777 17777 F DEBUG : #00 pc 00006a08 /data/data/com.retroarch/cores/atari800_libretro_android.so 10-26 10:14:16.762 17777 17777 F DEBUG : #01 pc 00263ff0 /data/app/com.retroarch-GazdFIASAOzkq63EYxy09w==/lib/arm/libretroarch-activity.so (content_init+5612) 10-26 10:14:16.762 17777 17777 F DEBUG : #02 pc 1a681264 10-26 10:14:17.525 450 450 E /system/bin/tombstoned: Tombstone written to: /data/tombstones//tombstone_00 10-26 10:14:17.557 684 17778 W ActivityManager: Force finishing activity com.retroarch/.browser.retroactivity.RetroActivityFuture 10-26 10:14:17.557 684 17778 I chatty : uid=1000 system_server expire 1 line 10-26 10:14:17.582 684 767 W InputDispatcher: channel 'ac33fc0 com.retroarch/com.retroarch.browser.retroactivity.RetroActivityFuture (server)' ~ Consumer closed input channel or an error occurred. events=0x9 10-26 10:14:17.582 684 767 E InputDispatcher: channel 'ac33fc0 com.retroarch/com.retroarch.browser.retroactivity.RetroActivityFuture (server)' ~ Channel is unrecoverably broken and will be disposed! 10-26 10:14:17.583 684 9652 I WindowManager: WIN DEATH: Window{ac33fc0 u0 com.retroarch/com.retroarch.browser.retroactivity.RetroActivityFuture}

So it looks like what's going on is that there is a system call that is being run that Android is disallowing for security purposes. Why this only is happening in 32-bit, I don't know. So, we need to find out what arm system call 1838800728 is.

zerojay commented 5 years ago

Potentially helpful info for figuring this out: https://stackoverflow.com/questions/48802321/oreo-how-to-find-all-restricted-syscalls-at-source-code

andres-asm commented 5 years ago

Maybe it's this: https://github.com/r-type/libretro-atari800/blob/39a96ef330a7c41c8103c6ea320490d5ce1daebb/atari800/src/android/jni/jni.c#L268

Is that file being compiled?