ffupdater icon indicating copy to clipboard operation
ffupdater copied to clipboard

Crash when installing FF Nightly with root

Open ggtylerr opened this issue 5 months ago • 0 comments

Important first questions

  1. Is your FFUpdater up-to-date? If not, please abort and update FFUpdater.

Yes.

  1. Do you spot similar issues in https://github.com/Tobi823/ffupdater/issues? If yes, please abort and add your error message as a comment to the existing issue.

No.

Describe the bug When installing the latest version of FF Nightly (As of writing, 06/23/2025) using the root installer method, the app crashes with the report found below. I suspect it's because of the B64(?) in the file name, but can't say for sure, especially since session installation works. Other apps using root also work.

To Reproduce Please insert the steps to reproduce the behavior here:

  1. Get a rooted device
    • I'm using Magisk but I don't believe this would affect it.
  2. Set the installation method to "Root Installer" in FFUpdater settings
  3. Install/update nightly

Expected behavior For the app to install/update without issue.

Error message from FFUpdater Please copy and paste the error message with the stacktrace and error log here: Stacktrace:

java.lang.IllegalArgumentException: Invalid file prefix: FIREFOX_NIGHTLY_MTQyLjBhMSAyMDI1MDYyMw==
.apk
	at de.marmaro.krt.ffupdater.installer.impl.RootInstaller.fileIsSafeOrThrow(RootInstaller.kt:52)
	at de.marmaro.krt.ffupdater.installer.impl.RootInstaller.installApkFile(RootInstaller.kt:30)
	at de.marmaro.krt.ffupdater.installer.impl.RootInstaller.access$installApkFile(RootInstaller.kt:19)
	at de.marmaro.krt.ffupdater.installer.impl.RootInstaller$startInstallation$2.invokeSuspend(RootInstaller.kt:24)
	at de.marmaro.krt.ffupdater.installer.impl.RootInstaller$startInstallation$2.invoke(RootInstaller.kt:0)
	at de.marmaro.krt.ffupdater.installer.impl.RootInstaller$startInstallation$2.invoke(RootInstaller.kt:0)
	at de.marmaro.krt.ffupdater.installer.impl.CertificateVerifier.verifyCertificateBeforeAndAfterInstallation(CertificateVerifier.kt:17)
	at de.marmaro.krt.ffupdater.installer.impl.CertificateVerifier$verifyCertificateBeforeAndAfterInstallation$1.invokeSuspend(CertificateVerifier.kt:0)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
	at android.os.Handler.handleCallback(Handler.java:991)
	at android.os.Handler.dispatchMessage(Handler.java:102)
	at android.os.Looper.loopOnce(Looper.java:232)
	at android.os.Looper.loop(Looper.java:317)
	at android.app.ActivityThread.main(ActivityThread.java:8934)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:591)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:911)
	Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@f5ce0c, Dispatchers.Main]

Logs:

java.lang.IllegalArgumentException: Invalid file prefix: FIREFOX_NIGHTLY_MTQyLjBhMSAyMDI1MDYyMw==
.apk
	at de.marmaro.krt.ffupdater.installer.impl.RootInstaller.fileIsSafeOrThrow(RootInstaller.kt:52)
	at de.marmaro.krt.ffupdater.installer.impl.RootInstaller.installApkFile(RootInstaller.kt:30)
	at de.marmaro.krt.ffupdater.installer.impl.RootInstaller.access$installApkFile(RootInstaller.kt:19)
	at de.marmaro.krt.ffupdater.installer.impl.RootInstaller$startInstallation$2.invokeSuspend(RootInstaller.kt:24)
	at de.marmaro.krt.ffupdater.installer.impl.RootInstaller$startInstallation$2.invoke(RootInstaller.kt:0)
	at de.marmaro.krt.ffupdater.installer.impl.RootInstaller$startInstallation$2.invoke(RootInstaller.kt:0)
	at de.marmaro.krt.ffupdater.installer.impl.CertificateVerifier.verifyCertificateBeforeAndAfterInstallation(CertificateVerifier.kt:17)
	at de.marmaro.krt.ffupdater.installer.impl.CertificateVerifier$verifyCertificateBeforeAndAfterInstallation$1.invokeSuspend(CertificateVerifier.kt:0)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
	at android.os.Handler.handleCallback(Handler.java:991)
	at android.os.Handler.dispatchMessage(Handler.java:102)
	at android.os.Looper.loopOnce(Looper.java:232)
	at android.os.Looper.loop(Looper.java:317)
	at android.app.ActivityThread.main(ActivityThread.java:8934)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:591)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:911)
	Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@f5ce0c, Dispatchers.Main]

Device information:

Key Value
FFUpdater version 81.0.0 (179) release F-Droid/other
Device Pixel 7 Pro (cheetah, cheetah, cheetah)
Manufacturer google (Google)
Supported ABIs arm64-v8a
Android version 15 (SDK: 35)
OS r-b420135cd668c625-cgw9, android-build, release-keys, 1743030759000

ggtylerr avatar Jun 24 '25 01:06 ggtylerr