Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(706)

Side by Side Diff: net/docs/bug-triage-suggested-workflow.md

Issue 1017743002: [net] Convert bug triage documents to Markdown. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 # Chrome Network Bug Triage : Suggested Workflow
2
3 ## Look for new crashers:
4
5 * Go to [go/chromecrash](https://goto.google.com/chromecrash).
6 * For each platform, look through the releases for which releases to
7 investigate. As per bug-triage.txt, this should be the most recent canary,
8 the previous canary (if the most recent is less than a day old), and any of
9 dev/beta/stable that were released in the last couple of days.
10 * For each release, in the "Process Type" frame, click on "browser".
11 * At the bottom of the "Magic Signature" frame, click "limit 1000". Reported
12 crashers are sorted in decreasing order of the number of reports for that
13 crash signature.
14 * Search the page for `net::`.
15 * For each found signature:
16 * If there is a bug already filed, make sure it is correctly describing the
17 current bug (e.g. not closed, or not describing a long-past issue), and
18 make sure that if it is a `net::` bug, that it is labeled as such.
19 * Ignore signatures that only occur once, as memory corruption can easily
20 cause one-off failures when the sample size is large enough.
21 * Ignore signatures that only come from a single client ID, as individual
22 machine malware and breakage can also easily cause one-off failures.
23 * Click on the number of reports field to see details of crash. Ignore it if
24 it doesn't appear to be a network bug.
25 * Otherwise, file a new bug directly from chromecrash. Note that this may
26 result in filing bugs for low- and very-low- frequency crashes. That's ok;
27 the bug tracker is a better tool to figure out whether or not we put
28 resources into those crashes than a snap judgement when filing bugs.
29 * For each bug you file, include the following information:
30 * The backtrace. Note that the backtrace should not be added to the bug if
Randy Smith (Not in Mondays) 2015/03/17 19:49:57 The attempt to indent fails here and works below s
asanka 2015/03/17 22:23:13 Fixed.
31 `Restrict-View-Google` isn't set on the bug as it may contain PII. Filing
32 the bug from the crash reporter should do this automatically, but check.
33 * The channel in which the bug is seen (canary/dev/beta/stable), its
34 frequency in that channel, and its rank among crashers in the channel.
35 * The frequency of this signature in recent releases. This information is
36 available by:
37 * Clicking on the signature in the "Magic Signature" list
38 * Clicking "Edit" on the dremel query at the top of the page
39 * Removing the `product.version='X.Y.Z.W' AND` string and clicking
40 "Update".
41 * Clicking "Limit 1000" in the Product Version list in the resulting page
42 (without this, the listing will be restricted to the releases in which
43 the signature is most common, which will often not include the canary/dev
44 release being investigated).
45 * Choose some subset of that list, or all of it, to include in the bug.
46 Make sure to indicate if there is a defined point in the past before
47 which the signature is not present.
48
49 ## Identifying unlabeled network bugs on the tracker:
50
51 * Look at new uncomfirmed bugs since noon PST on the last triager's rotation:
52
53 https://code.google.com/p/chromium/issues/list?can=2&q=status%3Aunconfirmed& sort=-id&num=1000
Randy Smith (Not in Mondays) 2015/03/17 19:49:57 For HTML readability, you might not want to have t
asanka 2015/03/17 22:23:13 Added a description. Let me know if we should desc
54
55 * Press `h` to bring up a preview of the bug text.
Randy Smith (Not in Mondays) 2015/03/17 19:49:57 There's a big gap after this in the HTML, for some
asanka 2015/03/17 22:23:13 Yeah. It was because of the formatting for the lin
56 * Use `j` and `k` to advance through bugs.
57 * If a bug looks like it might be network/download/safe-browsing related,
58 middle click (or command-click on OSX) to open in new tab.
59 * If a user provides a crash ID for a crasher for a bug that could be
60 net-related, look at the crash stack at go/crash, and see if it looks to be
61 network related. Be sure to check if other bug reports have that stack
62 trace, and mark as a dupe if so. Even if the bug isn't network related,
63 paste the stack trace in the bug, so no one else has to look up the crash
64 stack from the ID.
65 * If there's no other information than the crash ID, ask for more details and
66 add the Needs-Feedback label.
67 * If network causes are possible, ask for a net-internals log (If it's not a
68 browser crash) and attach the most specific internals-network label that's
69 applicable. If there isn't an applicable narrower label, a clear owner for
70 the issue, or there are multiple possibilities, attach the internals-network
71 label and proceed with further investigation.
72 * If non-network causes also seem possible, attach those labels as well.
73
74 ## Investigating `Cr-Internals-Network` bugs:
75
76 * It's recommended that while on triage duty, you subscribe to the
77 `Cr-Internals-Network` label. To do this, go to
78 https://code.google.com/p/chromium/issues/ and click on "Subscriptions".
79 Enter `Cr-Internals-Network` and click submit.
80 * Look through uncomfirmed and untriaged `Cr-Internals-Network` bugs,
81 prioritizing those updated within the last week:
82 https://code.google.com/p/chromium/issues/list?can=2&q=Cr%3DInternals-Network+ -status%3AAssigned+-status%3AStarted+-status%3AAvailable+&sort=-modified
Randy Smith (Not in Mondays) 2015/03/17 19:49:57 Same comment; for the HTML, I'd put these into lin
asanka 2015/03/17 22:23:13 Done.
83 * If more information is needed from the reporter, ask for it and add the
84 `Needs-Feedback` label. If the reporter has answered an earlier request for
85 information, remove that label.
86 * While investigating a new issue, change the status to `Untriaged`.
87 * If a bug is a potential security issue (Allows for code execution from remote
88 site, allows crossing security boundaries, unchecked array bounds, etc) mark
89 it `Type-Bug-Security`. If it has privacy implication (History, cookies
90 discoverable by an entity that shouldn't be able to do so, incognito state
91 being saved in memory or on disk beyond the lifetime of incognito tabs, etc),
92 mark it `Cr-Privacy`.
93 * For bugs that already have a more specific network label, go ahead and remove
94 the `Cr-Internals-Network` label and move on.
95 * Try to figure out if it's really a network bug. See common non-network
96 labels section for description of common labels needed for issues incorrectly
97 tagged as `Cr-Internals-Network`.
98 * If it's not, attach appropriate labels and go no further.
99 * If it may be a network bug, attach additional possibly relevant labels if
100 any, and continue investigating. Once you either determine it's a
101 non-network bug, or figure out accurate more specific network labels, your
102 job is done, though you should still ask for a net-internals dump if it seems
103 likely to be useful.
104 * Note that ChromeOS-specific network-related code (Captive portal detection,
105 connectivity detection, login, etc) may not all have appropriate more
106 specific labels, but are not in areas handled by the network stack team.
107 Just make sure those have the OS-Chrome label, and any more specific labels
108 if applicable, and then move on.
109 * Gather data and investigate.
110 * Remember to add the Needs-Feedback label whenever waiting for the user to
111 respond with more information, and remove it when not waiting on the user.
112 * Try to reproduce locally. If you can, and it's a regression, use
113 `src/tools/bisect-builds.py` to figure out when it regressed.
114 * Ask more data from the user as needed (net-internals dumps, repro case,
115 crash ID from `about:crashes`, run tests, etc).
116 * If asking for an `about:net-internals` dump, provide this link:
117 https://sites.google.com/a/chromium.org/dev/for-testers/providing-network-de tails.
Randy Smith (Not in Mondays) 2015/03/17 19:49:57 Same comment; -> link.
asanka 2015/03/17 22:23:13 Done.
118 Can just grab the link from about:net-internals, as needed.
119 * Try to figure out what's going on, and which more specific network label is
120 most appropriate.
121 * If it's a regression, browse through the git history of relevant files to try
122 and figure out when it regressed. CC authors / primary reviewers of any
123 strongly suspect CLs.
124 * If you are having trouble with an issue, particularly for help understanding
125 net-internals logs, email the public net-dev@chromium.org list for help
126 debugging. If it's a crasher, or for some other reason discussion needs to
127 be done in private, use `chrome-network-debugging@google.com`. TODO(mmenke):
128 Write up a net-internals tips and tricks docs.
129 * If it appears to be a bug in the unowned core of the network stack (i.e. no
130 sublabel applies, or only the `Cr-Internals-Network-HTTP` sublabel applies,
131 and there's no clear owner), try to figure out the exact cause.
132
133 ## Monitor UMA histograms and gasper alerts:
134
135 For each Gasper alert that fires, determine if it's a real alert and file a bug
136 if so.
137
138 * Don't file if the alert is coincident with a major volume change. The volume
139 at a particular date can be determined by hovering the mouse over the
140 appropriate location on the alert line.
141 * Don't file if the alert is on a graph with very low volume (< ~200 data
142 points); it's probably noise, and we probably don't care even if it isn't.
143 * Don't file if the graph is really noisy (but eyeball it to decide if there is
144 an underlying important shift under the noise).
145 * Don't file if the alert is in the "Known Ignorable" list:
146 * SimpleCache on Windows
147 * DiskCache on Android. For each Gasper alert, respond to
148 `chrome-network-debugging@` with a summary of the action you've taken and
149 why, including issue link if an issue was filed.
150
151 ## Investigating crashers:
152
153 * Only investigate crashers that are still occurring, as identified by above
154 section. If a search on go/crash indicates a crasher is no longer occurring,
155 mark it as WontFix.
156 * Particularly for Windows, look for weird dlls associated with the crashes.
157 If there are some, it may be caused by malware. You can often figure out if
158 a dll is malware by a search, though it's harder to figure out if a dll is
159 definitively not malware.
160 * See if the same users are repeatedly running into the same issue. This can
161 be accomplished by search for (Or clicking on) the client ID associated with
162 a crash report, and seeing if there are multiple reports for the same crash.
163 If this is the case, it may be also be malware, or an issue with an unusual
164 system/chrome/network config.
165 * Dig through crash reports to figure out when the crash first appeared, and
166 dig through revision history in related files to try and locate a suspect CL.
167 TODO(mmenke): Add more detail here.
168 * Load crash dumps, try to figure out a cause. See
169 http://www.chromium.org/developers/crash-reports for more information
170
171 ## Dealing with old bugs:
172
173 * For all network issues (Even those with owners, or a more specific labels):
174 * If the issue has had the Needs-Feedback label for over a month, verify it
175 is waiting on feedback from the user. If not, remove the label.
176 Otherwise, go ahead and mark the issue WontFix due to lack of response and
177 suggest the user file a new bug if the issue is still present. Old
178 `Needs-Feedback` issues:
179 https://code.google.com/p/chromium/issues/list?can=2&q=Cr%3AInternals-Networ k%20Needs=Feedback+modified-before%3Atoday-30&sort=-modified
180 * If a bug is over 2 months old, and the underlying problem was never
181 reproduced or really understood:
182 * If it's over a year old, go ahead and mark the issue as Archived.
183 * Otherwise, ask reporters if the issue is still present, and attach the
184 Needs-Feedback label.
185 * Old unconfirmed or untriaged `Cr-Internals-Network` issues can be
186 investigated just like newer ones. Crashers should generally be given higher
187 priority, since we can verify if they still occur, and then newer issues, as
188 they're more likely to still be present, and more likely to have a still
189 responsive bug reporter.
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698