Post Reply 
 
Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Galaxy s7 edge crash
04-27-2016, 03:17 PM
Post: #46
RE: Galaxy s7 edge crash
Hi all,

I just figured out a better workaround. Download the latest APK file, then:

adb install --abi armeabi-v7a path/to/the/file.apk

This way it forces the app to run in 32bit mode, but you have the added benefit of running the latest version. Hope this helps, until there's the official support. Wink
Find all posts by this user
Quote this message in a reply
04-30-2016, 10:48 AM
Post: #47
RE: Galaxy s7 edge crash
(04-27-2016 03:17 PM)fredwu Wrote:  Hi all,

I just figured out a better workaround. Download the latest APK file, then:

adb install --abi armeabi-v7a path/to/the/file.apk

This way it forces the app to run in 32bit mode, but you have the added benefit of running the latest version. Hope this helps, until there's the official support. Wink

... as ADB isn't working for me at the moment - Any idea how to apply the changes manually ? Is there anything I can change in data/app to force 32bit mode ? I have root of course.

Thanks in advance ...
Find all posts by this user
Quote this message in a reply
05-03-2016, 11:15 AM
Post: #48
RE: Galaxy s7 edge crash
Yes, the adb method works great. It's a good workaround for now as many games is supported if you use the latest version (compared to 1.01).

I've tested this using the latest nightly build. Works a treat and can play my PSP games on my s7 edge until the devs resolve the problem. Definitely recommend this method to those who own a s7.
Find all posts by this user
Quote this message in a reply
05-04-2016, 10:10 PM (This post was last modified: 05-04-2016 10:10 PM by Warmachine02.)
Post: #49
RE: Galaxy s7 edge crash
What do you have to do after you install the latest apk? I'm a noob when it comes to this lol.

Cheers
Find all posts by this user
Quote this message in a reply
05-05-2016, 08:19 AM (This post was last modified: 05-05-2016 08:20 AM by jajabinx35.)
Post: #50
RE: Galaxy s7 edge crash
(05-04-2016 10:10 PM)Warmachine02 Wrote:  What do you have to do after you install the latest apk? I'm a noob when it comes to this lol.

Cheers

Follow the instructions posted in these videos:

Set up ADB on Windows: youtube.com/watch?v=FrRUKyj4USc

Enable Developer option on your s7: youtube.com/watch?v=SnwnZ4RVmIk

(ensure your have usb debugging switched on).

Once you have done this, download your preferred ppsspp apk file (i used the latest nightly build)

Store the apk to the root of the C drive and rename it to: ppsspp.apk

Then launch command prompt and input this code:

adb install --abi armeabi-v7a c:\ppsspp.apk

If you have set up ADB with your command prompt properly, it will install the apk to your phone and will force it to 32bit.

To be honest, many games that was running slow on my s5 is running really good on my s7. And the amazing thing is, it's not even running on the 64 bit code yet.
Find all posts by this user
Quote this message in a reply
05-15-2016, 06:24 AM
Post: #51
RE: Galaxy s7 edge crash
Does anybody know of this is an issue that is being worked on by developers or is it something the S7 owners just have to deal with on their own? Just want to know if I'm doomed to use work arounds or if I wait long enough the developers will push out a version compatible with my device.
Find all posts by this user
Quote this message in a reply
05-15-2016, 08:19 PM
Post: #52
RE: Galaxy s7 edge crash
I'm still waiting for someone to report back on the code changes I suggested:

http://forums.ppsspp.org/showthread.php?...#pid116544

Possibly none will make any difference, or will just make it behave differently, but information on that would really help move this forward. It probably looks harder / more time consuming than it is from the length of the post.

From my perspective, this looks like a hardware / OS bug. Without someone testing to figure out what triggers the bug in the device, it's very hard to come up with an effective workaround. We've already tried guessing and it didn't fix it.

