EnsureWalkThreadReady takes locks during the profiler's critical section

RESOLVED FIXED in Firefox 56

Status

()

Core
Gecko Profiler
RESOLVED FIXED
12 days ago
2 days ago

People

(Reporter: dmajor, Assigned: dmajor)

Tracking

(Depends on: 1 bug)

unspecified
mozilla56
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox56 fixed)

Details

Attachments

(1 attachment)

(Assignee)

Description

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

Comment 1

12 days 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

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

Comment 2

11 days 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

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

Updated

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