1# Chrome Network Bug Triage 2 3The Chrome network team uses a two day bug triage rotation. The goal is to 4review outstanding issues and keep things moving forward. The rotation is time 5based rather than objective based. Sheriffs are expected to spend the majority 6of their two days working on bug triage/investigation. 7 8## 1. Review untriaged bugs 9 10Look through [this list of untriaged 11bugs](https://bugs.chromium.org/p/chromium/issues/list?sort=pri%20-stars%20-opened&q=status%3Aunconfirmed%2Cuntriaged%20-Needs%3DFeedback%20-Label%3ANetwork-Triaged%20-has%3ANextAction%20component%3DInternals%3ENetwork%3EReportingAndNEL%2CInternals%3ENetwork%3ECache%3ESimple%2CInternals%3ENetwork%2CInternals%3ENetwork%3ECache%2CInternals%3ENetwork%3ESSL%2CInternals%3ENetwork%3EQUIC%2CInternals%3ENetwork%3EAuth%2CInternals%3ENetwork%3EHTTP2%2CInternals%3ENetwork%3EProxy%2CInternals%3ENetwork%3ELogging%2CInternals%3ENetwork%3EConnectivity%2CInternals%3ENetwork%3EDomainSecurityPolicy%2CInternals%3ENetwork%3EFTP%2CInternals%3ENetwork%3EDNS). 12 13The goal is for this query to be empty. Bugs can be removed from the triage queue 14by doing any of the following: 15 16* Changing the bug status - marking the bug Available, or closing it. 17* Removing the `Internals>Network` component or subcomponent. 18* Adding the label `Network-Triaged` (when there are multiple components). 19 20For each bug try to: 21 22* Remove the `Internals>Network` component or subcomponent if it belongs 23 elsewhere 24* Dupe it against an existing bug 25* Close it as `WontFix`. 26* Give the bug a priority. Refer to [this document for guidelines](https://docs.google.com/document/d/1JOtp1LS7suqTjMuv41jQFc7aCTR33zJKPoGjKpvVFCA) 27* If the bug is a potential security issue (Allows for code execution from remote 28 site, allows crossing security boundaries, unchecked array bounds, etc) mark 29 it `Type-Bug-Security`. 30* If the bug has privacy implications mark it with component `Privacy`. 31* Set the type to `Task` or `Feature` when it is not a bug. 32* Pay extra attention to possible regressions. Ask the reporter to narrow down using 33 [bisect-builds-py](https://www.chromium.org/developers/bisect-builds-py). To 34 view suspicious changelists in a regression window, you can use the Change Log 35 form on [OmahaProxy](https://omahaproxy.appspot.com/) 36* CC others who may be able to help 37* Mark it as `Needs-Feedback` and request more information if needed. 38* In cases where the bug has multiple components, but primary ownership falls 39 outside of networking, further network triage may not be possible. In those 40 cases, if possible remove the networking component. Otherwise, add the 41 `Network-Triaged` label to the bug, and add a comment explaining which team 42 should triage further. Adding the `Network-Triaged` serves to filter the 43 bug from our untriaged bug list. 44* Avoid spending time deep-diving into ambiguous issues when you suspect it is 45 an out of scope server or network problem, and is not clearly high priority 46 (for instance, it affects only 1 user and is not a regression). 47 Instead: 48 * Mark the bug as `Available` with Priority 3. 49 * Add the `Needs-Feedback` label 50 * Add a comment thanking the reporter, but explaining the issue is ambiguous 51 and they need to do the debugging to demonstrate it is an actual Chrome bug. 52 * Point them to `chrome://net-export` and the 53 [NetLog Viewer](https://netlog-viewer.appspot.com/). 54 * Ask them to confirm whether it is a Chromium regression. (Regressions are 55 treated as high priority) 56* Request a NetLog that captures the problem. You can paste this on the bug: 57 ``` 58 Please collect and attach a chrome://net-export log. 59 Instructions can be found here: 60 https://chromium.org/for-testers/providing-network-details 61 ``` 62* If a NetLog was provided, try to spend a bit of time reviewing it. See 63 [crash-course-in-net-internals.md](crash-course-in-net-internals.md) for an 64 introduction. 65* Move to a subcomponent of `Internals>Network` if appropriate. See 66 [bug-triage-labels.md](bug-triage-labels.md) for an overview of the components. 67* If the bug is a crash, see [internal: Dealing with a crash 68 ID](https://goto.google.com/network_triage_internal#dealing-with-a-crash-id) 69and [internal: Investigating 70crashers](https://goto.google.com/network_triage_internal#investigating-crashers) 71 72## 2. Follow-up on issues with the Needs-Feedback label 73 74Look through [this list of Needs=Feedback 75bugs](https://bugs.chromium.org/p/chromium/issues/list?sort=-modified%20-modified&q=Needs%3DFeedback%20component%3DInternals%3ENetwork%3EReportingAndNEL%2CInternals%3ENetwork%3ECache%3ESimple%2CInternals%3ENetwork%2CInternals%3ENetwork%3ECache%2CInternals%3ENetwork%3ESSL%2CInternals%3ENetwork%3EQUIC%2CInternals%3ENetwork%3EAuth%2CInternals%3ENetwork%3EHTTP2%2CInternals%3ENetwork%3EProxy%2CInternals%3ENetwork%3ELogging%2CInternals%3ENetwork%3EConnectivity%2CInternals%3ENetwork%3EDomainSecurityPolicy%2CInternals%3ENetwork%3EFTP%2CInternals%3ENetwork%3EDNS). 76 77* If the requested feedback was provided, review the new information and repeat 78 the same steps as (1) to re-triage based on the new information. 79* If the bug had the `Needs-Feedback` label for over 30 days, and the 80 feedback needed to make progress was not yet provided, archive the bug. 81 82## 3. Ensure P0 and P1 bugs have an owner 83 84Look through [the list of unowned high priority 85bugs](https://bugs.chromium.org/p/chromium/issues/list?sort=pri%20-stars%20-opened&q=Pri%3A0%2C1%20-has%3Aowner%20-label%3ANetwork-Triaged%20component%3DInternals%3ENetwork%3EReportingAndNEL%2CInternals%3ENetwork%3ECache%3ESimple%2CInternals%3ENetwork%2CInternals%3ENetwork%3ECache%2CInternals%3ENetwork%3ESSL%2CInternals%3ENetwork%3EQUIC%2CInternals%3ENetwork%3EAuth%2CInternals%3ENetwork%3EHTTP2%2CInternals%3ENetwork%3EProxy%2CInternals%3ENetwork%3ELogging%2CInternals%3ENetwork%3EConnectivity%2CInternals%3ENetwork%3EDomainSecurityPolicy%2CInternals%3ENetwork%3EFTP%2CInternals%3ENetwork%3EDNS). 86These bugs should either have an owner, or be downgraded to a lower priority. 87 88## 4. (Optional) Look through crash reports 89 90Top crashes will already be entered into the bug system by a different process, 91so will be handled by the triage steps above. 92 93However if you have time to look through lower threshold crashes, see 94[internal: Looking for new crashers](https://goto.google.com/network_triage_internal#looking-for-new-crashers) 95 96## 5. Send out a sheriff report 97 98On the final day of your rotation, send a brief summary to [email protected] 99detailing any interesting or concerning trends. Do not discuss any restricted 100bugs on the public mailing list. 101 102## Covered bug components 103 104Not all of the subcomponents of `Interals>Network` are handled by this rotation. 105 106The ones that are included are: 107 108``` 109Internals>Network 110Internals>Network>Auth 111Internals>Network>Cache 112Internals>Network>Cache>Simple 113Internals>Network>DNS 114Internals>Network>Connectivity 115Internals>Network>DomainSecurityPolicy 116Internals>Network>FTP 117Internals>Network>HTTP2 118Internals>Network>Logging 119Internals>Network>Proxy 120Internals>Network>QUIC 121Internals>Network>ReportingAndNEL 122Internals>Network>SSL 123``` 124 125The rest of the `Internals>Network` subcomponents are out of scope, 126and covered by separate rotations: 127 128``` 129Internals>Network>Certificate 130Internals>Network>CertTrans 131Internals>Network>Cookies 132Internals>Network>DataProxy 133Internals>Network>DataUse 134Internals>Network>DoH 135Internals>Network>EV 136Internals>Network>Library 137Internals>Network>NetInfo 138Internals>Network>NetworkQuality 139Internals>Network>TrustTokens 140Internals>Network>VPN 141``` 142 143## Management 144 145* Your rotation will appear in Google Calendar for three days, as a full day 146 event. However you should work on it during normal business hours only. 147 The bug triage work should be considered P1 during this period, but you 148 should feel free to work on project work once you triage outstanding issues. 149 150* Google Calendar [c_c76b86b0356db19c1e06879b16d84a2fb7b9747f066b671c46875261c9e7f17a@group.calendar.google.com](https://calendar.google.com/calendar/embed?src=c_c76b86b0356db19c1e06879b16d84a2fb7b9747f066b671c46875261c9e7f17a%40group.calendar.google.com&ctz=Asia%2FTokyo) 151 152* Owners for the network bug triage rotation can find instructions on 153 generating and modifying shifts 154[here (internal-only)](https://goto.google.com/net-triage-setup). 155 156* An overview of bug trends can be seen on [Chromium 157 Dashboard](https://chromiumdash.appspot.com/components/Internals/Network?project=Chromium) 158 159* The issue tracker doesn't track any official mappings between components and 160 OWNERS. This [internal document](https://goto.google.com/kojfj) enumerates 161 the known owners for subcomponents. Owners information is dynamic, and the 162 document might become outdated, you can always go to the source, search for 163 the component in a DIR_METADATA file and look for an OWNERS file in the same, 164 or parent directory. 165 166* [Web Platform Team SLOs](https://docs.google.com/document/d/18ylPve6jd43m8B7Dil6xmS4G9MHL2_DhQon72je-O9o/edit) 167 168* [Web Platform bug triage guidelines](https://docs.google.com/document/d/1JOtp1LS7suqTjMuv41jQFc7aCTR33zJKPoGjKpvVFCA)