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