Intermittent application crashed [@ mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::TickRefreshDriver] after Assertion failure: aVsyncTimestamp <= *&rightnow
Categories
(Core :: Graphics, defect)
Tracking
()
People
(Reporter: intermittent-bug-filer, Unassigned)
References
Details
(Keywords: intermittent-failure, leave-open, Whiteboard: [stockwell disabled])
Crash Data
Attachments
(1 file)
(deleted),
text/x-phabricator-request
|
Details |
Updated•8 years ago
|
Comment 1•8 years ago
|
||
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment 22•7 years ago
|
||
Comment hidden (Intermittent Failures Robot) |
Comment 24•7 years ago
|
||
Comment hidden (Intermittent Failures Robot) |
Comment 26•7 years ago
|
||
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment 29•7 years ago
|
||
Updated•7 years ago
|
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Updated•6 years ago
|
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment 93•6 years ago
|
||
Comment 94•6 years ago
|
||
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Updated•6 years ago
|
Comment hidden (Intermittent Failures Robot) |
Updated•6 years ago
|
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment 119•6 years ago
|
||
Comment hidden (Intermittent Failures Robot) |
Comment 122•6 years ago
|
||
Comment 123•6 years ago
|
||
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment 127•6 years ago
|
||
Over the last 7 days this bug has 31 failures. These happen only on windows7-32
Here is the most recent log example: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=221712888&repo=autoland&lineNumber=24311
13:13:10 INFO - TEST-START | /mixed-content/link-css-tag/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html
13:13:10 INFO - Closing window 6442450950
13:13:10 INFO - PID 3212 | ++DOCSHELL 0126A800 == 1 [pid = 4036] [id = {b1fb9c0a-f928-4ea7-b92d-b48935f2d6c7}]
13:13:10 INFO - PID 3212 | [Child 4036, Main Thread] WARNING: 'NS_FAILED(rv)', file z:/build/build/src/widget/windows/nsLookAndFeel.cpp, line 854
13:13:10 INFO - PID 3212 | ++DOMWINDOW == 1 (0890A2E0) [pid = 4036] [serial = 1] [outer = 00000000]
13:13:10 INFO - PID 3212 | ++DOMWINDOW == 2 (0126BC00) [pid = 4036] [serial = 2] [outer = 0890A2E0]
13:13:10 INFO - PID 3212 | Assertion failure: aVsyncTimestamp <= *&rightnow, at z:/build/build/src/layout/base/nsRefreshDriver.cpp:640
13:13:11 WARNING - Traceback (most recent call last):
13:13:11 WARNING - File "Z:\task_1547469100\build\tests\web-platform\tests\tools\wptrunner\wptrunner\executors\executormarionette.py", line 588, in _run
13:13:11 WARNING - self.result = True, self.func(self.protocol, self.url, self.timeout)
13:13:11 WARNING - File "Z:\task_1547469100\build\tests\web-platform\tests\tools\wptrunner\wptrunner\executors\executormarionette.py", line 700, in do_testharness
13:13:11 WARNING - test_window = protocol.testharness.get_test_window(self.window_id, parent_window)
13:13:11 WARNING - File "Z:\task_1547469100\build\tests\web-platform\tests\tools\wptrunner\wptrunner\executors\executormarionette.py", line 204, in get_test_window
13:13:11 WARNING - elif after[0] == parent and len(after) > 2:
13:13:11 WARNING - IndexError: list index out of range
13:13:11 WARNING -
13:13:11 INFO - mozcrash Copy/paste: Z:\task_1547469100\build\win32-minidump_stackwalk.exe c:\users\task_1547469100\appdata\local\temp\tmpdtvuej.mozrunner\minidumps\077a7578-991c-4bfa-b782-2f08588694ea.dmp Z:\task_1547469100\build\symbols
13:13:22 INFO - mozcrash Saved minidump as Z:\task_1547469100\build\blobber_upload_dir\077a7578-991c-4bfa-b782-2f08588694ea.dmp
13:13:22 INFO - mozcrash Saved app info as Z:\task_1547469100\build\blobber_upload_dir\077a7578-991c-4bfa-b782-2f08588694ea.extra
13:13:22 INFO - PROCESS-CRASH | /mixed-content/link-css-tag/http-csp/same-host-http/top-level/swap-scheme-redirect/blockable/opt-in-blocks.https.html | application crashed [@ mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::TickRefreshDriver(mozilla::layers::BaseTransactionId<mozilla::VsyncIdType>,mozilla::TimeStamp)]
13:13:22 INFO - Crash dump filename: c:\users\task_1547469100\appdata\local\temp\tmpdtvuej.mozrunner\minidumps\077a7578-991c-4bfa-b782-2f08588694ea.dmp
13:13:22 INFO - Operating system: Windows NT
13:13:22 INFO - 6.1.7601 Service Pack 1
13:13:22 INFO - CPU: x86
13:13:22 INFO - GenuineIntel family 6 model 63 stepping 2
13:13:22 INFO - 8 CPUs
13:13:22 INFO -
13:13:22 INFO - GPU: UNKNOWN
13:13:22 INFO -
13:13:22 INFO - Crash reason: EXCEPTION_BREAKPOINT
13:13:22 INFO - Crash address: 0x58572631
13:13:22 INFO - Assertion: Unknown assertion type 0x00000000
13:13:22 INFO - Process uptime: 3 seconds
13:13:22 INFO -
Comment 128•6 years ago
|
||
Hey Timothy - could you take a look at what additional debugging assertions we could add here that would help us figure out if we could take action on this bug?
Updated•6 years ago
|
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Updated•6 years ago
|
Comment hidden (Intermittent Failures Robot) |
Comment 132•6 years ago
|
||
There are 33 failures in the last 7 days.
They occur on windows7-32 debug.
Recent failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=225802710&repo=autoland&lineNumber=8491
tnikkel: Hi, Do you have any updates on this? Thanks!
Comment 133•6 years ago
|
||
I haven't had a chance to look at this because I've been working on webrender stuff.
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment 138•6 years ago
|
||
Update: there have been 58 failures within the last 7 days on Windows 7x 32 Debug.
Recent log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=227773086&repo=autoland&lineNumber=81104
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment 143•6 years ago
|
||
There are 43 total failures in the last 7 days on windows7-32 debug.
Recent failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=230014849&repo=mozilla-inbound&lineNumber=9624
01:24:29 INFO - TEST-START | devtools/client/performance/test/browser_perf-options-flatten-tree-recursion-02.js
01:24:29 INFO - GECKO(2760) | Adding tab with url: http://example.com/browser/devtools/client/performance/test/doc_simple-test.html#6062736375190076.
01:24:29 INFO - GECKO(2760) | ++DOCSHELL 0B77A400 == 3 [pid = 1588] [id = {c3ef19c4-d439-49ed-beaa-1bc41f10fe14}]
01:24:29 INFO - GECKO(2760) | ++DOMWINDOW == 12 (087152E0) [pid = 1588] [serial = 107] [outer = 00000000]
01:24:29 INFO - GECKO(2760) | ++DOMWINDOW == 13 (0B77DC00) [pid = 1588] [serial = 108] [outer = 087152E0]
01:24:29 INFO - GECKO(2760) | [Parent 4704, Main Thread] WARNING: 'NS_FAILED(rv)', file z:/build/build/src/netwerk/url-classifier/UrlClassifierCommon.cpp, line 122
01:24:29 INFO - GECKO(2760) | ++DOMWINDOW == 14 (09E49000) [pid = 1588] [serial = 109] [outer = 087152E0]
01:24:30 INFO - GECKO(2760) | Initializing a performance panel.
01:24:32 INFO - GECKO(2760) | Assertion failure: aVsyncTimestamp <= *&rightnow, at z:/build/build/src/layout/base/nsRefreshDriver.cpp:685
01:24:32 INFO - GECKO(2760) | Assertion failure: aVsyncTimestamp <= *&rightnow, at z:/build/build/src/layout/base/nsRefreshDriver.cpp:685
01:24:32 INFO - GECKO(2760) | Event: 'Performance:UI:MemoryFlameGraphRendered' on [object MemoryFlameGraphView] received.
01:24:32 INFO - GECKO(2760) | Destroying panel.
01:24:32 INFO - GECKO(2760) | ++DOMWINDOW == 36 (10765000) [pid = 4704] [serial = 442] [outer = 0D84D2E0]
01:24:32 INFO - GECKO(2760) | #01: mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::NotifyVsync(mozilla::VsyncEvent const &) [layout/base/nsRefreshDriver.cpp:593]
01:24:32 INFO -
01:24:32 INFO - GECKO(2760) | #02: mozilla::layout::VsyncChild::RecvNotify(mozilla::VsyncEvent const &) [layout/ipc/VsyncChild.cpp:67]
01:24:32 INFO -
01:24:32 INFO - GECKO(2760) | #03: mozilla::layout::PVsyncChild::OnMessageReceived(IPC::Message const &) [s3:gecko-generated-sources:77ce59d8b2c7052469c47c063657e9de1ccc8108986d35814c718a6919e13f00c69b96f485bc73c2590f51f3ea688a95fac179d8497a06fdf9265adfe5cefbb3/ipc/ipdl/PVsyncChild.cpp::168]
01:24:32 INFO -
01:24:32 INFO - GECKO(2760) | #04: mozilla::ipc::PBackgroundChild::OnMessageReceived(IPC::Message const &) [s3:gecko-generated-sources:0040703f80f4c0152f502cebe59e5dbc8d4bb44c958609e14ba1df7a323416ac82d056516b592df5ae81ee8c9aa398d80e5348f15d03fd52af42b5894f8b2880/ipc/ipdl/PBackgroundChild.cpp::2808]
01:24:32 INFO -
01:24:32 INFO - GECKO(2760) | #05: mozilla::ipc::MessageChannel::DispatchAsyncMessage(IPC::Message const &) [ipc/glue/MessageChannel.cpp:2151]
01:24:32 INFO -
01:24:32 INFO - GECKO(2760) | #06: mozilla::ipc::MessageChannel::DispatchMessage(IPC::Message &&) [ipc/glue/MessageChannel.cpp:2077]
01:24:32 INFO -
01:24:32 INFO - GECKO(2760) | #07: mozilla::ipc::MessageChannel::RunMessage(mozilla::ipc::MessageChannel::MessageTask &) [ipc/glue/MessageChannel.cpp:1937]
01:24:32 INFO -
01:24:32 INFO - GECKO(2760) | #08: mozilla::ipc::MessageChannel::MessageTask::Run() [ipc/glue/MessageChannel.cpp:1969]
01:24:32 INFO -
01:24:32 INFO - GECKO(2760) | #09: nsThread::ProcessNextEvent(bool,bool *) [xpcom/threads/nsThread.cpp:1162]
01:24:32 INFO -
01:24:32 INFO - GECKO(2760) | #10: NS_ProcessNextEvent(nsIThread *,bool) [xpcom/threads/nsThreadUtils.cpp:474]
01:24:32 INFO -
01:24:32 INFO - GECKO(2760) | #11: mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate *) [ipc/glue/MessagePump.cpp:110]
01:24:32 INFO -
01:24:32 INFO - GECKO(2760) | #12: MessageLoop::RunInternal() [ipc/chromium/src/base/message_loop.cc:315]
01:24:32 INFO -
01:24:32 INFO - GECKO(2760) | #13: MessageLoop::RunHandler() [ipc/chromium/src/base/message_loop.cc:309]
01:24:32 INFO -
01:24:32 INFO - GECKO(2760) | #14: MessageLoop::Run() [ipc/chromium/src/base/message_loop.cc:291]
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment 146•6 years ago
|
||
There are 50 failures in the last 7 days. All on windows7-32 debug.
:jbonisteel , can you please take a look?
Updated•6 years ago
|
Comment hidden (Intermittent Failures Robot) |
Updated•6 years ago
|
Comment 148•6 years ago
|
||
The Timestamp implementation on Windows seems to be based off of two system APIs: GetTickCount64 and QueryPerformanceCounter. QPC seems to be preferred over GTC, unless a "failure" in QPC is detected.
There is code in the Timestamp implementation to detect if QPC "fails" be comparing elapsed time of QPC to elapsed time of GTC.
Through logging on try server I observed the following in different failures:
- the QPC failure detection kicks in a lot and disables use of QPC
- the QPC of the vsync timestamp was in the future compared to the QPC of TimeStamp::Now().
- the QPC of TimeStamp::Now() was missing (presumably because it was disabled) and the GTC of the vsync timestamp was in the future compared to the GTC of TimeStamp::Now()
- the vsync timestamp printf of raw GTC and QPC values matched at the source (SoftwareDisplay::NotifyVsync) and in the refresh driver, so the vsync timestamp wasn't getting messed up.
I guess we could spend more time on the error detection in our Windows TimeStamp code, but this failure is only happening on 32-bit machines.
Here's a patch to disable the assertions on 32-bit Windows. Depends how important we think this assertion is relative to the work to investigate more.
Updated•6 years ago
|
Thanks for digging into this! I think disabling the assertions on Win32 is fine.
Comment 150•6 years ago
|
||
Updated•6 years ago
|
Comment 151•6 years ago
|
||
bugherder |
Comment hidden (Intermittent Failures Robot) |
Updated•6 years ago
|
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment 156•6 years ago
|
||
Honza, here is seemingly another example of Timestamps going backwards, which from seeing other bugs today might be of interest to you. (The assert is disabled now, so it's not of immediate concern)
Comment 157•6 years ago
|
||
I'm running out of ideas. Bug 1487778, now on 65 (past release), should protect. The two release failures in Comment 154 are pretty weird.
I'm thinking of simplifying the code and removing the windows timestamp complicated fallback code altogether (but I don't understand how that could go produce values going back either!) and use gettickcount (or even something else) only for fixing bug 1515155 (check the stability and cpu family, then no runtime checking).
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Updated•2 years ago
|
Updated•2 years ago
|
Description
•