New issue
Advanced search Search tips

Issue 596453 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Apr 2016
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: ----



Sign in to add a comment

Java crash on closing page that uses Sensor API.

Reported by my...@yandex-team.ru, Mar 21 2016

Issue description

Device name: Digma iDxD10 3G, Digma iDxD7 3G

From "Settings > About Chrome"
Application version: 47.*
OS: Android 4.2.1

URLs (if applicable):
http://www.freshtilledsoil.com/the-future-of-web/ambient-light/
https://www.audero.it/demo/device-orientation-api-demo.html

Behavior in Android Browser (if applicable):
unknown

Steps to reproduce:
(1) Open site that uses sensor API.
(2) Close it.

Expected result:
stable work of the application

Actual result:
crash with stack:
java.lang.IllegalArgumentException: Receiver not registered: android.hardware.SystemSensorManager$1@416d2e60
	at android.app.LoadedApk.forgetReceiverDispatcher(LoadedApk.java:657)
	at android.app.ContextImpl.unregisterReceiver(ContextImpl.java:1352)
	at android.hardware.SystemSensorManager.unregisterListenerImpl(SystemSensorManager.java:573)
	at android.hardware.SensorManager.unregisterListener(SensorManager.java:533)
	at org.chromium.content.browser.DeviceSensors$SensorManagerProxyImpl.unregisterListener(SourceFile:681)
	at org.chromium.content.browser.DeviceSensors.unregisterSensors(SourceFile:529)
	at org.chromium.content.browser.DeviceSensors.stop(SourceFile:269)
	at org.chromium.base.SystemMessageHandler.nativeDoRunLoopOnce(Native Method)
	at org.chromium.base.SystemMessageHandler.handleMessage(SourceFile:39)
	at android.os.Handler.dispatchMessage(Handler.java:99)
	at android.os.Looper.loop(Looper.java:137)
	at android.app.ActivityThread.main(ActivityThread.java:5039)
	at java.lang.reflect.Method.invokeNative(Native Method)
	at java.lang.reflect.Method.invoke(Method.java:511)
	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
	at dalvik.system.NativeStart.main(Native Method)


I've got this crash from YandexBrowser user crash logs, it is reproducible only on certain devices (Digma iDxD* tablets). Due to lack of devices, I wasn't able to reproduce it in my hands, but telemetry logs are quite simple: user just navigates to the site, closes the tab after half a minute, and gets a crash.
I believe that this is a firmware bug, that somehow fails to properly register a sensor. I have no information, if the sensor API works correctly before closing the page.

I will ship a PR soon.
 
Owner: wnwen@chromium.org
Status: Assigned (was: Unconfirmed)

Comment 2 by wnwen@chromium.org, Mar 21 2016

Owner: timvolod...@chromium.org
Hi Tim,

Can you take a look and triage this sensor issue? Is this something that we support?

Thanks,

Peter
Project Member

Comment 3 by bugdroid1@chromium.org, Mar 23 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a82bdf8c0f978ea78873ccebf45ea64c3e0a7d94

commit a82bdf8c0f978ea78873ccebf45ea64c3e0a7d94
Author: myrth <myrth@yandex-team.ru>
Date: Wed Mar 23 08:47:30 2016

Suppress exception on unregistering device sensor.

Digma tablets iDxD7/iDxD10 tend to throw exceptions
on sensor unregistering. I believe this is a firmware
issue. Suppress this error since it's ok to move on,
if the sensor is already unregistered.

Similar crash in mozilla tracker:
https://goo.gl/iD8sRb
Note the device list out there, it also mentions
iDxD* devices, along with some others.

R=mvanouwerkerk@chromium.org,timvolodine@chromium.org
BUG= 596453 

Review URL: https://codereview.chromium.org/1819293002

Cr-Commit-Position: refs/heads/master@{#382810}

[modify] https://crrev.com/a82bdf8c0f978ea78873ccebf45ea64c3e0a7d94/content/public/android/java/src/org/chromium/content/browser/DeviceSensors.java

Status: Fixed (was: Assigned)

Sign in to add a comment