-[Unknown]
Find all posts by this user
Quote this message in a reply
05-16-2016, 11:30 AM (This post was last modified: 05-16-2016 01:01 PM by Jaaan.)
Post: #53
RE: Galaxy s7 edge crash
(05-15-2016 08:19 PM)[Unknown] Wrote:  I'm still waiting for someone to report back on the code changes I suggested:

Possibly none will make any difference, or will just make it behave differently, but information on that would really help move this forward. It probably looks harder / more time consuming than it is from the length of the post.

From my perspective, this looks like a hardware / OS bug. Without someone testing to figure out what triggers the bug in the device, it's very hard to come up with an effective workaround. We've already tried guessing and it didn't fix it.

-[Unknown]

I'm on this right now. Currently installing everything.

EDIT: I'm getting an "'ant' is not recognized as an internal or external command, operable program or batch file.

I've installed everything, set up android studio with the standard settings, used git to get ppsspp. I'm currently stuck at "ant debug" with this error.

EDIT2: MAnaged to get ant running. Now getting this:

Code:
C:\Users\----\ppsspp\android>ant debug
Unable to locate tools.jar. Expected to find it in C:\Program Files\Java\jre1.8.0_91\lib\tools.jar
Buildfile: C:\Users\----\ppsspp\android\build.xml

BUILD FAILED
C:\Users\----\ppsspp\android\build.xml:61: sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through the ANDROID_HOME environment variable.

Total time: 0 seconds

EDIT3: Set Java to look in the right place, now getting this:

Code:
C:\Users\----\ppsspp\android>ant debug
Buildfile: C:\Users\----\ppsspp\android\build.xml

BUILD FAILED
C:\Users\----\ppsspp\android\build.xml:61: sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through the ANDROID_HOME environment variable.

Total time: 0 seconds

EDIT4: Right.. past that, now getting this:

Code:
C:\Users\----\ppsspp\android>ant debug
Buildfile: C:\Users\----\ppsspp\android\build.xml
Duplicated project name in import. Project PPSSPP defined first in C:\Users\----\ppsspp\android\build.xml and again in C:\Users\----\ppsspp\android\custom_rules.xml

-set-mode-check:

-set-debug-files:

-check-env:
[checkenv] Android SDK Tools Revision 25.1.6
[checkenv] Installed at C:\Users\----\AppData\Local\Android\Sdk

-setup:
     [echo] Project Name: PPSSPP
  [gettype] Project Type: Application

-set-debug-mode:

-debug-obfuscation-check:

-pre-build:

BUILD FAILED
C:\Users\----\ppsspp\android\custom_rules.xml:8: Execute failed: java.io.IOException: Cannot run program "${ndk.dir}\ndk-build.cmd" (in directory "C:\Users\----\ppsspp\android"): CreateProcess error=2, Het systeem kan het opgegeven bestand niet vinden
        at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
        at java.lang.Runtime.exec(Runtime.java:620)
        at org.apache.tools.ant.taskdefs.launcher.Java13CommandLauncher.exec(Java13CommandL​auncher.java:58)
        at org.apache.tools.ant.taskdefs.Execute.launch(Execute.java:426)
        at org.apache.tools.ant.taskdefs.Execute.execute(Execute.java:440)
        at org.apache.tools.ant.taskdefs.ExecTask.runExecute(ExecTask.java:629)
        at org.apache.tools.ant.taskdefs.ExecTask.runExec(ExecTask.java:670)
        at org.apache.tools.ant.taskdefs.ExecTask.execute(ExecTask.java:496)
        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:293)
        at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.jav​a:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
        at org.apache.tools.ant.Task.perform(Task.java:348)
        at org.apache.tools.ant.Target.execute(Target.java:435)
        at org.apache.tools.ant.Target.performTasks(Target.java:456)
        at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1405)
        at org.apache.tools.ant.Project.executeTarget(Project.java:1376)
        at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:​41)
        at org.apache.tools.ant.Project.executeTargets(Project.java:1260)
        at org.apache.tools.ant.Main.runBuild(Main.java:854)
        at org.apache.tools.ant.Main.startAnt(Main.java:236)
        at org.apache.tools.ant.launch.Launcher.run(Launcher.java:285)
        at org.apache.tools.ant.launch.Launcher.main(Launcher.java:112)
