[FlyWeb] Crash on Android when connecting to FlyWeb service

RESOLVED WORKSFORME

Status

()

Core
Networking
RESOLVED WORKSFORME
a year ago
a year ago

People

(Reporter: djvj, Assigned: justindarc)

Tracking

(Blocks: 1 bug)

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: [necko-active])

(Reporter)

Description

a year ago
I have noticed occasional crashes at the point when I try to connect to a FlyWeb service using the Fennec UI.  It's hard to replicate, and manually replicating it was difficult.

But, I managed to catch one happening when I had logcat running.  Here is the relevant logcat output:

03-15 18:53:04.315 20042 20062 I GeckoConsole: **** FlyWeb:ConnectToService ****
03-15 18:53:04.319 20042 20062 I GeckoConsole: CONNECT TO:  http://0925f33a-e387-4497-8c1d-b2a10b840fca/
03-15 18:53:04.322 20042 20062 D Telemetry: StopUISession: awesomescreen.1, reason=null
03-15 18:53:04.324 20042 20062 E GeckoCrashHandler: >>> REPORTING UNCAUGHT EXCEPTION FROM THREAD 79 ("Gecko")
03-15 18:53:04.324 20042 20062 E GeckoCrashHandler: android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
03-15 18:53:04.324 20042 20062 E GeckoCrashHandler: 	at android.view.ViewRootImpl.checkThread(ViewRootImpl.java:6566)
03-15 18:53:04.324 20042 20062 E GeckoCrashHandler: 	at android.view.ViewRootImpl.invalidateChildInParent(ViewRootImpl.java:946)
03-15 18:53:04.324 20042 20062 E GeckoCrashHandler: 	at android.view.ViewGroup.invalidateChild(ViewGroup.java:5081)
03-15 18:53:04.324 20042 20062 E GeckoCrashHandler: 	at android.view.View.invalidateInternal(View.java:12719)
03-15 18:53:04.324 20042 20062 E GeckoCrashHandler: 	at android.view.View.invalidate(View.java:12683)
03-15 18:53:04.324 20042 20062 E GeckoCrashHandler: 	at android.view.View.setEnabled(View.java:7465)
03-15 18:53:04.324 20042 20062 E GeckoCrashHandler: 	at org.mozilla.gecko.toolbar.ToolbarEditLayout.setEnabled(ToolbarEditLayout.java:172)
03-15 18:53:04.324 20042 20062 E GeckoCrashHandler: 	at org.mozilla.gecko.toolbar.BrowserToolbar.setUIMode(BrowserToolbar.java:756)
03-15 18:53:04.324 20042 20062 E GeckoCrashHandler: 	at org.mozilla.gecko.toolbar.BrowserToolbar.stopEditing(BrowserToolbar.java:813)
03-15 18:53:04.324 20042 20062 E GeckoCrashHandler: 	at org.mozilla.gecko.toolbar.BrowserToolbar.cancelEdit(BrowserToolbar.java:792)
03-15 18:53:04.324 20042 20062 E GeckoCrashHandler: 	at org.mozilla.gecko.BrowserApp.openUrlAndStopEditing(BrowserApp.java:2257)
03-15 18:53:04.324 20042 20062 E GeckoCrashHandler: 	at org.mozilla.gecko.BrowserApp.onUrlOpen(BrowserApp.java:3818)
03-15 18:53:04.324 20042 20062 E GeckoCrashHandler: 	at org.mozilla.gecko.home.FlyWebListView.handleMessage(FlyWebListView.java:98)
03-15 18:53:04.324 20042 20062 E GeckoCrashHandler: 	at org.mozilla.gecko.EventDispatcher.dispatchEvent(EventDispatcher.java:223)
03-15 18:53:04.324 20042 20062 E GeckoCrashHandler: 	at org.mozilla.gecko.GeckoAppShell.handleGeckoMessage(GeckoAppShell.java:2347)
03-15 18:53:04.324 20042 20062 E GeckoCrashHandler: 	at org.mozilla.gecko.mozglue.GeckoLoader.nativeRun(Native Method)
03-15 18:53:04.324 20042 20062 E GeckoCrashHandler: 	at org.mozilla.gecko.GeckoThread.run(GeckoThread.java:443)
03-15 18:53:04.325  3744  6218 D audio_hw_primary: select_devices: out_snd_device(2: speaker) in_snd_device(0: none)
03-15 18:53:04.326 20042 20062 E GeckoCrashHandler: Main thread (1) stack:
03-15 18:53:04.326  3744  6218 D msm8974_platform: platform_send_audio_calibration: sending audio calibration for snd_device(2) acdb_id(101)
03-15 18:53:04.327 20042 20062 E GeckoCrashHandler:     android.os.MessageQueue.nativePollOnce(Native Method)
03-15 18:53:04.327  3744  6218 I soundtrigger: audio_extn_sound_trigger_update_device_status: device 0x2 of type 0 for Event 1
03-15 18:53:04.328 20042 20062 E GeckoCrashHandler:     android.os.MessageQueue.next(MessageQueue.java:323)
03-15 18:53:04.329 20042 20062 E GeckoCrashHandler:     android.os.Looper.loop(Looper.java:135)
03-15 18:53:04.329 20042 20062 E GeckoCrashHandler:     android.app.ActivityThread.main(ActivityThread.java:5422)
03-15 18:53:04.330 20042 20062 E GeckoCrashHandler:     java.lang.reflect.Method.invoke(Native Method)
03-15 18:53:04.330 20042 20062 E GeckoCrashHandler:     com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
03-15 18:53:04.331 20042 20062 E GeckoCrashHandler:     com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
03-15 18:53:04.335  3744  6218 D msm8974_platform: platform_send_audio_calibration: sending audio calibration for snd_device(71) acdb_id(102)
03-15 18:53:04.336  3744  6218 D audio_hw_primary: enable_snd_device: snd_device(71: vi-feedback)
03-15 18:53:04.336  3744  6218 D audio_hw_primary: enable_audio_route: apply and update mixer path: spkr-vi-record
03-15 18:53:04.362  3744  6218 D msm8974_platform: platform_send_audio_calibration: sending audio calibration for snd_device(28) acdb_id(4)
03-15 18:53:04.363  3744  6218 I ACDB-LOADER: ACDB AFE returned = -19
03-15 18:53:04.363  3744  6218 D audio_hw_primary: enable_audio_route: apply and update mixer path: low-latency-playback
--------- beginning of crash
03-15 18:53:04.364 20042 20062 F libc    : Fatal signal 11 (SIGSEGV), code 1, fault addr 0x0 in tid 20062 (Gecko)
03-15 18:53:04.467  3740  3740 E DEBUG   : unexpected waitpid response: n=20062, status=00000b00
03-15 18:53:04.468  3740  3740 E DEBUG   : tid exited before attach completed: tid 20062
(Reporter)

Comment 1

a year ago
Justin, this seems to be some interaction between threads and the android UI APIs.  Can you guess at what's happening here?

As I mentioned, this is very hard to replicate, but i notice it happening once in a rare while.
Flags: needinfo?(jdarcangelo)
(Assignee)

Comment 2

a year ago
(In reply to Kannan Vijayan [:djvj] from comment #1)
> Justin, this seems to be some interaction between threads and the android UI
> APIs.  Can you guess at what's happening here?
> 
> As I mentioned, this is very hard to replicate, but i notice it happening
> once in a rare while.

Weird. I haven't seen this happen when connecting. But, when I was implementing the discovery UI, I came across something similar when refreshing the list at one point. I'll take a look and see if I can deduce what the root cause is.
Flags: needinfo?(jdarcangelo)
(Assignee)

Updated

a year ago
Assignee: nobody → jdarcangelo
Assigned, presumably being actively worked on. If not, please change necko-active whiteboard to necko-backlog.
Whiteboard: [necko-active]
(Assignee)

Comment 4

a year ago
We can close this as this crash was coming from the previous implementation. This no longer happens with the system add-on implementation.
Status: NEW → RESOLVED
Last Resolved: a year ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.