OLD | NEW |
1 # Chrome Network Bug Triage : Suggested Workflow | 1 # Chrome Network Bug Triage : Suggested Workflow |
2 | 2 |
3 [TOC] | 3 [TOC] |
4 | 4 |
5 ## Looking for new crashers | 5 ## Looking for new crashers |
6 | 6 |
7 1. Go to [go/chromecrash](https://goto.google.com/chromecrash). | 7 1. Go to [go/chromecrash](https://goto.google.com/chromecrash). |
8 | 8 |
9 2. For each platform, look through the releases for which releases to | 9 2. For each platform, look through the releases for which releases to |
10 investigate. As per bug-triage.txt, this should be the most recent canary, | 10 investigate. As per bug-triage.txt, this should be the most recent canary, |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
72 net-related, look at the crash stack at | 72 net-related, look at the crash stack at |
73 [go/crash](https://goto.google.com/crash), and see if it looks to be network | 73 [go/crash](https://goto.google.com/crash), and see if it looks to be network |
74 related. Be sure to check if other bug reports have that stack trace, and | 74 related. Be sure to check if other bug reports have that stack trace, and |
75 mark as a dupe if so. Even if the bug isn't network related, paste the stack | 75 mark as a dupe if so. Even if the bug isn't network related, paste the stack |
76 trace in the bug, so no one else has to look up the crash stack from the ID. | 76 trace in the bug, so no one else has to look up the crash stack from the ID. |
77 * If there's no other information than the crash ID, ask for more details | 77 * If there's no other information than the crash ID, ask for more details |
78 and add the Needs-Feedback label. | 78 and add the Needs-Feedback label. |
79 | 79 |
80 * If network causes are possible, ask for a net-internals log (If it's not a | 80 * If network causes are possible, ask for a net-internals log (If it's not a |
81 browser crash) and attach the most specific internals-network label that's | 81 browser crash) and attach the most specific internals-network label that's |
82 applicable. If there isn't an applicable narrower label, a clear owner for | 82 applicable. If there isn't an applicable narrower component, a clear owner |
83 the issue, or there are multiple possibilities, attach the internals-network | 83 for the issue, or there are multiple possibilities, attach the |
84 label and proceed with further investigation. | 84 Internals>Network component and proceed with further investigation. |
85 | 85 |
86 * If non-network causes also seem possible, attach those labels as well. | 86 * If non-network causes also seem possible, attach those components as well. |
87 | 87 |
88 ## Investigating Cr-Internals-Network bugs | 88 ## Investigating component=Internals>Network bugs |
89 | 89 |
90 * It's recommended that while on triage duty, you subscribe to the | 90 * It's recommended that while on triage duty, you subscribe to the |
91 Internals>Network component (but not its subcomponents). To do this, go | 91 Internals>Network component (but not its subcomponents). To do this, go |
92 to the issue tracker and then click "Saved Queries". | 92 to the issue tracker and then click "Saved Queries". |
93 Add a query with these settings: | 93 Add a query with these settings: |
94 * Saved query name: Network Bug Triage | 94 * Saved query name: Network Bug Triage |
95 * Project: chromium | 95 * Project: chromium |
96 * Query: component=Internals>Network | 96 * Query: component=Internals>Network |
97 * Subscription options: Notify Immediately | 97 * Subscription options: Notify Immediately |
98 | 98 |
99 * Look through uncomfirmed and untriaged Cr-Internals-Network bugs, | 99 * Look through uncomfirmed and untriaged component=Internals>Network bugs, |
100 prioritizing those updated within the last week. [Use this issue tracker | 100 prioritizing those updated within the last week. [Use this issue tracker |
101 query](https://code.google.com/p/chromium/issues/list?can=2&q=Cr%3DInternals-N
etwork+-status%3AAssigned+-status%3AStarted+-status%3AAvailable+&sort=-modified)
. | 101 query](https://bugs.chromium.org/p/chromium/issues/list?can=2&q=component%3DIn
ternals%3ENetwork+-status%3AAssigned+-status%3AStarted+-status%3AAvailable&sort=
-modified&colspec=ID+Pri+M+Stars+ReleaseBlock+Component+Status+Owner+Summary+OS+
Modified&x=m&y=releaseblock&cells=ids). |
102 | 102 |
103 * If more information is needed from the reporter, ask for it and add the | 103 * If more information is needed from the reporter, ask for it and add the |
104 Needs-Feedback label. If the reporter has answered an earlier request for | 104 Needs-Feedback label. If the reporter has answered an earlier request for |
105 information, remove that label. | 105 information, remove that label. |
106 | 106 |
107 * While investigating a new issue, change the status to Untriaged. | 107 * While investigating a new issue, change the status to Untriaged. |
108 | 108 |
109 * If a bug is a potential security issue (Allows for code execution from remote | 109 * If a bug is a potential security issue (Allows for code execution from remote |
110 site, allows crossing security boundaries, unchecked array bounds, etc) mark | 110 site, allows crossing security boundaries, unchecked array bounds, etc) mark |
111 it Type-Bug-Security. If it has privacy implication (History, cookies | 111 it Type-Bug-Security. If it has privacy implication (History, cookies |
112 discoverable by an entity that shouldn't be able to do so, incognito state | 112 discoverable by an entity that shouldn't be able to do so, incognito state |
113 being saved in memory or on disk beyond the lifetime of incognito tabs, etc), | 113 being saved in memory or on disk beyond the lifetime of incognito tabs, etc), |
114 mark it Cr-Privacy. | 114 mark it with component Privacy. |
115 | 115 |
116 * For bugs that already have a more specific network label, go ahead and remove | 116 * For bugs that already have a more specific network component, go ahead and |
117 the Cr-Internals-Network label and move on. | 117 remove the Internals>Network component and move on. |
118 | 118 |
119 * Try to figure out if it's really a network bug. See common non-network | 119 * Try to figure out if it's really a network bug. See common non-network |
120 labels section for description of common labels needed for issues incorrectly | 120 components section for description of common components for issues incorrectly |
121 tagged as Cr-Internals-Network. | 121 tagged as Internals>Network. |
122 | 122 |
123 * If it's not, attach appropriate labels and go no further. | 123 * If it's not, attach appropriate labels/components and go no further. |
124 | 124 |
125 * If it may be a network bug, attach additional possibly relevant labels if | 125 * If it may be a network bug, attach additional possibly relevant component if |
126 any, and continue investigating. Once you either determine it's a | 126 any, and continue investigating. Once you either determine it's a |
127 non-network bug, or figure out accurate more specific network labels, your | 127 non-network bug, or figure out accurate more specific network components, your |
128 job is done, though you should still ask for a net-internals dump if it seems | 128 job is done, though you should still ask for a net-internals dump if it seems |
129 likely to be useful. | 129 likely to be useful. |
130 | 130 |
131 * Note that ChromeOS-specific network-related code (Captive portal detection, | 131 * Note that ChromeOS-specific network-related code (Captive portal detection, |
132 connectivity detection, login, etc) may not all have appropriate more | 132 connectivity detection, login, etc) may not all have appropriate more |
133 specific labels, but are not in areas handled by the network stack team. | 133 specific subcomponents, but are not in areas handled by the network stack |
134 Just make sure those have the OS-Chrome label, and any more specific labels | 134 team. Just make sure those have the OS-Chrome label, and any more specific |
135 if applicable, and then move on. | 135 labels if applicable, and then move on. |
136 | 136 |
137 * Gather data and investigate. | 137 * Gather data and investigate. |
138 * Remember to add the Needs-Feedback label whenever waiting for the user to | 138 * Remember to add the Needs-Feedback label whenever waiting for the user to |
139 respond with more information, and remove it when not waiting on the | 139 respond with more information, and remove it when not waiting on the |
140 user. | 140 user. |
141 * Try to reproduce locally. If you can, and it's a regression, use | 141 * Try to reproduce locally. If you can, and it's a regression, use |
142 src/tools/bisect-builds.py to figure out when it regressed. | 142 src/tools/bisect-builds.py to figure out when it regressed. |
143 * Ask more data from the user as needed (net-internals dumps, repro case, | 143 * Ask more data from the user as needed (net-internals dumps, repro case, |
144 crash ID from about:crashes, run tests, etc). | 144 crash ID from about:crashes, run tests, etc). |
145 * If asking for an about:net-internals dump, provide this link: | 145 * If asking for an about:net-internals dump, provide this link: |
146 https://sites.google.com/a/chromium.org/dev/for-testers/providing-network-
details. | 146 https://sites.google.com/a/chromium.org/dev/for-testers/providing-network-
details. |
147 Can just grab the link from about:net-internals, as needed. | 147 Can just grab the link from about:net-internals, as needed. |
148 | 148 |
149 * Try to figure out what's going on, and which more specific network label is | 149 * Try to figure out what's going on, and which more specific network component |
150 most appropriate. | 150 is most appropriate. |
151 | 151 |
152 * If it's a regression, browse through the git history of relevant files to try | 152 * If it's a regression, browse through the git history of relevant files to try |
153 and figure out when it regressed. CC authors / primary reviewers of any | 153 and figure out when it regressed. CC authors / primary reviewers of any |
154 strongly suspect CLs. | 154 strongly suspect CLs. |
155 | 155 |
156 * If you are having trouble with an issue, particularly for help understanding | 156 * If you are having trouble with an issue, particularly for help understanding |
157 net-internals logs, email the public net-dev@chromium.org list for help | 157 net-internals logs, email the public net-dev@chromium.org list for help |
158 debugging. If it's a crasher, or for some other reason discussion needs to | 158 debugging. If it's a crasher, or for some other reason discussion needs to |
159 be done in private, use chrome-network-debugging@google.com. TODO(mmenke): | 159 be done in private, use chrome-network-debugging@google.com. TODO(mmenke): |
160 Write up a net-internals tips and tricks docs. | 160 Write up a net-internals tips and tricks docs. |
161 | 161 |
162 * If it appears to be a bug in the unowned core of the network stack (i.e. no | 162 * If it appears to be a bug in the unowned core of the network stack (i.e. no |
163 sublabel applies, or only the Cr-Internals-Network-HTTP sublabel applies, and | 163 subcomponent applies, or only the Internals>Network>HTTP subcomponent |
164 there's no clear owner), try to figure out the exact cause. | 164 applies, and there's no clear owner), try to figure out the exact cause. |
165 | 165 |
166 ## Monitoring UMA histograms and Chirp/Gasper alerts | 166 ## Monitoring UMA histograms and Chirp/Gasper alerts |
167 | 167 |
168 Sign up to chrome-network-debugging@google.com mailing list to receive automated | 168 Sign up to chrome-network-debugging@google.com mailing list to receive automated |
169 e-mails about UMA alerts. Chirp is the new alert system, sending automated | 169 e-mails about UMA alerts. Chirp is the new alert system, sending automated |
170 e-mails with sender address finch-chirp@google.com. Gasper is the old alert | 170 e-mails with sender address finch-chirp@google.com. Gasper is the old alert |
171 system, sending automated e-mails with sender address gasper-alerts@google.com. | 171 system, sending automated e-mails with sender address gasper-alerts@google.com. |
172 While Chirp is of higher priority, Gasper is not deprecated yet, so both alerts | 172 While Chirp is of higher priority, Gasper is not deprecated yet, so both alerts |
173 should be monitored for the time being. | 173 should be monitored for the time being. |
174 | 174 |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
219 | 219 |
220 * Dig through crash reports to figure out when the crash first appeared, and | 220 * Dig through crash reports to figure out when the crash first appeared, and |
221 dig through revision history in related files to try and locate a suspect CL. | 221 dig through revision history in related files to try and locate a suspect CL. |
222 TODO(mmenke): Add more detail here. | 222 TODO(mmenke): Add more detail here. |
223 | 223 |
224 * Load crash dumps, try to figure out a cause. See | 224 * Load crash dumps, try to figure out a cause. See |
225 http://www.chromium.org/developers/crash-reports for more information | 225 http://www.chromium.org/developers/crash-reports for more information |
226 | 226 |
227 ## Dealing with old bugs | 227 ## Dealing with old bugs |
228 | 228 |
229 * For all network issues (Even those with owners, or a more specific labels): | 229 * For all network issues (Even those with owners, or a more specific component): |
230 | 230 |
231 * If the issue has had the Needs-Feedback label for over a month, verify it | 231 * If the issue has had the Needs-Feedback label for over a month, verify it |
232 is waiting on feedback from the user. If not, remove the label. | 232 is waiting on feedback from the user. If not, remove the label. |
233 Otherwise, go ahead and mark the issue WontFix due to lack of response | 233 Otherwise, go ahead and mark the issue WontFix due to lack of response |
234 and suggest the user file a new bug if the issue is still present. [Use | 234 and suggest the user file a new bug if the issue is still present. [Use |
235 this issue tracker query for old Needs-Feedback | 235 this issue tracker query for old Needs-Feedback |
236 issues](https://code.google.com/p/chromium/issues/list?can=2&q=Cr%3AIntern
als-Network%20Needs=Feedback+modified-before%3Atoday-30&sort=-modified). | 236 issues](https://code.google.com/p/chromium/issues/list?can=2&q=Cr%3AIntern
als-Network%20Needs=Feedback+modified-before%3Atoday-30&sort=-modified). |
237 | 237 |
238 * If a bug is over 2 months old, and the underlying problem was never | 238 * If a bug is over 2 months old, and the underlying problem was never |
239 reproduced or really understood: | 239 reproduced or really understood: |
240 * If it's over a year old, go ahead and mark the issue as Archived. | 240 * If it's over a year old, go ahead and mark the issue as Archived. |
241 * Otherwise, ask reporters if the issue is still present, and attach | 241 * Otherwise, ask reporters if the issue is still present, and attach |
242 the Needs-Feedback label. | 242 the Needs-Feedback label. |
243 | 243 |
244 * Old unconfirmed or untriaged Cr-Internals-Network issues can be investigated | 244 * Old unconfirmed or untriaged Internals>Network issues can be investigated |
245 just like newer ones. Crashers should generally be given higher priority, | 245 just like newer ones. Crashers should generally be given higher priority, |
246 since we can verify if they still occur, and then newer issues, as they're | 246 since we can verify if they still occur, and then newer issues, as they're |
247 more likely to still be present, and more likely to have a still responsive | 247 more likely to still be present, and more likely to have a still responsive |
248 bug reporter. | 248 bug reporter. |
OLD | NEW |