rovo89 / XposedInstaller

3.9k stars 1.51k forks source link

Installer crashes when attempting to install #244

Closed Enkouyami closed 8 years ago

Enkouyami commented 10 years ago

The installer crashes whenever I try to install the framework. This happens on v2.7 and 2.6 (I haven't tried lower versions than that). My phone is a SPH-D710 running Android 4.0.4 on the 3.0.15-SPH-D710.de22-Cl612283 Kernel and it's build number is IMM76I.FL24.

theknut commented 10 years ago

Please record a logcat of the crash. You can use Catlog from the Play Store or adb to save it. Am 17.11.2014 23:27 schrieb "Ely Lizaire" notifications@github.com:

The installer crashes whenever I try to install the framework. This happens on v2.7 and 2.6 (I haven't tried lower versions than that). My phone is a SPH-D710 running Android 4.0.4 on the 3.0.15-SPH-D710.de22-Cl612283 Kernel and it's build number is IMM76I.FL24.

— Reply to this email directly or view it on GitHub https://github.com/rovo89/XposedInstaller/issues/244.

Enkouyami commented 10 years ago

Here is a logcat made using the filter "xposed": 12-02 17:04:09.255 D/libsuperuser(5308): [libsuperuser][C][SU+] /data/data/de.robv.android.xposed.installer/cache/busybox-xposed mount -o remount,rw /system 12-02 17:04:09.775 I/DEBUG (1741): pid: 5344, tid: 5344 >>> /data/data/de.robv.android.xposed.installer/cache/busybox-xposed <<< 12-02 17:04:09.775 I/DEBUG (1741): 40058000-4005e000 /data/data/de.robv.android.xposed.installer/cache/busybox-xposed 12-02 17:04:31.885 E/AndroidRuntime(5308): at de.robv.android.xposed.installer.util.RootUtil.execute(RootUtil.java:100) 12-02 17:04:31.885 E/AndroidRuntime(5308): at de.robv.android.xposed.installer.util.RootUtil.executeWithBusybox(RootUtil.java:117) 12-02 17:04:31.885 E/AndroidRuntime(5308): at de.robv.android.xposed.installer.InstallerFragment.install(InstallerFragment.java:644) 12-02 17:04:31.885 E/AndroidRuntime(5308): at de.robv.android.xposed.installer.InstallerFragment.access$1(InstallerFragment.java:608) 12-02 17:04:31.885 E/AndroidRuntime(5308): at de.robv.android.xposed.installer.InstallerFragment$2.onAsyncClick$3c7ec8c3(InstallerFragment.java:129) 12-02 17:04:31.885 E/AndroidRuntime(5308): at de.robv.android.xposed.installer.InstallerFragment$AsyncClickListener$1.run(InstallerFragment.java:293) 12-02 17:04:56.850 I/ActivityManager(1897): Process de.robv.android.xposed.installer (pid 5308) has died. I also uploaded it to pastebin here.

theknut commented 10 years ago

It seems like mShell is null which doesn't really make sense since a root command has been executed just a few lines before.

The crash is caused by if (mShell == null) throw new IllegalStateException("shell is not running"); in RootUtil.java.

Why can the shell be not running even though busybox-xposed mount -o remount,rw /system has been executed a few lines before?

Entry point for debugging is in InstallerFragment line 644

rovo89 commented 9 years ago

Unfortunately the filter hides relevant details. Can you create a new log without the filter please? You can clear the log before reproducing the crash to avoid the it gets too big.

Enkouyami commented 9 years ago

Here is a catlog using the default verbose log level 1/3, 2/3, 3/3 which was cut to the most recent 10k lines for being too big even when I cleared it before opening Xposed Installer and a catlog using the debug log level.

Also is it normal for my phone to have that much going on in the background and would an antimalware program like Comomdo Mobile Security pose a problem for installation of the Xposed Framework?

rovo89 commented 9 years ago

Thanks, that's helpful.

The mount command mentioned by @theknut crashes hard with a Segmentation Fault. Usually, the installation should go on, and in case it's not successful it would display a link to this FAQ item. But in this case, it takes 22 seconds for the crash to complete, because dumpstate needs so much time to collect relevant log information. Xposed Installer sets a timeout at 10 seconds and stops the command (and the shell) after that time.

For most commands, the installation aborts if the command was not successful. But for the mounts, it tries to continue anyway, and therefore executes the next command in the (closed) shell.

To fix the root cause, follow the link above. To fix the crash after the command has failed, the installer could either open a new shell or stop the installation. Not sure yet what the better option would be.

mirh commented 8 years ago

I'd gladly report back if it was indeed fixed, but latest 3.1.1 doesn't offer any way to install Xposed on my 4.0.4 htc explorer.