Caused by: java.io.IOException: CreateProcess error=2, Het systeem kan het opgegeven bestand niet vinden
        at java.lang.ProcessImpl.create(Native Method)
        at java.lang.ProcessImpl.<init>(ProcessImpl.java:386)
        at java.lang.ProcessImpl.start(ProcessImpl.java:137)
        at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
        ... 23 more

Total time: 0 seconds

Forgot the set the NDK, lol. It's compiling yay!

EDIT5: BUILD FAILED
C:\Users\----\ppsspp\android\custom_rules.xml:8: exec returned: 2 Sad

XML file says:
Code:
<?xml version="1.0" encoding="UTF-8"?>

-<project default="help" name="PPSSPP">


-<condition else="ndk-build" value="ndk-build.cmd" property="ndkbuild_exe">

<os family="windows"/>

</condition>

<property name="ndkbuildopt" value=""/>


-<target name="-pre-build">


-<exec failonerror="true" executable="${ndk.dir}/${ndkbuild_exe}">

<arg line="-j4 ${ndkbuildopt}"/>

<env path="../ext:../ext/native/ext" key="NDK_MODULE_PATH"/>

</exec>

</target>


-<target name="clean" depends="android_rules.clean">


-<exec failonerror="true" executable="${ndk.dir}/${ndkbuild_exe}">

<arg value="clean"/>

<env path="../ext:../ext/native/ext" key="NDK_MODULE_PATH"/>

</exec>

</target>

</project>
Find all posts by this user
Quote this message in a reply
05-16-2016, 01:11 PM
Post: #54
RE: Galaxy s7 edge crash
Oh yeah, we still have issues with the very latest NDK. Gotta use the next-to-latest one.. sorry about that.
Find all posts by this user
Quote this message in a reply
05-16-2016, 01:35 PM (This post was last modified: 05-16-2016 03:51 PM by Jaaan.)
Post: #55
RE: Galaxy s7 edge crash
(05-16-2016 01:11 PM)Henrik Wrote:  Oh yeah, we still have issues with the very latest NDK. Gotta use the next-to-latest one.. sorry about that.

No biggie. Glad it's not something l did wrong.

Would Revision 11b be good? Or do I need to step down a whole number?

EDIT: 11b not good. now trying 10e

EDIT2: OK everything's set up! I just loaded up the first edited build with the increased validation code. and IT WORKS! lol. I am now playing KH on my S7 Edge. Tried Phantom Brave and that loaded too! YOU GUYS ARE AMAZING!

EDIT3: Shit spoke too soon Sad Closing the app and removing it from ram, then re opening makes it crash again. Sad it works a little better though.. I can get to the Disney screen on KH now, where as it used to crash immediately before.

Off to try option 2

Option 2 does not get me gameplay. It crashes just before the Disney screen on KH. Phantom Brave loads up until the main menu, and crashes on selecting new game.

BTW: I'm copying over the PPSSPP-debug.apk's, can I use those later on if you need me to check something or do I need to re-compile them each time?

Option 3 coming up

Option 3 is weird. It crashed immediately on opening KH, when I reopened it it continued loading until you could select something, then crashed again, upon opening it again it loaded all the way to the disney screen and it crashed. Opening it up then reloads PPSSPP. Phantom Brave crashes immediately and makes PPSSPP reload upon re-opening. Opening it up again then goes up until the main menu and loads the game up until gameplay. And now KH works too all the way up to gameplay.. Okay removing it from ram and trying again.

