Hey there. I'm coming from the Dolphin forum to report about the crashes. Dolphin seems to do the exact same thing when Dynarec JIT is enabled.
I've investigated the problem a bit with logcat and it seems that the crashes are very similar. If anyone is interested, here are both errors.
Code:
03-22 23:40:30.997 18606-19793/? A/libc: Fatal signal 4 (SIGILL), code 1, fault addr 0x7f45bfd2e0 in tid 19793 (CPU thread)
03-22 23:40:31.057 3152-3152/? A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
03-22 23:40:31.057 3152-3152/? A/DEBUG: Build fingerprint: 'samsung/hero2ltexx/hero2lte:6.0.1/MMB29K/G935FXXU1APBF:user/release-keys'
03-22 23:40:31.057 3152-3152/? A/DEBUG: Revision: '9'
03-22 23:40:31.057 3152-3152/? A/DEBUG: ABI: 'arm64'
03-22 23:40:31.057 3152-3152/? A/DEBUG: pid: 18606, tid: 19793, name: CPU thread >>> org.dolphinemu.dolphinemu <<<
03-22 23:40:31.057 3152-3152/? A/DEBUG: signal 4 (SIGILL), code 1 (ILL_ILLOPC), fault addr 0x7f45bfd5fc
03-22 23:40:31.097 3152-3152/? A/DEBUG: x0 0000007f45bfd5fc x1 0000000000000070 x2 0000007f76586a70 x3 0000007f457bf0e0
03-22 23:40:31.097 3152-3152/? A/DEBUG: x4 0000000000000000 x5 ffffff80ffffffd8 x6 0000000000258eb4 x7 0000007f457bf4f0
03-22 23:40:31.097 3152-3152/? A/DEBUG: x8 00000000ffffff80 x9 0000007f457bf4f0 x10 0000000000000001 x11 0000007f62e6fc60
03-22 23:40:31.097 3152-3152/? A/DEBUG: x12 0000007f9096cf80 x13 0000000000000002 x14 0000000000000003 x15 0000000000000029
03-22 23:40:31.097 3152-3152/? A/DEBUG: x16 000000000000002a x17 0000007f9096c000 x18 0000007f62e6fc60 x19 0000000000000000
03-22 23:40:31.097 3152-3152/? A/DEBUG: x20 0000000000000001 x21 0000000000000001 x22 0000000000000001 x23 0000000080000000
03-22 23:40:31.097 3152-3152/? A/DEBUG: x24 00000000803d45a0 x25 00000000816d73b0 x26 0000000000258e00 x27 0000000000033b38
03-22 23:40:31.097 3152-3152/? A/DEBUG: x28 0000002500000000 x29 0000007f76750fb0 x30 0000007f45bfd5fc
03-22 23:40:31.097 3152-3152/? A/DEBUG: sp 0000007f457bf2d0 pc 0000007f45bfd5fc pstate 0000000060000000
03-22 23:40:31.097 3152-3152/? A/DEBUG: #00 pc 00000000003fd5fc <unknown>
Code:
03-22 23:43:38.487 3152-3152/? A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
03-22 23:43:38.487 3152-3152/? A/DEBUG: Build fingerprint: 'samsung/hero2ltexx/hero2lte:6.0.1/MMB29K/G935FXXU1APBF:user/release-keys'
03-22 23:43:38.487 3152-3152/? A/DEBUG: Revision: '9'
03-22 23:43:38.487 3152-3152/? A/DEBUG: ABI: 'arm64'
03-22 23:43:38.487 3152-3152/? A/DEBUG: pid: 21266, tid: 21308, name: AndroidRender >>> org.ppsspp.ppsspp <<<
03-22 23:43:38.487 3152-3152/? A/DEBUG: signal 4 (SIGILL), code 1 (ILL_ILLOPC), fault addr 0x7f57c13dc8
03-22 23:43:38.527 3152-3152/? A/DEBUG: x0 0000000000000000 x1 0000000100000001 x2 0000000008b32aac x3 0000000008000000
03-22 23:43:38.527 3152-3152/? A/DEBUG: x4 00000000ffffffff x5 0000000000000e9c x6 0000000000000001 x7 0000000008a38d2c
03-22 23:43:38.527 3152-3152/? A/DEBUG: x8 0000000000000000 x9 0000007f7602b4f0 x10 0000000000000001 x11 0000007f86b07420
03-22 23:43:38.527 3152-3152/? A/DEBUG: x12 00000000000062c0 x13 0000000000000040 x14 0000000000000041 x15 000000000000005d
03-22 23:43:38.527 3152-3152/? A/DEBUG: x16 0000007f57c13dc8 x17 0000000000000068 x18 0000007f86b07420 x19 0000002309fff260
03-22 23:43:38.527 3152-3152/? A/DEBUG: x20 0000000000000001 x21 0000000009a16cb0 x22 0000000000000280 x23 000000000000526a
03-22 23:43:38.527 3152-3152/? A/DEBUG: x24 0000007f76ae5000 x25 0000000020000000 x26 0000007f57b00000 x27 0000007f76b1ab90
03-22 23:43:38.527 3152-3152/? A/DEBUG: x28 0000002300000000 x29 0000000012e17400 x30 0000007f57b001c4
03-22 23:43:38.527 3152-3152/? A/DEBUG: sp 0000007f7602ab10 pc 0000007f57c13dc8 pstate 0000000060000000
03-22 23:43:38.527 3152-3152/? A/DEBUG: #00 pc 0000000000113dc8 <unknown>
03-22 23:43:38.527 3152-3152/? A/DEBUG: #01 pc 00000000000001c0 <unknown>
Now I seem to have found a temporary workaround for this. I've made a video doing some random testing with PPSSPP and Dolphin. This video shows two crashes happening first, then later I get it to work.
I don't seem to be able to post links yet, so I'll just post the youtube video id: watch?v=ayhFpSA-Jw0
This worked for me most of the times (With a few occasional crashes)
As shown in the video:
1. Run PPSSPP
2. Disable Dynarec in settings
3. Run the game to a point after the crashes happen
4. Go back in settings and enable dynarec
5. Go back to the game with the back button
6. The game should run fine after that
7. If it just doesn't seem to work restart phone and try again.
I have tried a similar method with dolphin and for me, it greatly increases the chances of running the game.
I really hope this will help in finding the problem. If we can figure this out, it will help the Dolphin community too.