Threading assertion failure in profiler_time(const mozilla::TimeStamp& aTime)

RESOLVED FIXED in Firefox 54

Status

()

Core
Gecko Profiler
RESOLVED FIXED
4 months ago
4 months ago

People

(Reporter: jseward, Assigned: njn)

Tracking

Trunk
mozilla54
Points:
---

Firefox Tracking Flags

(firefox54 fixed)

Details

Attachments

(3 attachments)

(Reporter)

Description

4 months ago
This ..

  double
  profiler_time(const mozilla::TimeStamp& aTime)
  {
    MOZ_RELEASE_ASSERT(NS_IsMainThread());

.. fails.  It was seen running on "Thread 26 DOM Worker".

I had trouble capturing a stack with GDB -- it froze up my desktop --
but finally it crashed in valgrind.  Details in the attachment.
(Reporter)

Comment 1

4 months ago
Created attachment 8837137 [details]
Crash stack, etc
(Reporter)

Comment 2

4 months ago
STR: I am not sure if all of the following are really necessary,
but anyway:

1. Build on Linux with assertions enabled.

2. Start the build and disable e10s [probably not required]

3. Restart.  Click on the profiler's button, then "Settings"
   and change the text in the Threads box to 
   "GeckoMain,Compositor,_,Stream"
   [I don't know whether this is necessary.]

4. Click on "Apply (Restart Profiler)"

5. "Generally use" the profiler for a couple of minutes (start, stop,
   view profile, browse).  It crashes pretty quickly.
(Reporter)

Comment 3

4 months ago
Created attachment 8837144 [details]
Another crash stack, this time from GDB
(Reporter)

Comment 4

4 months ago
Hmm, that's a MOZ_RELEASE_ASSERT, so maybe --enable-debug isn't needed.
(Assignee)

Comment 5

4 months ago
Thank you for the report. When I added those assertions, I just stuck them everywhere and then removed the ones that triggered during local execution and a try push. So clearly that was insufficient coverage. It's trivial to remove them; patch coming up shortly.
(Assignee)

Comment 6

4 months ago
Created attachment 8837405 [details] [diff] [review]
Fix bogus assertion in both profiler_time() variants
Attachment #8837405 - Flags: review?(jseward)
(Assignee)

Updated

4 months ago
Assignee: nobody → n.nethercote
Status: NEW → ASSIGNED
(Reporter)

Updated

4 months ago
Attachment #8837405 - Flags: review?(jseward) → review+
(Assignee)

Comment 7

4 months ago
https://hg.mozilla.org/integration/mozilla-inbound/rev/f0f27caeb444fc0871bc8e4bb9872391f872cc59
Bug 1339435 - Fix bogus assertion in both profiler_time() variants. r=jseward.

Comment 8

4 months ago
bugherder
https://hg.mozilla.org/mozilla-central/rev/f0f27caeb444
Status: ASSIGNED → RESOLVED
Last Resolved: 4 months ago
status-firefox54: affected → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla54
You need to log in before you can comment on or make changes to this bug.