KH crashes immediately again. opening it up from ram reloads PPSSPP everytime now. Phantom Brave loads, crashes after the first loading screen. continues on loading when reloading from ram. crashes on main menu and then reloads PPSSPP again.

Option 4 gets me the first selection screen on KH then crashes. loading from ram restarts PPSSPP. KH crashes immediately now. PPSSPP restarts when reloading from RAM. Phantom Brave crashes on like 10% on the loading screen. reloading PPSSPP from ram makes it load all the way, then crashes. Reloading from RAM then will restart PPSSPP. it crashes immediately now too. KH works now though. XD I don't understand what the hell is happening here but it loads all the way up to gameplay now without crashing once. closing it and loading up Phantom Brave also loads it up all the way to gameplay. closing that and opening KH again will load KH up all the way to gameplay without crashing again.

Also no noticeable performance issues with this one.

I removed it from ram once more, and the crashing issue is there again. it crashed on the disney screen now. Reloading PPSSPP from ram will restart it.

That's about it.. Getting it to work is hit or miss.. But when you get to gameplay there a re no noticeable issues what so ever.

IF there's anything else I can do let me know!

EDIT4: I've noticed that when I load instantly to gameplay, as in load the game, immediately press back and load a save state, I can bypass the crash. Still on option 4.

EDIT5: Installed option 1 again as it seemed to work better. Didn't work as it did before. It now crashed after the memory card select screen. Though, same as with option 4, loading instantly into gameplay, will bypass the crash, and you can then even reload KH and it will not crash. I've closed and opened it 5 times and each time it gets to the main menu screen. no crashes.
Find all posts by this user
Quote this message in a reply
05-16-2016, 03:54 PM
Post: #56
RE: Galaxy s7 edge crash
Thanks, these results are definitely helpful. It seems like going +- 4096 and flushing everything both had the best results, but still weren't crash-free without some trial and error.

Interesting how option 3 behaved.

I wonder if there's a way to tell when it's crashing. Here's another idea for a code change:

In Core/MIPS/JitCommon/JitState.cpp, find:

Code:
enableBlocklink = true;

And change to:

Code:
enableBlocklink = false;

