EnsureWalkThreadReady takes locks during the profiler's critical section

RESOLVED FIXED in Firefox 56

Status

()

Core
Gecko Profiler
RESOLVED FIXED
2 months ago
2 months ago

People

(Reporter: dmajor, Assigned: dmajor)

Tracking

unspecified
mozilla56
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox56 fixed)

Details

Attachments

(1 attachment)

(Assignee)

Description

2 months ago
This was causing failures in automation that are preventing bug 1357829 from getting landed.
(Assignee)

Comment 1

2 months ago
Created attachment 8876893 [details] [diff] [review]
Move the hooks + don't EnsureWalkThreadReady

EnsureWalkThreadReady takes two locks, one in _beginthreadex and another in the DLL hook setup.

We can avoid the first by not calling EnsureWalkThreadReady if we're walking a suspended thread, since we won't be using a separate WalkThread anyway.

To avoid the hook locks, I gave in and decided to go back to setting up the hooks in DllBlocklist_Initialize as originally planned.
Assignee: nobody → dmajor
Attachment #8876893 - Flags: review?(mstange)
(Assignee)

Updated

2 months ago
Blocks: 1357829
Attachment #8876893 - Flags: review?(mstange) → review+

Comment 2

2 months ago
Pushed by dmajor@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/ce749cd8209a
Avoid locks in EnsureWalkThreadReady during the profiler's critical section. r=mstange

Comment 3

2 months ago
bugherder
https://hg.mozilla.org/mozilla-central/rev/ce749cd8209a
Status: NEW → RESOLVED
Last Resolved: 2 months ago
status-firefox56: --- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla56
(Assignee)

Updated

2 months ago
Depends on: 1375662

Updated

2 months ago
Depends on: 1376762
(Assignee)

Updated

2 months ago
Depends on: 1378442
You need to log in before you can comment on or make changes to this bug.