Closed Bug 1264507 Opened 8 years ago Closed 7 years ago

Firefox on Android Remote Debugger fails to connect

Categories

(DevTools :: General, defect, P2)

46 Branch
ARM
Android
defect

Tracking

(Not tracked)

RESOLVED INVALID

People

(Reporter: ibrahim.awwal, Unassigned)

References

(Blocks 1 open bug)

Details

User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:47.0) Gecko/20100101 Firefox/47.0
Build ID: 20160412004019
Firefox for Android

Steps to reproduce:

1. Follow steps on https://developer.mozilla.org/en-US/docs/Tools/Remote_Debugging/Debugging_Firefox_for_Android_over_Wifi or https://developer.mozilla.org/en-US/docs/Tools/Remote_Debugging/Debugging_Firefox_for_Android_with_WebIDE to enable remote debugging (Firefox 46 beta)
2. Attempt to connect via WebIDE on desktop (both Firefox Developer Edition and 45.0.1 on Ubuntu 15.10)
a) via Wifi - Scan QR code
b) via USB - Connect, allow debugging


Actual results:

The progress spinner tried to connect but failed. On USB, I got a prompt to allow debugging but then it didn't actually connect. Looking at the ADB logs, I found this exception:

04-13 17:53:35.614 18837 18852 I GeckoDump: *************************
04-13 17:53:35.615 18837 18852 I GeckoDump: A coding exception was thrown in a Promise resolution callback.
04-13 17:53:35.615 18837 18852 I GeckoDump: See https://developer.mozilla.org/Mozilla/JavaScript_code_modules/Promise.jsm/Promise
04-13 17:53:35.615 18837 18852 I GeckoDump: 
04-13 17:53:35.616 18837 18852 I GeckoDump: Full message: TypeError: sessionStore is undefined
04-13 17:53:35.616 18837 18852 I GeckoDump: Full stack: .get@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/server/actors/webbrowser.js:142:265
04-13 17:53:35.616 18837 18852 I GeckoDump: BTA_form@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/server/actors/webbrowser.js:51:274
04-13 17:53:35.616 18837 18852 I GeckoDump: RootActor.prototype.onListTabs/</reply.tabs<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/server/actors/root.js:30:161
04-13 17:53:35.616 18837 18852 I GeckoDump: RootActor.prototype.onListTabs/<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/server/actors/root.js:30:137
04-13 17:53:35.616 18837 18852 I GeckoDump: Handler.prototype.process@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:102:82
04-13 17:53:35.616 18837 18852 I GeckoDump: this.PromiseWalker.walkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:95:31
04-13 17:53:35.616 18837 18852 I GeckoDump: this.PromiseWalker.scheduleWalkerLoop/<@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:82:94
04-13 17:53:35.616 18837 18852 I GeckoDump: 
04-13 17:53:35.617 18837 18852 I GeckoDump: *************************
04-13 17:53:35.667 18837 18852 I GeckoDump: *************************
04-13 17:53:35.668 18837 18852 I GeckoDump: A coding exception was thrown in a Promise resolution callback.
04-13 17:53:35.668 18837 18852 I GeckoDump: See https://developer.mozilla.org/Mozilla/JavaScript_code_modules/Promise.jsm/Promise
04-13 17:53:35.668 18837 18852 I GeckoDump: 
04-13 17:53:35.669 18837 18852 I GeckoDump: Full message: TypeError: sessionStore is undefined
04-13 17:53:35.670 18837 18852 I GeckoDump: Full stack: .get@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/server/actors/webbrowser.js:142:265
04-13 17:53:35.670 18837 18852 I GeckoDump: BTA_form@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/server/actors/webbrowser.js:51:274
04-13 17:53:35.670 18837 18852 I GeckoDump: RootActor.prototype.onListTabs/</reply.tabs<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/server/actors/root.js:30:161
04-13 17:53:35.670 18837 18852 I GeckoDump: RootActor.prototype.onListTabs/<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/server/actors/root.js:30:137
04-13 17:53:35.670 18837 18852 I GeckoDump: Handler.prototype.process@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:102:82
04-13 17:53:35.670 18837 18852 I GeckoDump: this.PromiseWalker.walkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:95:31
04-13 17:53:35.670 18837 18852 I GeckoDump: this.PromiseWalker.scheduleWalkerLoop/<@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:82:94
04-13 17:53:35.670 18837 18852 I GeckoDump: 
04-13 17:53:35.671 18837 18852 I GeckoDump: *************************



Expected results:

Should have connected to Firefox on Android and been able to debug web pages.
Component: Activity Streams: General → Developer Tools
OS: Unspecified → Android
Hardware: Unspecified → ARM
Hmm, this suggests we need to be more conservative when inspecting the `sessionStore` state on Fennec.

ibrahim.awwal, are you able to reproduce this issue every time you connect? I am not sure I can reproduce this issue locally, but I think I see a possible fix.  Would you be willing to try a test build?
Assignee: nobody → jryans
Blocks: dbg-fennec
Flags: needinfo?(ibrahim.awwal)
Priority: -- → P1
I just tried now and it worked fine, so I'm not sure what the actual issue is. Wonder if it has to do with the number of tabs open or if certain tabs use a lot of sessionStore space; right now I only have 5 tabs open on my phone which is not usually the case. I'd definitely be happy to try again with a test build if I can reproduce it.
Hmm, okay.  We may need to find out more about how to reproduce it before we can be sure we've solved the issue.
Assignee: jryans → nobody
Priority: P1 → P2
Flags: needinfo?(ibrahim.awwal)
This bug is missing STRs, so not actionable in its current state. Closing for now, feel free to reopen if you face the issue again.
Status: UNCONFIRMED → RESOLVED
Closed: 7 years ago
Resolution: --- → INVALID
Product: Firefox → DevTools
You need to log in before you can comment on or make changes to this bug.