And also use option 1 (the 4096 one) from before. This will make it so we have to invalidate icache less often, so it might make it more stable. If that does work, maybe we can look at other ways of invalidating around block linking ("block linking" makes things faster and it'd be best not to sacrifice it.)

-[Unknown]
Find all posts by this user
Quote this message in a reply
05-16-2016, 04:14 PM (This post was last modified: 05-16-2016 04:33 PM by Jaaan.)
Post: #57
RE: Galaxy s7 edge crash
On it. Compiling right now.

I'm gonna say this again as you may have missed it. But immediately loading up a savestate (As in loading up the game, instantly pressing back and loading a savestate) with gameplay will bypass the crash each time on option 1 as well as option 4. Seems like it could be important also.

Okay it's installed. First time loading up KH: all the way up to gameplay! Big Grin closing KH crashed PPSSPP though. reloading it from ram restarts PPSSPP. loading KH crashes PPSSPP immediately now. reloading it from ram restarts. Phantom Brave restarts immediately too.

Removing PPSSPP from ram now.

KH loads up until the autosave screen. reloading from ram restarts PPSSPP. KH crashes immediately now.

removing it from ram will make KH crash on the auto save screen each time. and restart PPSSPP when loaded from ram. Phantom Brave crashes immediately also.

Workaround still works though! The crash on exiting KH will happen each time though.

Also I have to be quick for the workaround. If I wait too long it won't work and will crash PPSSPP upon loading.

Seems like on a clean install it works, after that it has problems.

EDIT: Seems like it is random.. Last 5 times I opened KH I got a crash immediately (On option 1.1), and suddenly it worked without a hitch. closing KH crashed PPSSPP. and it crashes immediately again. 2nd time I got up until the memory card screen. 3rd time crashed immediately. 4th also crashed immediately. 5th also.

Also the workaround seems like it has to load into gameplay. I tried to make a savestate on the memory card screen and it's still prone to crashing if I load from there. Not 100% sure about this though but I haven't experienced any crashes when loading straight into gameplay.
Find all posts by this user
Quote this message in a reply
05-16-2016, 04:27 PM
Post: #58
RE: Galaxy s7 edge crash
Thanks, I did miss that. That's very interesting - it consistently works each time?

Loading a save state will invalidate all of jit, and then start compiling jit from scratch.

Another thing you can do that will also invalidate all of jit, is go into system settings, and toggle "fast memory" off and back on. Does that also workaround like save state loading does?

Perhaps we can just write and then invalidate some dummy instructions into the jit before actually writing real jit code, if that works consistently.

Sounds like block linking didn't have any significant positive or negative impact. That's interesting, since it means reducing invalidations probably isn't the solution here.

-[Unknown]
Find all posts by this user
Quote this message in a reply
05-16-2016, 04:53 PM (This post was last modified: 05-16-2016 06:17 PM by Jaaan.)
Post: #59
RE: Galaxy s7 edge crash
I reverted back to option 1 instead of 1.1 because the crash on closing the game was annoying and I didn't seem to notice any other differences.

Turning off fast memory does not load it on option 1. Seems to crash immediately each time, give me a black screen, or crash upon re-enabling fast memory.

The workaround seems to work each time if I'm quick enough. It more or less needs to be straight after you load up the game. And it needs to be gameplay. Haven't have it crash once if I do that. But loading the savestate on the memory card screen is still prone to crashes. Maybe the main menu will work too, I can try that.

Have not tried to play properly though, just walked around the starting area and the area with the rings, and closed it there.

Edit: Seems like it does crash after a while even if you load it up on gameplay. It does load the game though and I can do stuff for a while without issues.

Crashes are random.. I've had it crash upon leaving the first area. After using my magic on the rings in the tutorial, and now I'm playing without issues past all those things. It seems to crash upon entering the meteor shower area now.

Seems like the only time it'll crash though is when it gets the chance to load something. Be it resuming from an event, changing screens or whatever. again not 100% sure about this though.

EDIT2: Crashes each time upon entering the meteor shower area Sad

After messing around for a while it seems to be certain that the crashes are tied to loading. On KH upon leaving the first area that leads to the rings there's a small chance of it crashing. Upon entering the meteor shower area it seems to just crash each time. Upon loading a gameplay save state it loads each time and I can do stuff. Upon loading gameplay, then loading back to the memory card screen, it can crash again.

I've set it to load the last save state automatically each time and I can reload the gameplay one as much as I want and it won't crash.

EDIT3: Making a savestate at the entrance of the meteor shower area after the tutorial stuff and loading that after the crash will make it load past the loading screen without crashing.
Find all posts by this user
Quote this message in a reply
05-16-2016, 05:57 PM
Post: #60
RE: Galaxy s7 edge crash
Right, when loading, it's also running new code, which will cause it to jit more things.

When it loads a save state into the game, it will jit everything right away for you to walk around, because the game uses all the same code for that.

This makes it sound like it becomes more of an issue when there's space between jitting.

Okay, new idea. In Core/MIPS/ARM64/Arm64Jit.cpp, find:

Code:
    // Don't forget to zap the newly written instructions in the instruction cache!
    FlushIcache();

And add before that:

Code:
    while (((intptr_t)GetCodePtr()) & 0xFF) {
        HINT(HINT_NOP);
    }

This will waste space in the jit memory, but it will also make blocks farther apart, which may make them invalidate better. Try combining this with option 1 and also "enableBlockLink = false". Trying to confirm if touching other cachelines causes a problem.

-[Unknown]
Find all posts by this user
Quote this message in a reply
Post Reply 


Forum Jump: