xref: /aosp_15_r20/external/cronet/net/docs/bug-triage.md (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
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)