Closed Bug 1171156 Opened 6 years ago Closed 6 years ago

Intermittent browser_perf-compatibility-05.js,browser_dbg_scripts-switching-02.js | application crashed [@ VsyncCallback] (Assertion failure: nextVsync > previousVsync, at gfxPlatformMac.cpp:580)

Categories

(Core :: Graphics: Layers, defect)

x86_64
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla41
Tracking Status
firefox39 --- unaffected
firefox40 --- unaffected
firefox41 --- fixed
firefox-esr31 --- unaffected
firefox-esr38 --- unaffected

People

(Reporter: RyanVM, Assigned: mchang)

References

Details

(Keywords: assertion, crash, intermittent-failure)

Attachments

(1 file, 3 obsolete files)

11:57:41 INFO - Assertion failure: nextVsync > previousVsync, at /builds/slave/m-in-m64-d-0000000000000000000/build/src/gfx/thebes/gfxPlatformMac.cpp:580
11:57:41 INFO - #01: CoreVideo + 0x2310
11:57:41 INFO - #02: CoreVideo + 0x1fe3
11:57:41 INFO - #03: libSystem.B.dylib + 0x39fd6
11:57:43 INFO - TEST-INFO | Main app process: killed by SIGHUP
11:57:43 WARNING - TEST-UNEXPECTED-FAIL | ShutdownLeaks | process() called before end of test suite
11:57:43 INFO - 275 INFO checking window state
11:57:43 INFO - 276 INFO Initializing a performance pane.
11:57:43 INFO - 277 INFO Adding tab: http://example.com/browser/browser/devtools/performance/test/doc_simple-test.html
11:57:43 INFO - 278 INFO Tab added and finished loading: http://example.com/browser/browser/devtools/performance/test/doc_simple-test.html
11:57:43 WARNING - TEST-UNEXPECTED-FAIL | browser/devtools/performance/test/browser_perf-compatibility-05.js | application terminated with exit code 1
11:57:43 INFO - runtests.py | Application ran for: 0:01:18.326481
11:57:43 INFO - zombiecheck | Reading PID log: /var/folders/zG/zGHkqumEGdeCfyrrLxkykE+++-k/-Tmp-/tmpiRTzO8pidlog
11:58:09 INFO - mozcrash Saved minidump as /builds/slave/test/build/blobber_upload_dir/F1F4F047-B780-4C4C-9A99-960A69616452.dmp
11:58:09 INFO - mozcrash Saved app info as /builds/slave/test/build/blobber_upload_dir/F1F4F047-B780-4C4C-9A99-960A69616452.extra
11:58:09 WARNING - PROCESS-CRASH | browser/devtools/performance/test/browser_perf-compatibility-05.js | application crashed [@ VsyncCallback]
11:58:09 INFO - Crash dump filename: /var/folders/zG/zGHkqumEGdeCfyrrLxkykE+++-k/-Tmp-/tmp14J1dE.mozrunner/minidumps/F1F4F047-B780-4C4C-9A99-960A69616452.dmp
11:58:09 INFO - Operating system: Mac OS X
11:58:09 INFO - 10.6.8 10K549
11:58:09 INFO - CPU: amd64
11:58:09 INFO - family 6 model 23 stepping 10
11:58:09 INFO - 2 CPUs
11:58:09 INFO - Crash reason: EXC_BAD_ACCESS / KERN_INVALID_ADDRESS
11:58:09 INFO - Crash address: 0x0
11:58:09 INFO - Thread 38 (crashed)
11:58:09 INFO - 0 XUL!VsyncCallback [gfxPlatformMac.cpp:a34d846c1269 : 580 + 0x0]
11:58:09 INFO - rbx = 0x00007fff70b9e2f8 r12 = 0x0000000000000000
11:58:09 INFO - r13 = 0x0000000100849c20 r14 = 0x0000000102927880
11:58:09 INFO - r15 = 0x0000000129380d60 rip = 0x000000010292792b
11:58:09 INFO - rsp = 0x0000000129380cd0 rbp = 0x0000000129380cf0
11:58:09 INFO - Found by: given as instruction pointer in context
11:58:09 INFO - 1 CoreVideo + 0x30aa
11:58:09 INFO - rbx = 0x000000011fc47980 r12 = 0x0000000000000000
11:58:09 INFO - r13 = 0x0000000100849c20 r14 = 0x0000000102927880
11:58:09 INFO - r15 = 0x0000000129380d60 rip = 0x00007fff871f00ab
11:58:09 INFO - rsp = 0x0000000129380d00 rbp = 0x0000000129380df0
11:58:09 INFO - Found by: call frame info
11:58:09 INFO - 2 CoreVideo + 0x2ce9
11:58:09 INFO - rip = 0x00007fff871efcea rsp = 0x0000000129380de8
11:58:09 INFO - rbp = 0x0000000129380df0
11:58:09 INFO - Found by: stack scanning
11:58:09 INFO - 3 CoreVideo + 0x230f
11:58:09 INFO - rip = 0x00007fff871ef310 rsp = 0x0000000129380e00
11:58:09 INFO - rbp = 0x0000000129380ef0
11:58:09 INFO - Found by: stack scanning
11:58:09 INFO - 4 CoreVideo + 0x1f57
11:58:09 INFO - rip = 0x00007fff871eef58 rsp = 0x0000000129380ee8
11:58:09 INFO - rbp = 0x0000000129380ef0
11:58:09 INFO - Found by: stack scanning
11:58:09 INFO - 5 CoreVideo + 0x1fe2
11:58:09 INFO - rip = 0x00007fff871eefe3 rsp = 0x0000000129380f00
11:58:09 INFO - rbp = 0x0000000129380f10
11:58:09 INFO - Found by: stack scanning
11:58:09 INFO - 6 libSystem.B.dylib + 0x39fd5
11:58:09 INFO - rip = 0x00007fff86ce3fd6 rsp = 0x0000000129380f20
11:58:09 INFO - rbp = 0x0000000129380f50
11:58:09 INFO - Found by: stack scanning
11:58:09 INFO - 7 libSystem.B.dylib + 0x39e88
11:58:09 INFO - rip = 0x00007fff86ce3e89 rsp = 0x0000000129380f60
11:58:09 INFO - rbp = 0x0000000129380f78
11:58:09 INFO - Found by: stack scanning
11:58:09 INFO - 8 CoreVideo + 0x1f57
11:58:09 INFO - rip = 0x00007fff871eef58 rsp = 0x0000000129381050
11:58:09 INFO - Found by: stack scanning
Blocks: 1158321
Just some logging to see what's going on with this assertion.
Assignee: nobody → mchang
Status: NEW → ASSIGNED
Attachment #8615472 - Flags: review?(mstange)
Attachment #8615472 - Flags: review?(mstange) → review+
https://hg.mozilla.org/mozilla-central/rev/16f8de41bcae
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla41
IIUC, this probably should have been marked leave-open.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Target Milestone: mozilla41 → ---
Duplicate of this bug: 1172512
Attached patch More logging (obsolete) — Splinter Review
Testing if the error occurs right after we enable vsync. Seems to only occur on OS X 10.6 as none of the intermittents have been on other versions of OS X.
Keywords: leave-open
Summary: Intermittent browser_perf-compatibility-05.js | application crashed [@ VsyncCallback] (Assertion failure: nextVsync > previousVsync, at gfxPlatformMac.cpp:580) → Intermittent browser_perf-compatibility-05.js,browser_dbg_scripts-switching-02.js | application crashed [@ VsyncCallback] (Assertion failure: nextVsync > previousVsync, at gfxPlatformMac.cpp:580)
See Also: → 1174540
Duplicate of this bug: 1174474
Seems to only happen on snow leopard. From https://bugzilla.mozilla.org/show_bug.cgi?id=1174540#c8, it looks like the next vsync timestamp can not only be in the past, but very large values in the past! Or that the next vsync can be very large values in the future, which would cause the assertion to fail. This patch normalizes the values in those error cases.
Attachment #8615472 - Attachment is obsolete: true
Attachment #8620732 - Attachment is obsolete: true
Attachment #8623899 - Flags: review?(mstange)
Comment on attachment 8623899 [details] [diff] [review]
Normalize OS X vsync timestamps on snow leopard

Review of attachment 8623899 [details] [diff] [review]:
-----------------------------------------------------------------

::: gfx/thebes/gfxPlatformMac.cpp
@@ +579,3 @@
>  
> +  // Snow leopard sometimes sends vsync timestamps very far in the past
> +  // normalize it to now.

This reads like just one sentence. Please use punctuation and capitalization to make it clear that it's two sentences.
Attachment #8623899 - Flags: review?(mstange) → review+
Carrying r+, updated with correct grammar :).
Attachment #8623899 - Attachment is obsolete: true
Attachment #8624266 - Flags: review+
Forgot to delete the leave-open.
Status: REOPENED → RESOLVED
Closed: 6 years ago6 years ago
Keywords: leave-open
Resolution: --- → FIXED
Target Milestone: --- → mozilla41
You need to log in before you can comment on or make changes to this bug.