QA/Platform/Graphics: Difference between revisions

From MozillaWiki
< QA‎ | Platform
Jump to navigation Jump to search
m (→‎The Team: Not up to date)
 
(143 intermediate revisions by one other user not shown)
Line 1: Line 1:
''[https://mana.mozilla.org/wiki/pages/viewpage.action?pageId=45124500 Consult this page for more information.]''
= <small>Summary</small> =
This page holds important information related to testing and quality assurance for Gecko's graphics code.
* [[Platform/GFX|About the team]]
* [[QA/Platform/Graphics/Changes|Major code changes worth tracking]]
* [[QA/Platform/Graphics/Inventory|Inventory of hardware available for testing]]
* [[Blocklisting/Blocked_Graphics_Drivers|Information about graphics driver blocklisting]]
* [[QA/Platform/Graphics/Guides|Draft guides related to Graphics QA]]


= Documentation =
== Metrics ==
* [[Platform/GFX|Team Page]]
* Metrics-Graphics: [http://ashughes1.github.io/metrics-graphics-gfx/ staging], [https://metrics.mozilla.com/gfx/ production]
* [https://docs.google.com/spreadsheets/d/12jNc8rlZP4MDk5xOHyOWlcO2W5J39KKofzvcVZxVFJk/edit#gid=0 Device Inventory] ([[QA/Platform/Graphics/Inventory|moved to wiki]])
* Code Quality: [https://metrics.mozilla.com/code-quality/#gfx Code Quality], [https://metrics.mozilla.com/quality-indices/ Quality Indices]
* [https://pci-ids.ucw.cz/read/PC PCI Device ID List]
* Telemetry: [http://people.mozilla.org/~danderson/moz-gfx-telemetry/www/ GFX], [https://telemetry.mozilla.org/ All]
* [http://nouveau.freedesktop.org/wiki/CodeNames/ nVidia Codenames]
* Bugzilla: [http://people.mozilla.org/~klahnakoski/modevmetrics/Bug-Counts.html#sampleInterval=week&sampleMax=2015-11-07&sampleMin=2012-10-28&productFilter=core&componentFilter=canvas%3A+2d,canvas%3A+webgl,gfx%3A+color+management,graphics,graphics%3A+layers,graphics%3A+text,image+blocking,imagelib,panning+and+zooming Bug Age]
* [[Blocklisting/Blocked_Graphics_Drivers|Graphics driver blocklisting]]
 
* [[QA/Platform/Graphics/Guides|Draft guides]]
== Tools ==
Device ID Catalogs:
* General: [https://pci-ids.ucw.cz/read/PC], [http://pcidatabase.com/], [https://github.com/jrmuizel/gpu-db]
* NVIDIA: [https://en.wikipedia.org/wiki/List_of_Nvidia_graphics_processing_units wikipedia], [http://nouveau.freedesktop.org/wiki/CodeNames/ nouveau.freedesktop.org]
* AMD: [https://en.wikipedia.org/wiki/List_of_AMD_graphics_processing_units wikipedia], [http://developer.amd.com/resources/hardware-drivers/ati-catalyst-pc-vendor-id-1002-li/ developer.amd.com]
 
= Get Involved =
Here are some ways you can help the Graphics team (and Mozilla):
* [https://oneanddone.mozilla.org/en-US/tasks/143/ Run a sanity test]
* [https://wiki.mozilla.org/QA/Platform/Graphics/Inventory Add your details to our inventory]
* [mailto:ahughes@mozilla.com Send an e-mail] to introduce yourself and get further direction
 
= Activities =
== [[QA/Platform/Graphics/One&Done|One & Done Testing]] ==
{{:QA/Platform/Graphics/One&Done}}
 
== [[QA/Platform/Graphics/Betabreakers|Betabreakers Lab Testing]] ==
{{:QA/Platform/Graphics/Betabreakers}}
== Triage ==
Triage currently focuses on two main areas: identifying critical stability regressions, and identifying issues which may have slipped through the cracks. We try to have a one hour triage session each weekday, usually starting around 10:00am Pacific. More information about this process can be found on the [[QA/Platform/Graphics/Triage|wiki]] and [http://ashughes1.github.io/graphicstriage/ dashboard].
 
== Retired Activities ==
* [[QA/Platform/Graphics/Android#November_24,_2015|Fennec Skia Sanity Checks]] (2015)
* [https://docs.google.com/spreadsheets/d/1us2Rw-xwKZvuvvTTidy96C5PPt3ivgB58LSDkmV0qnY/edit#gid=2 B2G Sanity Checks] (2015)
* [[QA/Platform/Graphics/Toronto_Lab_Testing|Toronto Lab Testing]] (2015)
 
= Top Issues =
== Blockers ==
<bugzilla type="bug">
{
"include_fields":"id,summary,status,last_change_time",
"product":"Core",
"resolution":"---",
"query_format":"advanced",
"bug_severity":"blocker",
"f1":"component",
"o1":"anywordssubstr",
"v1":"Canvas: 2D, Canvas: WebGL, GFX: Color Management, Graphics, Graphics: Layers, Graphics: Text, Image Blocking, ImageLib, Panning and Zooming"
}
</bugzilla>
 
== Crashes ==
<bugzilla type="bug">
{
"include_fields":"id,summary,status,last_change_time",
"product":"Core",
"resolution":"---",
"query_format":"advanced",
"f1":"keywords",
"o1":"anywordssubstr",
"v1":"topcrash",
"f2":"component",
"o2":"anywordssubstr",
"v2":"Canvas: 2D, Canvas: WebGL, GFX: Color Management, Graphics, Graphics: Layers, Graphics: Text, Image Blocking, ImageLib, Panning and Zooming"
}
</bugzilla>
 
== Features ==
<bugzilla type="bug">
{
"include_fields":"id,summary,status,last_change_time",
"product":"Core",
"resolution":"---",
"query_format":"advanced",
"f1":"keywords",
"o1":"anywordssubstr",
"v1":"feature",
"f2":"component",
"o2":"anywordssubstr",
"v2":"Canvas: 2D, Canvas: WebGL, GFX: Color Management, Graphics, Graphics: Layers, Graphics: Text, Image Blocking, ImageLib, Panning and Zooming"
}
</bugzilla>
 
== New Issues ==
<bugzilla type="bug">
{
"include_fields":"id,summary,last_change_time",
"product":"Core",
"resolution":"---",
"bug_status":"UNCONFIRMED",
"query_format":"advanced",
"f1":"status_whiteboard",
"o1":"notsubstring",
"v1":"gfx-noted",
"f2":"component",
"o2":"anywordssubstr",
"v2":"Canvas: 2D, Canvas: WebGL, GFX: Color Management, Graphics, Graphics: Layers, Graphics: Text, Image Blocking, ImageLib, Panning and Zooming",
"chfield":"[Bug creation]",
"chfieldfrom":"-1w",
"chfieldto":"Now"
}
</bugzilla>


= Understanding the Problem Space =
= Understanding the Problem Space =
Line 44: Line 141:
* we need a database of known-troublesome hardware/driver configurations to inform testing, hardware acquisitions, and blocklisting
* we need a database of known-troublesome hardware/driver configurations to inform testing, hardware acquisitions, and blocklisting


= Participation =
; Understanding the Stability
* How do we identify a graphics crash?
** by signature: gfx, layers, D2D, D3D, ?...
** by topmost filename: gfx, ?...
** by driver (DLL, version, ?...)
** by device/vendor ID?...
** ?...
* How do we prioritize graphics crashes?
** Overall topcrashes in release > beta > aurora > nightly
** Gfx crashes in release > beta > aurora > nightly
** Explosive crashes in release > beta > aurora > nightly
* What tools do we have at our disposal to investigate crashes?
** [http://sisyphus.bughunter.ateam.phx1.mozilla.com/bughunter Bughunter] for investigating crashes correlated to a URL
** [https://crash-analysis.mozilla.com/rkaiser/0000.overview.html KaiRo's reports] for identifying crashes that are new or escalating quickly
** [https://crash-stats.mozilla.com/ Socorro] for getting detailed information about crash reports
* What information is needed to make a crash actionable by developers?
** Correlations to particular hardware, driver, add-on, 3rd-party software, or library
** ?...
 
; Participation
* Sanity checking via One & Done
* Sanity checking via One & Done
* Meetups to connect testers/users with devs
* Meetups to connect testers/users with devs
Line 51: Line 167:
* Engaging on community spaces (Discourse, Reddit, Facebook, Twitter, etc)
* Engaging on community spaces (Discourse, Reddit, Facebook, Twitter, etc)


= Telemetry =
; Telemetry
* COMPOSITE_TIME: time in CompositorParent::CompositeToTarget dispatching draw calls and calling SwapBuffers, but not texture upload (ie. complete composition)
* COMPOSITE_TIME: time in CompositorParent::CompositeToTarget dispatching draw calls and calling SwapBuffers, but not texture upload (ie. complete composition)
= Projects =
{| class="wikitable"
! Project
! Deliverable
! Status
|-
| rowspan="3" | Sanity Checking
| [[#Betabreakers|Betabreakers]]
| On-going
|-
| [[#Crowd_Testing|Crowd Testing]]
| Drafted materials in peer-review
|-
| [[#Toronto_Graphics_Lab|Toronto Graphics Lab]]
| Testing has indefinitely ceased
|-
| rowspan="3" | Stability
| [[#Device_Driver_Crashes|Device Driver Crashes]]
| Policy development in progress
|-
| [[#Top_Crashes|Top Crashes]]
| Policy development in progress
|-
| [[#Explosive_Crashes|Explosive Crashes]]
| Policy development in progress
|-
| rowspan="2" | Bug Triage
| [[#Bugs_to_be_Investigated|Bugs to be Investigated]]
| Policy development in progress
|-
| [[#Untriaged_Incoming_Bugs|Untriaged Incoming Bugs]]
| Policy development in progress
|-
| rowspan="2" | Metrics
| [[QA/Platform/Graphics/WebGL/Success_Rate|WebGL Success Rate Tests]]
| Blocked on Socorro APIs
|-
| Determining a baseline for Graphics Quality
| Not yet started
|}
== Sanity Checking ==
The purpose of this project is to identify pre-release graphics bugs in Firefox on '''''desktop''''' platforms ([https://docs.google.com/spreadsheets/d/1us2Rw-xwKZvuvvTTidy96C5PPt3ivgB58LSDkmV0qnY/edit#gid=2 Boot2Gecko] is tracked separately).
=== <small>Betabreakers</small> ===
Betabreakers provides sanity testing of Firefox Developer Edition on a wide-array of systems.
* {{done|}} [[QA/Platform/Graphics/Firefox_38|Firefox 38]]: MSE stress test
* {{done|}} [[QA/Platform/Graphics/Firefox_39|Firefox 39]]: beta sanity check
* {{done|}} [[QA/Platform/Graphics/Firefox_40|Firefox 40]]: WebGL with e10s
* {{done|}} [[QA/Platform/Graphics/Firefox_41|Firefox 41]]: WARP disabled on Windows 7 and earlier
* {{done|}} [[QA/Platform/Graphics/Firefox_42|Firefox 42]]: Windows 10 AMD/NVidia stability
* [[QA/Platform/Graphics/Firefox_43|Firefox 43]]: ''to be determined''
* [[QA/Platform/Graphics/Firefox_44|Firefox 44]]: ''to be determined''
<bugzilla>
{
"f1":"status_whiteboard",
"o1":"anywordssubstr",
"v1":"betabreakers",
"include_fields":"id,summary,status"
}
</bugzilla>
=== <small>Crowd Testing</small> ===
One & Done provides a task which enables volunteers to run a sanity test and report results to the team.
* [https://oneanddone.mozilla.org/en-US/tasks/143/ Task in One & Done]
* [https://docs.google.com/spreadsheets/d/1Is21vPWAodoEQfWxdDNDLHA-ZgRrH6lAZRWAUkb44XE/edit#gid=2106443502 Form of Results]
=== <small>Toronto Graphics Lab</small> ===
; <span style="background-color:#CD3333; color:#FFF; align:center">NOTE: Activity has stopped as of September 1, 2015 while we determine how best to resource this going forward.</span>
The Graphics team hosts an ad-hoc lab of systems in Mozilla's Toronto office for testing and debugging.
; Test ([https://docs.google.com/spreadsheets/d/147EhIRV-NveYpUkbjAdWtvLDv6yV_bP6hweXnzlitYg/edit#gid=1455079096 results])
* Start with a new profile (see above)
* Resize the window so it's at least 1024x768
* Go to [http://www.nytimes.com/ nytimes.com], scroll up and down for ~15 seconds
* Open another tab and go to [http://www.pinterest.com/ pinterest.com], scroll up and down for ~15 seconds.
* Switch back and forth between the two tabs three times
* In nytimes.com tab, go to youtube.com and play [https://www.youtube.com/watch?v=3UA9jaCOiTY this video], [https://www.youtube.com/watch?v=jofNR_WkoCE this video], and some other random video for 15 seconds
** '''Note:''' If a video plays with Flash find another video to test. To check, right mouse click on the video and choose “Stats for nerds”. The video is valid if the mime type is ''video/mp4'' or ''video/webm''.
* Go to [http://www.cnn.com/ cnn.com], scroll for ~15 seconds then find a video and play it
* Update your graphics driver to the latest available version
** '''Note:''' don't restart Firefox or your computer if it can be avoided. If Firefox crashes, report the crash, restart Firefox and continue on to step 9.
* Repeat the test from step 3 through 7.
** '''Note:''' if Firefox crashes, report the crash, restart Firefox and repeat steps 3 through 7.
* Quit Firefox after all steps have been completed and [http://bit.ly/1JZqzMc submit your test results].
== Stability ==
The purpose of this project is to identify the most concerning graphics crashes and escalate them to developers.
=== <small>Understanding the Problem</small> ===
How do we identify a graphics crash?
* by signature: gfx, layers, D2D, D3D, ?...
* by topmost filename: gfx, ?...
* by driver (DLL, version, ?...)
* by device/vendor ID?...
* ?...
How do we prioritize graphics crashes?
* Overall topcrashes in release > beta > aurora > nightly
* Gfx crashes in release > beta > aurora > nightly
* Explosive crashes in release > beta > aurora > nightly
What tools do we have at our disposal to investigate crashes?
* [http://sisyphus.bughunter.ateam.phx1.mozilla.com/bughunter Bughunter] for investigating crashes correlated to a URL
* [https://crash-analysis.mozilla.com/rkaiser/0000.overview.html KaiRo's reports] for identifying crashes that are new or escalating quickly
* [https://crash-stats.mozilla.com/ Socorro] for getting detailed information about crash reports
What information is needed to make a crash actionable by developers?
* Correlations to particular hardware, driver, add-on, 3rd-party software, or library
* ?...
=== <small>Device Driver Crashes</small> ===
Queries
* [https://crash-stats.mozilla.org/search/?product=Firefox&_facets=adapter_driver_version&_facets=adapter_device_id&_facets=signature&_columns=date&_columns=signature&_columns=product&_columns=version&_columns=build_id&_columns=platform#facet-adapter_device_id Top crashes by device]
* [https://crash-stats.mozilla.org/search/?product=Firefox&_facets=adapter_driver_version&_facets=adapter_device_id&_facets=signature&_columns=date&_columns=signature&_columns=product&_columns=version&_columns=build_id&_columns=platform#facet-adapter_driver_version Top crashes by driver]
* AMD: [https://crash-stats.mozilla.org/search/?signature=%24amd&_facets=adapter_driver_version&_facets=adapter_device_id&_facets=signature&_columns=date&_columns=signature&_columns=product&_columns=version&_columns=build_id&_columns=platform#facet-signature amd*.dll], [https://crash-stats.mozilla.org/search/?signature=%24ati&_facets=adapter_driver_version&_facets=adapter_device_id&_facets=signature&_columns=date&_columns=signature&_columns=product&_columns=version&_columns=build_id&_columns=platform#facet-signature ati*.dll]
* Intel: [https://crash-stats.mozilla.org/search/?signature=%24igd&_facets=adapter_driver_version&_facets=adapter_device_id&_facets=signature&_columns=date&_columns=signature&_columns=product&_columns=version&_columns=build_id&_columns=platform#facet-signature igd*.dll]
* NVIDIA: [https://crash-stats.mozilla.org/search/?signature=%24nv&signature=~.dll&_facets=adapter_driver_version&_facets=adapter_device_id&_facets=signature&_columns=date&_columns=signature&_columns=product&_columns=version&_columns=build_id&_columns=platform#facet-signature nv*.dll]
=== <small>Top Crashes</small> ===
* '''[https://crash-stats.mozilla.com/home/products/Firefox Load the Firefox crash-data dashboard]''' <br> The first thing you'll see is a graph showing the crash rate for each of the branches. <br> The second thing you'll see is a list of reports for each of the branches.
* '''Click the ''Top Crashers'' link for the version you want to look at''' <br> From here you'll see a large table of crash signatures ranked by the number of reports in the last week. <br> Typically you'll want to start by looking at Release (right-most) as that's the highest priority.
* '''Starting at the top of the table, scroll down until you find a graphics-related crash''' <br> ** NEED A PRIMER ON IDENTIFYING A GRAPHICS CRASH **
=== <small>Explosive Crashes</small> ===
* '''[https://crash-analysis.mozilla.com/rkaiser/0000.overview.html Load KaiRo's crash reports page]''' <br> You should see a long list of various types of crash reports. <br> For the purposes of this exercise you want to find the ''Firefox Nightly Explosiveness Report''.
* '''Click the ''Firefox Nightly Explosiveness Report'' link to load that dashboard.''' <br> You should see a table of crashes ordered by ''explosiveness'' rating (ie. how much the volume has changed).
* '''Starting at the top of the table, scroll down until you find a graphics-related crash''' <br> ** NEED A PRIMER ON IDENTIFYING A GRAPHICS CRASH **
* '''Report a bug for signatures with no bug report and that is either new or has a high explosiveness rating.''' <br> If the signature has a bug report, update the bug report with the information from the table.
== Bug Triage ==
The goal of bug triage is to ensure every bug report has been reviewed and prioritized in a reasonable amount of time. This responsibility currently rests with engineers on Platform Engineering's Graphics team, managed through a [[Platform/GFX/TriageSchedule|rotating weekly duty]]. While QA is not directly involved in this process we do have a role to play. First, we serve to assist with investigations as requested. Second, we serve as a safety-net to make sure bugs aren't slipping through the cracks. The following documents each of these activities.
=== <small>Bugs to be Investigated</small> ===
<span style="background-color:#EBECE4">''Note: this section currently tracks bugs reported in the last year.''</span><br>
The following issues have gone cold as they need steps to reproduce, a regression window, or a minimized testcase. If the bug has not been updated in more than six months, mark the bug as RESOLVED INCOMPLETE and ask the reporter to reopen the bug if they can still see the issue in the latest Firefox version. Otherwise, attempt to reproduce the bug on your system and provide any details you can about your testing if you're able to reproduce the issue. If you're ''not'' able to reproduce the bug, ask the bug reporter for more information and flag them with the ''needinfo?'' flag.
<bugzilla type="bug" display="list">
{
"product":"Core",
"resolution":"---",
"email1":"nobody@mozilla.org",
"emailassigned_to1":"1",
"emailtype1":"exact",
"query_format":"advanced",
"f1":"keywords",
"o1":"anywordssubstr",
"v1":"wanted",
"f2":"component",
"o2":"anywordssubstr",
"v2":"Canvas,GFX,Graphics,Image,Pan,Zoom",
"f3":"days_elapsed",
"o3":"greaterthan",
"v3":"30",
"f4":"creation_ts",
"o4":"greaterthaneq",
"v4":"-1y",
"include_fields":"id,summary"
}
</bugzilla>
=== <small>Untriaged Incoming Bugs</small> ===
The following bug reports were missed from the rotating developer triage duty. Each of the bugs below needs to be triaged to make sure they have sufficient information to proceed with investigation and to be appropriately prioritized. The bug report should have the ''[gfx-noted]'' whiteboard tag added once triaged. If you're not sure please use the ''needinfo?'' flag to ask '':ashughes'' for advice.
<bugzilla type="bug" display="list">
{
"product":"Core",
"resolution":"---",
"email1":"nobody@mozilla.org",
"emailassigned_to1":"1",
"emailtype1":"exact",
"query_format":"advanced",
"f1":"status_whiteboard",
"o1":"notsubstring",
"v1":"gfx-noted",
"f2":"component",
"o2":"anywordssubstr",
"v2":"Canvas,GFX,Graphics,Image,Pan,Zoom",
"f3":"days_elapsed",
"o3":"greaterthan",
"v3":"30",
"f4":"creation_ts",
"o4":"greaterthaneq",
"v4":"2015-01-03",
"include_fields":"id,summary"
}
</bugzilla>

Latest revision as of 18:21, 10 May 2018

Summary

This page holds important information related to testing and quality assurance for Gecko's graphics code.

Metrics

Tools

Device ID Catalogs:

Get Involved

Here are some ways you can help the Graphics team (and Mozilla):

Activities

One & Done Testing

DEPRECATION WARNING: One&Done is being decommissioned. In the meantime, all tasks have been archived to this wiki.


Betabreakers Lab Testing

Summary

There is a large discrepancy between the platform/hardware/driver configurations we see on Release versus what we see on our test branches. Additionally, the Graphics team and our testing community does not and can not provide sufficient test coverage to fill this gap. As a result we've historically been notified far too late about critical graphics issues triggering multiple chemspill releases and a loss of users.

In an effort to improve pre-release visibility of graphics regressions we have partnered with Betabreakers, a company that maintains a lab specifically designed to test various modern and legacy configurations of Windows versions, graphics hardware, and graphics drivers. We try to coordinate a graphics sanity testrun with them once per mozilla-aurora cycle, as detailed below.

More information about our relationship with Betabreakers can be found on mana.mozilla.org.

Test Runs

Bugs

Bugzilla query error

Array ( [type] => error [message] => http-bad-status [params] => Array ( [0] => 406 [1] => Not Acceptable ) ) 1

Triage

Triage currently focuses on two main areas: identifying critical stability regressions, and identifying issues which may have slipped through the cracks. We try to have a one hour triage session each weekday, usually starting around 10:00am Pacific. More information about this process can be found on the wiki and dashboard.

Retired Activities

Top Issues

Blockers

Bugzilla query error

Array ( [type] => error [message] => http-bad-status [params] => Array ( [0] => 406 [1] => Not Acceptable ) ) 1


Crashes

Bugzilla query error

Array ( [type] => error [message] => http-bad-status [params] => Array ( [0] => 406 [1] => Not Acceptable ) ) 1


Features

Bugzilla query error

Array ( [type] => error [message] => http-bad-status [params] => Array ( [0] => 406 [1] => Not Acceptable ) ) 1


New Issues

Bugzilla query error

Array ( [type] => error [message] => http-bad-status [params] => Array ( [0] => 406 [1] => Not Acceptable ) ) 1


Understanding the Problem Space

First order of business for my transition to the Graphics team is to understand the problem space so I can understand the immediate needs of the team and make the best impact I can in the shortest amount of time.

What are the key problems/challenges facing the Graphics team in terms of quality?
  • discrepancy in environments between testers and release users
  • discoverability of bugs pre-release
  • ?...
Where can QA add value/support to the Graphics team?
  • improving pre-release discoverability of bugs
  • closing the gap between tester and release systems
  • helping with bug triage, particularly with bugs hiding in general components
  • representation in crashkill
  • improving code coverage and/or identifying gaps in code coverage
  • identifying ways to improve participation in the graphics team (events, projects, One & Done, etc)
  • documentation of tools, testing processes, etc
  • building out the lab in Toronto
  • continuing to drive Betabreakers testing every 6 weeks
  • verifying bug fixes (what does this look like)?
  • profiling areas of risk (eg. troublesome configs)
  • conducting root cause analysis for regressions
  • understanding problems outside of our control (eg. driver resets)
  • feature testing and upcoming priorities (e10s, Windows 10, El Capitain, Android, B2G, etc)
What does QA need to know to be effective?
  • key components of an actionable Graphics bug
  • fundamentals/technologies that should be learned
  • how to distinguish a graphics crash from a non-graphics crash with a graphics signature
  • meetings, mailing lists, bugzilla components to watch, blogs, IRC channels to join, etc
  • who is each member of the team (incl. contributors) and what do they do
  • where does graphics code reside in the tree?
  • what role does Unified Telemetry in graphics quality?
  • what are the prefs to enable/disable different functionalities?
  • we need a database of known-troublesome hardware/driver configurations to inform testing, hardware acquisitions, and blocklisting
Understanding the Stability
  • How do we identify a graphics crash?
    • by signature: gfx, layers, D2D, D3D, ?...
    • by topmost filename: gfx, ?...
    • by driver (DLL, version, ?...)
    • by device/vendor ID?...
    • ?...
  • How do we prioritize graphics crashes?
    • Overall topcrashes in release > beta > aurora > nightly
    • Gfx crashes in release > beta > aurora > nightly
    • Explosive crashes in release > beta > aurora > nightly
  • What tools do we have at our disposal to investigate crashes?
    • Bughunter for investigating crashes correlated to a URL
    • KaiRo's reports for identifying crashes that are new or escalating quickly
    • Socorro for getting detailed information about crash reports
  • What information is needed to make a crash actionable by developers?
    • Correlations to particular hardware, driver, add-on, 3rd-party software, or library
    • ?...
Participation
  • Sanity checking via One & Done
  • Meetups to connect testers/users with devs
  • Testdays to teach people about graphics testing
  • Documentation and translation of documentation
  • Engaging on community spaces (Discourse, Reddit, Facebook, Twitter, etc)
Telemetry
  • COMPOSITE_TIME: time in CompositorParent::CompositeToTarget dispatching draw calls and calling SwapBuffers, but not texture upload (ie. complete composition)