Closed Bug 872076 Opened 12 years ago Closed 11 years ago

Intermittent java-exception | java.lang.NoSuchFieldError: CONTROL_LOCATION_UPDATES at android.location.LocationManager.<init>(LocationManager.java)

Categories

(Firefox for Android Graveyard :: General, defect)

ARM
Android
defect
Not set
critical

Tracking

(firefox22 affected, firefox23 unaffected, firefox24 fixed)

RESOLVED FIXED
Firefox 24
Tracking Status
firefox22 --- affected
firefox23 --- unaffected
firefox24 --- fixed

People

(Reporter: emorley, Assigned: cpeterson)

References

Details

(Keywords: crash, intermittent-failure)

Crash Data

Attachments

(1 file)

Android Armv6 Tegra 250 mozilla-central opt test mochitest-7 on 2013-05-14 07:14:56 PDT for push 820f28f1f2ce slave: tegra-110 https://tbpl.mozilla.org/php/getParsedLog.php?id=22942961&tree=Mozilla-Central { 3411 INFO TEST-START | /tests/dom/tests/mochitest/geolocation/test_clearWatch_invalid.html 3412 INFO TEST-PASS | /tests/dom/tests/mochitest/geolocation/test_clearWatch_invalid.html | clearWatch should not throw 3413 INFO TEST-PASS | /tests/dom/tests/mochitest/geolocation/test_clearWatch_invalid.html | clearWatch should not throw 3414 INFO TEST-PASS | /tests/dom/tests/mochitest/geolocation/test_clearWatch_invalid.html | clearWatch should not throw 3415 INFO TEST-PASS | /tests/dom/tests/mochitest/geolocation/test_clearWatch_invalid.html | clearWatch should not throw 3416 INFO TEST-PASS | /tests/dom/tests/mochitest/geolocation/test_clearWatch_invalid.html | clearWatch should not throw 3417 INFO TEST-PASS | /tests/dom/tests/mochitest/geolocation/test_clearWatch_invalid.html | clearWatch should not throw 3418 INFO TEST-PASS | /tests/dom/tests/mochitest/geolocation/test_clearWatch_invalid.html | clearWatch should not throw 3419 INFO TEST-PASS | /tests/dom/tests/mochitest/geolocation/test_clearWatch_invalid.html | clearWatch should not throw 3420 INFO TEST-PASS | /tests/dom/tests/mochitest/geolocation/test_clearWatch_invalid.html | clearWatch should not throw 3421 INFO TEST-PASS | /tests/dom/tests/mochitest/geolocation/test_clearWatch_invalid.html | clearWatch should not throw 3422 INFO TEST-PASS | /tests/dom/tests/mochitest/geolocation/test_clearWatch_invalid.html | clearWatch should not throw 3423 INFO TEST-PASS | /tests/dom/tests/mochitest/geolocation/test_clearWatch_invalid.html | clearWatch should not throw 3424 INFO TEST-PASS | /tests/dom/tests/mochitest/geolocation/test_clearWatch_invalid.html | clearWatch should not throw 3425 INFO TEST-PASS | /tests/dom/tests/mochitest/geolocation/test_clearWatch_invalid.html | clearWatch should not throw 3426 INFO TEST-PASS | /tests/dom/tests/mochitest/geolocation/test_clearWatch_invalid.html | clearWatch should not throw 3427 INFO TEST-PASS | /tests/dom/tests/mochitest/geolocation/test_clearWatch_invalid.html | clearWatch should not throw 3428 INFO TEST-PASS | /tests/dom/tests/mochitest/geolocation/test_clearWatch_invalid.html | clearWatch should not throw 3429 INFO TEST-PASS | /tests/dom/tests/mochitest/geolocation/test_clearWatch_invalid.html | clearWatch should not throw 3430 INFO TEST-PASS | /tests/dom/tests/mochitest/geolocation/test_clearWatch_invalid.html | clearWatch should not throw 3431 INFO TEST-PASS | /tests/dom/tests/mochitest/geolocation/test_clearWatch_invalid.html | clearWatch should not throw 3432 INFO TEST-PASS | /tests/dom/tests/mochitest/geolocation/test_clearWatch_invalid.html | clearWatch should not throw INFO | automation.py | Application ran for: 0:05:33.491447 INFO | zombiecheck | Reading PID log: /tmp/tmp9E2opBpidlog PROCESS-CRASH | java-exception | java.lang.NoSuchFieldError: CONTROL_LOCATION_UPDATES at android.location.LocationManager.<init>(LocationManager.java) } Guessing caused by bug 828563? (https://hg.mozilla.org/integration/mozilla-inbound/rev/061c33f0e984)
Crash Signature: [@ java.lang.NoSuchFieldError: CONTROL_LOCATION_UPDATES at android.location.LocationManager.<init>(LocationManager.java)]
This is a strange error. CONTROL_LOCATION_UPDATES is an Android permission that "allows enabling/disabling location update notifications from the radio. Not for use by normal applications." I don't know why this would be a new problem because, AFAIK, my fix for bug 828563 does not require any additional permissions (and the CONTROL_LOCATION_UPDATES field has been available since Android API Level 1). My fix for bug 828563 does call getSystemService(Context.LOCATION_SERVICE) multiple times, so maybe there is some issue limiting the number of service instances? https://developer.android.com/reference/android/Manifest.permission.html#CONTROL_LOCATION_UPDATES java.lang.NoSuchFieldError: CONTROL_LOCATION_UPDATES at android.location.LocationManager.<init>(LocationManager.java) at android.app.ContextImpl.getLocationManager(ContextImpl.java:1105) at android.app.ContextImpl.getSystemService(ContextImpl.java:946) at android.view.ContextThemeWrapper.getSystemService(ContextThemeWrapper.java:73) at android.app.Activity.getSystemService(Activity.java:3536) at org.mozilla.gecko.GeckoAppShell.getLocationManager(GeckoAppShell.java:467) at org.mozilla.gecko.GeckoAppShell.access$300(GeckoAppShell.java:96) at org.mozilla.gecko.GeckoAppShell$3.run(GeckoAppShell.java:431) at android.os.Handler.handleCallback(Handler.java:587) at android.os.Handler.dispatchMessage(Handler.java:92) at android.os.Looper.loop(Looper.java:123) at android.app.ActivityThread.main(ActivityThread.java:4627) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:521) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) at dalvik.system.NativeStart.main(Native Method)
Interestingly, these crashes only seem to affect the Tegras (Android 2.2). Also, the logs show the same CONTROL_LOCATION_UPDATES exception in one of Android's background services: Failure starting UiModeManagerService java.lang.NoSuchFieldError: CONTROL_LOCATION_UPDATES at android.location.LocationManager.<init>(LocationManager.java) at android.app.ContextImpl.getLocationManager(ContextImpl.java:1105) at android.app.ContextImpl.getSystemService(ContextImpl.java:946) at com.android.server.UiModeManagerService.<init>(UiModeManagerService.java:317) at com.android.server.ServerThread.run(SystemServer.java:379) from here: https://github.com/ngiordano/frameworks_base_services_java_com_android_server/blob/master/UiModeManagerService.java#L333 The only thing that bug 828563 might be doing differently is than before is querying location providers (like GPS) that we might not have been using on the Tegras.
This crash is an intermittent Robocop failure. Some Tegras throw exceptions about missing the CONTROL_LOCATION_UPDATES permission, which allows enabling/disabling location update notifications from the cell radio. CONTROL_LOCATION_UPDATES is not for use by normal applications, but we might be hitting this problem if the Tegras are confused about missing cell radios. This patch also removes an unnecessary call to getSystemService(Context.LOCATION_SERVICE).
Assignee: nobody → cpeterson
Status: NEW → ASSIGNED
Attachment #751875 - Flags: review?(blassey.bugs)
Attachment #751875 - Flags: review?(blassey.bugs) → review+
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 24
(In reply to TinderboxPushlog Robot from comment #9) > https://tbpl.mozilla.org/php/getParsedLog.php?id=24017300&tree=Mozilla-Beta > Android Armv6 Tegra 250 mozilla-beta opt test mochitest-7 on 2013-06-11 This mochitest crash is on Beta 22.0b1, which I had not patched. If this crash becomes a problem, I can uplift my (speculative) fix from Nightly 24 to Aurora 23 or Beta 22.
(In reply to Ryan VanderMeulen [:RyanVM][UTC-4] from comment #12) > Looks like tegra-110 is angry. Geoff: how many Tegra slaves do we have? 7 of the 7 crashes linked to this bug are from tegra-110. We have 0 reports of this crash from the field (searching crash stats for all Fennec channels for the last 4 weeks). So the tegra-110 slave looks like its hardware or OS is in a bad state. :(
Flags: needinfo?(gbrown)
I am not sure how many active tegras there are, but it's on the order of 100. I agree that tegra-110 appears to be in a bad state. Coincidentally, I am trying to clarify the procedure for reporting bad devices. I will follow-up on tegra-110 as soon as the procedure is sorted out.
Flags: needinfo?(gbrown)
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: