Closed Bug 1601237 Opened 6 years ago Closed 5 years ago

Frequent hangs in debugger code

Categories

(DevTools :: Debugger, defect, P2)

defect

Tracking

(Performance Impact:medium)

RESOLVED WORKSFORME
Performance Impact medium

People

(Reporter: florian, Unassigned)

References

(Blocks 2 open bugs)

Details

(Keywords: perf, perf:responsiveness)

Attachments

(1 file)

Telemetry data shows we hang very frequently with this stack:
bool js::jit::GetNativeDataPropertyByValuePure<false>(JSContext*, JSObject*, JS::Value*) libxul.so
devtools/client/shared/vendor/reselect.js:93
devtools/client/shared/vendor/reselect.js:93
devtools/client/debugger/src/utils/source-queue.js:17
self-hosted:886
devtools/shared/transport/local-transport.js:61
devtools/shared/ThreadSafeDevToolsUtils.js:109
devtools/shared/ThreadSafeDevToolsUtils.js:109
XREMain::XRE_main

Stacks involving source-queue.js represent more than 4% of the total parent process hang time reported through Telemetry for our nightly users.

Jason, is this a code path that the current memoize work is helping with?

Also, do you have any thoughts to under what conditions this path would lead to a longer hang?

Blocks: dbg-perf
Flags: needinfo?(jlaster)
Priority: -- → P2

Related stacks

    js::WeakMap<js::HeapPtr<JSObject*>, js::HeapPtr<JS::Value> >::lookup(JSObject* const&) const libxul.so
    js::WeakMapObject::get(JSContext*, unsigned int, JS::Value*) libxul.so
    devtools/client/shared/vendor/reselect.js:93
    devtools/client/shared/vendor/reselect.js:93
    devtools/client/debugger/src/utils/source-queue.js:17
    self-hosted:1037
    devtools/shared/transport/local-transport.js:61
    devtools/shared/ThreadSafeDevToolsUtils.js:109
    devtools/shared/ThreadSafeDevToolsUtils.js:109
    XREMain::XRE_main 
    js::jit::IonGetNameIC::update(JSContext*, JS::Handle<JSScript*>, js::jit::IonGetNameIC*, JS::Handle<JSObject*>, JS::MutableHandle<JS::Value>) libxul.so
    devtools/client/shared/vendor/reselect.js:93
    devtools/client/shared/vendor/reselect.js:93
    devtools/client/debugger/src/utils/source-queue.js:17
    self-hosted:1037
    devtools/shared/transport/local-transport.js:61
    devtools/shared/ThreadSafeDevToolsUtils.js:109
    devtools/shared/ThreadSafeDevToolsUtils.js:109
    XREMain::XRE_main 
Whiteboard: [qf] → [qf:p2:responsiveness]

This is related to new sources arriving, but it is not enough information to know what reselect selector is involved in the hang...

Flags: needinfo?(jlaster)

Florian, is this still happening?
Where can we see the telemetry data?

Honza

Flags: needinfo?(florian)

(In reply to Jan Honza Odvarko [:Honza] (always need-info? me) from comment #5)

Florian, is this still happening?

Very few stacks involving source-queue.js currently so I would be tempted to say WORKSFORME.

Where can we see the telemetry data?

http://queze.net/bhr/test/#row=0&filter=devtools will show you the stacks for hangs involving devtools.

Flags: needinfo?(florian)

Thanks for the update Florian!

Honza

Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → WORKSFORME
Performance Impact: --- → P2
Whiteboard: [qf:p2:responsiveness]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: