Shrink two gPSMutex thread-locking scopes in platform.cpp

RESOLVED FIXED in Firefox 55

Status

()

Core
Gecko Profiler
RESOLVED FIXED
5 months ago
5 months ago

People

(Reporter: njn, Assigned: njn)

Tracking

unspecified
mozilla55
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox55 fixed)

Details

Attachments

(1 attachment)

(Assignee)

Description

5 months ago
We're getting a deadlock on automation due to calling JS_ParseJSON() in the
profiler with gPSMutex locked.
(Assignee)

Comment 1

5 months ago
Created attachment 8846985 [details] [diff] [review]
Shrink two gPSMutex thread-locking scopes in platform.cpp

The most important of these is the one in profiler_get_profile_jsobject().
Currently the JS_ParseJSON() call frequently leads to deadlock, due to
profiler_log() being called within it.
(Assignee)

Updated

5 months ago
Attachment #8846985 - Flags: review?(mstange)
(Assignee)

Comment 2

5 months ago
https://treeherder.mozilla.org/#/jobs?repo=try&revision=3390f735714dd71499d19846a6288e3355a32773 shows this fixes the problem. I did 10 runs of the Linux64 debug devtools mochitests and they were all green. Without this fix they were failing ~50% of the time.
Attachment #8846985 - Flags: review?(mstange) → review+
(Assignee)

Comment 3

5 months ago
https://hg.mozilla.org/integration/mozilla-inbound/rev/bf9d1b5e5665dccc09118909ac221c32ce42508a
Bug 1347044 - Shrink two gPSMutex thread-locking scopes in platform.cpp. r=mstange.

Comment 4

5 months ago
bugherder
https://hg.mozilla.org/mozilla-central/rev/bf9d1b5e5665
Status: ASSIGNED → RESOLVED
Last Resolved: 5 months ago
status-firefox55: --- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla55
Depends on: 1350967
(Assignee)

Updated

5 months ago
Blocks: 1350967
No longer depends on: 1350967
(Assignee)

Updated

5 months ago
Blocks: 1342306
No longer blocks: 1350967
You need to log in before you can comment on or make changes to this bug.