Closed Bug 627695 Opened 13 years ago Closed 13 years ago

Broken update at Nightly 1/21 on Android

Categories

(Firefox for Android Graveyard :: General, defect)

All
Android
defect
Not set
critical

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: anamaria.moldovan, Unassigned)

References

Details

Attachments

(1 file)

Attached image actual result
Build Identifier: Mozilla/5.0 (Android; Linux armv7l; rv:2.0b10pre)
Gecko/20110121 Firefox/4.0b10pre Fennec/4.0b4pre 
Devices:  Motorola Droid 2 (Android 2.2), HTC Desire (Android 2.1)

Steps to reproduce 1:
1. make sure you have installed a previous nightly build.
2. Go to about:fennec and check for update
3. Install update (Download the update ->Apply Downloaded Update -> Replace application: OK -> Application Installed: Select OPEN.

Actual result:
- en error message dialog appears saying: "Sorry! The application fennec (process org.mozilla.fennec) has stopped unexpectedly. Please try again." There is no way to load Fennec. One should install Fennec from ftp.

Expected result:
- the application should start normally
Please see the attachment too.
tracking-fennec: --- → 2.0b4+
I'm seeing two separate issues here which both prevent the update from succeeding.

* The "Sorry!... try again" (force close) dialog from comment 0 appears to happen during shutdown of the previous build.  I can't reproduce this 100%, but I did see it on my device.

* On startup of the new build, I am seeing "java.io.FileNotFoundException: /data/data/org.mozilla.fennec/application.ini (Permission denied)" in GeckoApp.unpackFile.
I think this is caused by http://hg.mozilla.org/mozilla-central/rev/7d2c1fef16f3 (bug 620851).  The new build can't install over the previous one because the sharedID is different, but Android isn't smart enough to prevent installation.

The new build starts successfully if you uninstall the previous one first.
Blocks: 620851
This should only affect nightly upgrades.  Upgrades from 4.0b3 to 4.0b4 should work fine because this change landed on the b3 relbranch before release:
http://hg.mozilla.org/mozilla-central/rev/88db8ccdd0de
We can't just back out the change, because that would break updates for beta 3 users.

We could revert to the old ID for nightly builds only (keeping the new ID for release builds).  Or we could WONTFIX this bug and just force every user of previous nightly builds to do a clean install.
tracking-fennec: 2.0b4+ → ---
I've verified that the sharedUserId change is the cause of the startup failure.  Clearing blocking-fennec because this does not affect release build users.
Could someone point me at some docs regarding sharedID/sharedUserId?  Specifically, I just want to make sure that the app ID a23983c0-fd0e-11dc-95ff-0800200c9a66 has not changed in any way.
(In reply to comment #7)
> Could someone point me at some docs regarding sharedID/sharedUserId? 
> Specifically, I just want to make sure that the app ID
> a23983c0-fd0e-11dc-95ff-0800200c9a66 has not changed in any way.

http://developer.android.com/guide/topics/manifest/manifest-element.html#uid

The sharedUserId in has changed from "org.mozilla.sharedID" to "org.mozilla.fennec.sharedUserID" (nightly builds starting last night) and "org.mozilla.firefox.sharedUserID" (release builds starting with 4.0b3).

We made this change because release and nightly builds are signed with different keys, so they need to use different sharedUserIds (or installation of one will fail if the other is already installed).
(In reply to comment #7)
> Could someone point me at some docs regarding sharedID/sharedUserId? 
> Specifically, I just want to make sure that the app ID
> a23983c0-fd0e-11dc-95ff-0800200c9a66 has not changed in any way.

The ID changes we made were Android related, not the Mozilla appID. That should never ever change.
Fwiw, here's my logs during the startup crash.

    I/ActivityManager(  109): Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=org.mozilla.fennec/.App bnds=[365,392][475,510] } from pid 189
    I/ActivityManager(  109): Start proc org.mozilla.fennec for activity org.mozilla.fennec/.App: pid=5142 uid=10069 gids={3003, 1015}
    D/dalvikvm(  109): GC_CONCURRENT freed 2045K, 61% free 5935K/14855K, external 6091K/7125K, paused 4ms+11ms
    V/RenderScript_jni(  189): surfaceDestroyed
    I/GeckoApp( 5142): create
    I/GeckoAppJava( 5142): Checking for an update
    I/GeckoApp( 5142): start
    I/GeckoApp( 5142): resume
    W/dalvikvm( 5142): threadid=10: thread exiting with uncaught exception (group=0x40015560)
    E/AndroidRuntime( 5142): FATAL EXCEPTION: Thread-10
    E/AndroidRuntime( 5142): java.lang.UnsatisfiedLinkError: Couldn't load mozutils: findLibrary returned null
    E/AndroidRuntime( 5142):        at java.lang.Runtime.loadLibrary(Runtime.java:429)
    E/AndroidRuntime( 5142):        at java.lang.System.loadLibrary(System.java:554)
    E/AndroidRuntime( 5142):        at org.mozilla.gecko.GeckoAppShell.loadGeckoLibs(GeckoAppShell.java:126)
    E/AndroidRuntime( 5142):        at org.mozilla.gecko.GeckoApp$3.run(GeckoApp.java:201)
    E/AndroidRuntime( 5142):        at java.lang.Thread.run(Thread.java:1019)
    W/ActivityManager(  109):   Force finishing activity org.mozilla.fennec/.App
    I/GeckoAppJava( 5142): surface created
    D/dalvikvm( 5142): GC_EXTERNAL_ALLOC freed 326K, 47% free 3392K/6343K, external 1802K/2137K, paused 47ms
    I/GeckoAppJava( 5142): surfaceChanged: fmt: 4 dim: 480 762
    W/InputManagerService(  109): Starting input on non-focused client com.android.internal.view.IInputMethodClient$Stub$Proxy@409e0188 (uid=10069 pid=5142)
    I/GeckoApp( 5142): pause
    W/InputManagerService(  109): Client not active, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@40a83ca8
    V/RenderScript_jni(  189): surfaceCreated
    V/RenderScript_jni(  189): surfaceChanged
    I/GeckoAppJava( 5142): surface destroyed
    I/GeckoApp( 5142): stop
    I/GeckoApp( 5142): destroy
    D/AudioHardware(   75): AudioHardware pcm playback is going to standby.
    D/AudioHardware(   75): closePcmOut_l() mPcmOpenCnt: 1
It is not specific to Fennec.
It is also applicable to Minefield, at least on Windows. The automatic and manual updates don't work.
OS: Android → All
Hardware: ARM → All
Summary: Broken update at Nightly 1/21 on Android → Broken update at Nightly 1/21 on Fennec and Minefield
Please file a different bug for Windows.  The error here from changing AndroidManifest.xml cannot  affect the Windows build.

Marking this bug as WONTFIX.  Now that most people have already updated, anything we do to change this will just cause more of the same hassle.
Status: NEW → RESOLVED
Closed: 13 years ago
OS: All → Android
Resolution: --- → WONTFIX
Summary: Broken update at Nightly 1/21 on Fennec and Minefield → Broken update at Nightly 1/21 on Android
Me too. My mobile device is HTC desire (Android 2.2 China Edition).
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: