Closed Bug 1136105 Opened 10 years ago Closed 10 years ago

Having Greasemonkey enabled (even with no scripts) makes the Performance tool hang at "loading..." and the recorded profile is not displayed

Categories

(DevTools :: Performance Tools (Profiler/Timeline), defect)

36 Branch
x86_64
Windows 8.1
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WORKSFORME

People

(Reporter: rick3162, Unassigned)

References

Details

(Keywords: regression)

Attachments

(1 file)

Attached video Video_2015-02-24_143609.wmv (deleted) —
User Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:36.0) Gecko/20100101 Firefox/36.0
Build ID: 20150222232811

Steps to reproduce:

In a clean Firefox 36 stable profile:
- install Greasemonkey addon v2.3 (without any userscripts) and restart FF
- launch the Performance tool (shift+F5 or via the hamburger button|Developer)
- press the Record button (either of the two available) to start recording a  new profile 
- open any page, eg http://www.greasespot.net/
- after the page has loaded press Record button again in order to stop the recording.


Actual results:

The Performance tool displays "Loading..." 
(note that the text "Loading..." has a momentary display glitch then)
and hangs at "Loading...",
the recorded profile is not displayed, 
and clicking again on the Record button doesn't fix the problem.
(see the attached video)

Disabling Greasemonkey and restarting Firefox fixes the problem.


Expected results:

Clicking on the Record button 
should make the recording stop.
Then, the recorded profile should be opened 
and the Record button should be available again.
Component: Untriaged → Developer Tools: Profiler
Pushlog:
https://hg.mozilla.org/integration/fx-team/pushloghtml?fromchange=563e54414f4a&tochange=d5387e9486f1

Regressed by: Bug 879008
Blocks: 879008
Status: UNCONFIRMED → NEW
Ever confirmed: true
Keywords: regression
An error in Error Console:

Timestamp: 2015/02/24 23:18:31
Error: A promise chain failed to handle a rejection. Did you forget to '.catch', or did you forget to 'return'?
See https://developer.mozilla.org/Mozilla/JavaScript_code_modules/Promise.jsm/Promise

Date: Tue Feb 24 2015 23:18:23 GMT+0900
Full Message: Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIURI.host]
Full Stack: JS frame :: resource://gre/modules/commonjs/toolkit/loader.js -> resource:///modules/devtools/shared/profiler/tree-model.js :: FrameNode.prototype.getInfo :: line 227
JS frame :: resource://gre/modules/commonjs/toolkit/loader.js -> resource:///modules/devtools/shared/profiler/tree-view.js :: CallView.prototype<._displaySelf :: line 105
JS frame :: resource:///modules/devtools/AbstractTreeItem.jsm :: AbstractTreeItem.prototype._constructTargetNode :: line 355
JS frame :: resource:///modules/devtools/AbstractTreeItem.jsm :: AbstractTreeItem.prototype.attachTo :: line 234
JS frame :: resource:///modules/devtools/AbstractTreeItem.jsm :: AbstractTreeItem.prototype._showChildren :: line 325
JS frame :: resource:///modules/devtools/AbstractTreeItem.jsm :: AbstractTreeItem.prototype._toggleChildren :: line 308
JS frame :: resource:///modules/devtools/AbstractTreeItem.jsm :: AbstractTreeItem.prototype.expand :: line 268
JS frame :: resource:///modules/devtools/AbstractTreeItem.jsm :: AbstractTreeItem.prototype.attachTo :: line 238
JS frame :: chrome://browser/content/devtools/ui-profile.js :: ProfileView._populateCallTreeFromFrameNode :: line 504
JS frame :: chrome://browser/content/devtools/ui-profile.js :: ProfileView._populateCallTree :: line 474
JS frame :: chrome://browser/content/devtools/ui-profile.js :: ProfileView._populatePanelWidgets< :: line 369
JS frame :: self-hosted :: next :: line 620
JS frame :: resource://gre/modules/Task.jsm :: TaskImpl_run :: line 314
JS frame :: resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js :: Handler.prototype.process :: line 867
JS frame :: resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js :: this.PromiseWalker.walkerLoop :: line 746
JS frame :: resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js :: this.PromiseWalker.scheduleWalkerLoop/< :: line 688
native frame :: <unknown filename> :: <TOP_LEVEL> :: line 0
Source File: resource://gre/modules/commonjs/toolkit/loader.js -> resource:///modules/devtools/shared/profiler/tree-model.js
Line: 227
Source Code:
227
Kostas or Alice, Can you reproduce with one of the builds below ?
Builds : 
Windows : http://ftp.mozilla.org/pub/mozilla.org/firefox/tinderbox-builds/gum-win32/1424557667/
Linux : http://ftp.mozilla.org/pub/mozilla.org/firefox/tinderbox-builds/gum-linux/1424557667/
OSX : http://ftp.mozilla.org/pub/mozilla.org/firefox/tinderbox-builds/gum-macosx64/1424557667/

Thanks !
Flags: needinfo?(rick3162)
Flags: needinfo?(alice0775)
I can confirm that the try build fixes the problem.
https://hg.mozilla.org/projects/gum/rev/4ee90f8464d9
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0 ID:20150221142747
Flags: needinfo?(alice0775)
Thanks Alice ! So it looks like the new perf tool doesn't have this issue. Victor, Is this worth fixing ? If everything goes well, new perf tool will ship in Firefox 39 anyway, and this isn't really a critical bug.
Flags: needinfo?(rick3162) → needinfo?(vporof)
Nah, let's ignore this.
Flags: needinfo?(vporof)
Depends on: enable-perf-tool
Will close all irrelevant timeline and profiler bugs after the new perf tool lands.
No longer depends on: enable-perf-tool
Please test again with the new Perf tool in Firefox Nightly. Reopen if it's still an issue.

Thanks!
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → WORKSFORME
(In reply to Victor Porof [:vporof][:vp] from comment #8)
> Please test again with the new Perf tool in Firefox Nightly. Reopen if it's
> still an issue.
> 
> Thanks!
It's fixed now.
Thank you
Product: Firefox → DevTools
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: