Blank Debugger panel when using remote debugging

RESOLVED FIXED

Status

defect
RESOLVED FIXED
4 months ago
3 months ago

People

(Reporter: jdescottes, Assigned: ochameau)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(2 attachments)

Reporter

Description

4 months ago

This is a backward compatibility issue from Bug 1269919

Prerequisite:

  • devtools.toolbox.selectedTool should be set on the client
  • client should have Bug 1269919
  • server should not have Bug 1269919

STRs:

  • open DevTools
  • select a Panel
  • close DevTools
    (the goal of this step is to set the pref devtools.toolbox.selectedTool, which triggers the bug for some reason)
  • open about:debugging-new
  • connect to your older server
  • inspect any tab
  • in about:devtools-toolbox, select the debugger

ER: Debugger UI should display
AR: Debugger UI is blank

The UI crashes because listWorkers doesn't return a workers array:
https://searchfox.org/mozilla-central/rev/dbddac86aadf1d4871fb350bbe66db43728a9f81/devtools/client/debugger/new/src/client/firefox/workers.js#27

Reporter

Comment 1

4 months ago

Note that simply doing

  let { workers } = await tabTarget.listWorkers();
  workers = workers || [];

at https://searchfox.org/mozilla-central/rev/dbddac86aadf1d4871fb350bbe66db43728a9f81/devtools/client/debugger/new/src/client/firefox/workers.js#27 "fixes" the issue.

Reporter

Comment 2

4 months ago

Alex, looks like https://hg.mozilla.org/mozilla-central/rev/c018b87959c2 is breaking backwards compatibility, or at least it bricks the debugger UI. Any idea why this would happen? At first glance, I don't understand why this patch would impact a listWorkers() call?

Flags: needinfo?(poirot.alex)
Assignee

Comment 3

4 months ago

Thanks for the report, it is a pretty trivial fix.
I never removed an event and it needs special care to not break backward compat.

Assignee: nobody → poirot.alex
Flags: needinfo?(poirot.alex)
Assignee

Comment 4

4 months ago

newSource events used to be sent on the target actors on FF66 and before,
this is no longer the case. But we still have to accept them if we connect
to old remotes, otherwise the events are considered as a method reply
and confuses packet ordering.

Comment 6

4 months ago
Pushed by apoirot@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/9a25f61c3ca3
Acknowledged newSource events sent by remote devices on FF66 and less. r=jdescottes
Assignee

Updated

4 months ago
Keywords: leave-open
Reporter

Comment 8

4 months ago

thanks for fixing the comment in a followup :)

Assignee

Updated

4 months ago
Status: NEW → RESOLVED
Closed: 4 months ago
Keywords: leave-open
Resolution: --- → FIXED

Comment 10

4 months ago
Pushed by apoirot@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/21e12842278a
Fix typo in deprecated firefox version comment. r=jdescottes
You need to log in before you can comment on or make changes to this bug.