Closed Bug 1634778 Opened 6 years ago Closed 6 years ago

Expensive server/actors/utils/event-loop.js enter() in background tab

Categories

(DevTools :: Debugger, defect, P2)

defect

Tracking

(Not tracked)

RESOLVED INVALID

People

(Reporter: Harald, Unassigned)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

Attached image image.png

I was debugging a slow slack UI and found the top self-time function to be a devtools actor; pointing to a codesandbox background tab.

The enter function is called for every stack on the content process; which still accumulates into significant self-time. Jit sidebar says it is all running in Interpreter, which seems off.

It's hard to tell from this graph alone, this may well be expected behavior. Was the debugger paused during this debug session? Were you debugging from browser toolbox?

This "enter" function is something I'd expect to show up in a stack trace any time you are paused, because pausing the content process essentially amounts to a while loop that loops forever until the page is un-paused. Since it is a persistent loop, it will always be on the call stack when running code while you are paused, it's just that if you are using the normal debugger instead of the browser toolbox, you can't see it because normal content code doesn't have permission to see system-level JS logic in it's stack traces, while the browser toolbox will.

Flags: needinfo?(hkirschner)

Was the debugger paused during this debug session?

Yes, the background page was paused.

Were you debugging from browser toolbox?

No, tab toolbox.

Since it is a persistent loop, it will always be on the call stack when running code while you are paused

Is the high self-time also expected? It might also be skew because in every sample.

Flags: needinfo?(hkirschner)

The severity field is not set for this bug.
:jlast, could you have a look please?

For more information, please visit auto_nag documentation.

Flags: needinfo?(jlaster)

Is the high self-time also expected? It might also be skew because in every sample.

I'm not sure, I'd be curious to know what the states showed if the C++ frames were also visible. Personally I don't think there is anything to be done here, if profiling while paused, you'd probably always see at least something along these lines.

Flags: needinfo?(jlaster) → needinfo?(hkirschner)

Right, makes sense now that I understand the purpose.

Status: NEW → RESOLVED
Closed: 6 years ago
Flags: needinfo?(hkirschner)
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: