Closed Bug 1771304 Opened 2 months ago Closed 28 days ago

Performance profiler completely broken on Thunderbird

Categories

(Thunderbird :: General, defect, P1)

Thunderbird 102

Tracking

(thunderbird_esr102+ fixed, thunderbird103 fixed)

RESOLVED FIXED
104 Branch
Tracking Status
thunderbird_esr102 + fixed
thunderbird103 --- fixed

People

(Reporter: mattbju2013, Assigned: darktrojan)

References

(Blocks 4 open bugs)

Details

(Keywords: regression, regressionwindow-wanted)

Attachments

(1 file)

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:100.0) Gecko/20100101 Firefox/100.0

Steps to reproduce:

I followed the steps for "Profiling Thunderbird Performance" from here:
https://support.mozilla.org/en-US/kb/profiling-thunderbird-performance

Actual results:

When trying to finalize/stop the recording, I am not given a Stop Recording Performance button, but rather a Capture recording button which results in the following error in the console:

Failed to get the active browserId while starting the profiler. 3 recording-utils.js:53:11
    getActiveBrowserID resource://devtools/shared/performance-new/recording-utils.js:53
    startProfiler resource://devtools/shared/performance-new/gecko-profiler-interface.js:70
    actorBridgeWithSpec resource://devtools/server/actors/common.js:107
    handler resource://devtools/shared/protocol/Actor.js:175
    onPacket resource://devtools/server/devtools-server-connection.js:379
    _onJSONObjectReady resource://devtools/shared/transport/transport.js:464
    makeInfallible resource://devtools/shared/ThreadSafeDevToolsUtils.js:103
    makeInfallible resource://devtools/shared/ThreadSafeDevToolsUtils.js:103

Expected results:

The recording should be saved

On Mac using beta 102.0b3 I see it when attempting to start a profile

Failed to get the active browserId while starting the profiler. recording-utils.js:53:11
getActiveBrowserID resource://devtools/shared/performance-new/recording-utils.js:53
startProfiler resource://devtools/shared/performance-new/gecko-profiler-interface.js:70
actorBridgeWithSpec resource://devtools/server/actors/common.js:107
handler resource://devtools/shared/protocol/Actor.js:175
onPacket resource://devtools/server/devtools-server-connection.js:379
_onJSONObjectReady resource://devtools/shared/transport/transport.js:464
makeInfallible resource://devtools/shared/ThreadSafeDevToolsUtils.js:103
makeInfallible resource://devtools/shared/ThreadSafeDevToolsUtils.js:103

A regression introduced from m-c ?
Fixed profiler bugs in the past 3 months https://mzl.la/3NR4SEB

Severity: -- → S2
Status: UNCONFIRMED → NEW
Component: Untriaged → General
Ever confirmed: true
Summary: Failed to get the active browserId while starting the profiler → Failed to get the active browserId while starting the performance profiler on Thunderbird
OS: Unspecified → All
Hardware: Unspecified → All
Version: Thunderbird 101 → Thunderbird 102
Blocks: tb102found
Blocks: 1737578

This needs immediate attention

Flags: needinfo?(alessandro)
Priority: -- → P1

Meichthys, can you help us by getting the regression range? https://mozilla.github.io/mozregression/

Flags: needinfo?(mattbju2013)

Gently redirecting to Geoff

Flags: needinfo?(alessandro) → needinfo?(geoff)

I'll try to get the regression range, however i'm having trouble installing mozregression via pip pip install mozregression is requiring C++ build tools. I've tried installing a few different versions but still get an error when pip installing - it fails when trying to install the aiohttp dependency..

I'll keep trying tho!

Flags: needinfo?(mattbju2013)

Let me just say.. mozregression is VERY cool.
I did end up getting it installed. The issue was with my package manager (pipenv).
Here are the results:

 4:52.16 INFO: Last good revision: 542ef278cf7fe6e6cf52ec8cb4626a282a7741b5
 4:52.16 INFO: First bad revision: 7d1d815986ff74f82e0535cca9d4b95b0bbe66dd
 4:52.16 INFO: Pushlog:
https://hg.mozilla.org/comm-central/pushloghtml?fromchange=542ef278cf7fe6e6cf52ec8cb4626a282a7741b5&tochange=7d1d815986ff74f82e0535cca9d4b95b0bbe66dd

(In reply to Meichthys from comment #6)

Let me just say.. mozregression is VERY cool.
I did end up getting it installed. The issue was with my package manager (pipenv).
Here are the results:

 4:52.16 INFO: Last good revision: 542ef278cf7fe6e6cf52ec8cb4626a282a7741b5
 4:52.16 INFO: First bad revision: 7d1d815986ff74f82e0535cca9d4b95b0bbe66dd
 4:52.16 INFO: Pushlog:
https://hg.mozilla.org/comm-central/pushloghtml?fromchange=542ef278cf7fe6e6cf52ec8cb4626a282a7741b5&tochange=7d1d815986ff74f82e0535cca9d4b95b0bbe66dd

Very cool indeed.
Alex, could it be caused by Bug 1765650 - Thunderbird build busted after extProtService->LoadURI method changed

Flags: needinfo?(alessandro)

I have no idea as I simply did a very simple m-c port on that bug.
I know nothing of how the profiler and this whole section works.

Flags: needinfo?(alessandro)

More likely bug 1764505, which is in the matching mozilla-central range. I haven't had a chance to look closely at it yet.

Interesting. I don't understand why bug 1764505 is not marked as a regression.

Blocks: 1753282
Blocks: 1744423

Will need someone to look at this soonish

Flags: needinfo?(sancus)

I'm already looking at it. It's complex.

Flags: needinfo?(geoff)
Assignee: nobody → geoff
Status: NEW → ASSIGNED
Summary: Failed to get the active browserId while starting the performance profiler on Thunderbird → Performance profiler completely broken on Thunderbird

Okay, I've got it going. Fortunately everything except the error message about browserId can be fixed without changing mozilla-central/esr102 code. And the error message doesn't need fixing, other than to make it go away.

Flags: needinfo?(sancus)

There's a few things going on here:

  • Added a Fluent file in a specific place so the profiler page loads properly.
  • Made about:profiling work, which is needed for the profiler settings.
  • Moved the link opening functions to utilityOverlay.js so they get loaded in the toolbox process, and change them so a new window can be opened if necessary.
  • Removed the old profiler's preferences.
Target Milestone: --- → 104 Branch

Pushed by geoff@darktrojan.net:
https://hg.mozilla.org/comm-central/rev/67274225257d
Fix the new developer tools profiler. r=john.bieling

Status: ASSIGNED → RESOLVED
Closed: 28 days ago
Resolution: --- → FIXED

Comment on attachment 9284308 [details]
Bug 1771304 - Fix the new developer tools profiler. r=john.bieling

[Approval Request Comment]
Regression caused by (bug #):
User impact if declined: Profile doesn't work
Testing completed (on c-c, etc.): 3 days
Risk to taking this patch (and alternatives if risky): Potential for something unexpected, unlikely

Attachment #9284308 - Flags: approval-comm-beta?

Comment on attachment 9284308 [details]
Bug 1771304 - Fix the new developer tools profiler. r=john.bieling

[Triage Comment]
Approved for beta

Attachment #9284308 - Flags: approval-comm-beta? → approval-comm-beta+

Comment on attachment 9284308 [details]
Bug 1771304 - Fix the new developer tools profiler. r=john.bieling

[Triage Comment]
Approved for esr102
Risk, see comment 16

Attachment #9284308 - Flags: approval-comm-esr102+
You need to log in before you can comment on or make changes to this bug.