Closed
Bug 1253287
Opened 9 years ago
Closed 9 years ago
Hitting MOZ_ASSERT(aVsyncTimestamp <= TimeStamp::Now()) in nsRefreshDriver.cpp
Categories
(Core :: General, defect)
Tracking
()
RESOLVED
WORKSFORME
Tracking | Status | |
---|---|---|
firefox47 | --- | affected |
People
(Reporter: abbGZcvu_bugzilla.mozilla.org, Unassigned)
Details
(Keywords: assertion)
Every now and then, I am hitting this assert when I am fuzzing Firefox.
https://dxr.mozilla.org/mozilla-central/source/layout/base/nsRefreshDriver.cpp#502
I am unable to reproduce using the data I fed to Firefox. From the code it appears that the issue is timing related. There is no inline documentation or context to let me know what is going on and I am not familiar with the code, so I can not investigate further.
Comment 1•9 years ago
|
||
@Reporter: we need more details so that we can try to reproduce and determine the correct component.
[Detailed Steps to Reproduce; Operating System]
Flags: needinfo?(berendjanwever)
Not sure what you want from me; the requested information is there, but let me clarify:
* I am unable to reproduce this manually - it happens every now and then during automated fuzzing. I therefore cannot provide steps to reproduce at this point.
* I set the platform to Windows in the initial report. It appears to happen on x86 and x64, but I have not confirmed this.
I opened this bug without further information because I need help tracking down what triggers it. I have no knowledge of the code and the assert I am hitting has no documentation explaining what it is checking or what might cause it to fail. I am looking for somebody familiar with the code who can explain this, so I can try to improve my testing to detect what is triggering it. Only then will I be able to provide you with more information.
Hardware: Unspecified → All
Comment 5•9 years ago
|
||
(In reply to Ryan VanderMeulen [:RyanVM] from comment #4)
> Mason, any thoughts here?
This is timing related, but it probably is coming from the test framework if we're hitting that assertion. Usually, we send the refresh driver a vsync timestamp from our vsync source, but we also assert that our vsync source is sending a timestamp bound by Now().
What are you fuzzing? If you're fuzzing vsync timestamps, the assertion is probably correct.
Flags: needinfo?(mchang) → needinfo?(berendjanwever)
I am fuzzing HTML parsing, as well as the DOM and JavaScript APIs from a webpage loaded in the current release build of Firefox on Windows 10 in a Hyper-V VM. If set it up to resemble a real-life Firefox install where the user simply loads a webpage. Hitting this during fuzzing should mean it can happen in real life when a user loads a specially crafted webpage.
Flags: needinfo?(berendjanwever)
Comment 7•9 years ago
|
||
A test case would be useful. Generally this means we're forcing a refresh driver tick with a bad timestamp. Since this is on windows, but on a hyper vm, I'm not sure if we're using vsync from the DWM [1] or just falling back to Software [2]. Otherwise, if you can attach the stack trace when you get this assertion, that would also help.
[1] https://dxr.mozilla.org/mozilla-central/source/gfx/thebes/gfxWindowsPlatform.cpp?from=gfxWindowsPlatform.cpp#2872
[2] https://dxr.mozilla.org/mozilla-central/source/gfx/thebes/SoftwareVsyncSource.cpp?from=SoftwareVsyncSource.cpp#108
Comment 8•9 years ago
|
||
SkyLined, is it possible for you provide the information requested in comment 7? It's going to be hard to make this bug actionable otherwise.
Flags: needinfo?(berendjanwever)
Alas, I seem to have not stored any of my crash reports and I haven't seen this crash in a while. I'll close it out and reopen with a stack should I see the crash again.
Status: NEW → RESOLVED
Closed: 9 years ago
Flags: needinfo?(berendjanwever)
Resolution: --- → WORKSFORME
Comment 10•8 years ago
|
||
Moving from Core::Untriaged to Core::General https://bugzilla.mozilla.org/show_bug.cgi?id=1407598
Component: Untriaged → General
You need to log in
before you can comment on or make changes to this bug.
Description
•