OLD | NEW |
| (Empty) |
1 Identifying unlabeled network bugs on the tracker: | |
2 * Look at new uncomfirmed bugs since noon PST on the last triager's rotation: | |
3 https://code.google.com/p/chromium/issues/list?can=2&q=status%3Aunconfirmed&
sort=-id&num=1000 | |
4 * Press "h" to bring up a preview of the bug text. | |
5 * Use "j" and "k" to advance through bugs. | |
6 * If a bug looks like it might be network/download/safe-browsing related, middle | |
7 click [or command-click on OSX] to open in new tab. | |
8 * If a user provides a crash ID for a crasher for a bug that could be | |
9 net-related, look at the crash stack at go/crash, and see if it looks to be | |
10 network related. Be sure to check if other bug reports have that stack | |
11 trace, and mark as a dupe if so. Even if the bug isn't network related, | |
12 paste the stack trace in the bug, so no one else has to look up the crash | |
13 stack from the ID. | |
14 * If there's no other information than the crash ID, ask for more details and | |
15 add the Needs-Feedback label. | |
16 * If network causes are possible, ask for a net-internals log (If it's not a | |
17 browser crash) and attach the most specific internals-network label that's | |
18 applicable. If there isn't an applicable narrower label, a clear owner for | |
19 the issue, or there are multiple possibilities, attach the internals-network | |
20 label and proceed with further investigation. | |
21 * If non-network causes also seem possible, attach those labels as well. | |
22 | |
23 Investigating Cr-Internals-Network bugs: | |
24 * It's recommended that while on triage duty, you subscribe to the | |
25 Cr-Internals-Network label. To do this, go to | |
26 https://code.google.com/p/chromium/issues/ and click on "Subscriptions". | |
27 Enter Cr-Internals-Network and click submit. | |
28 * Look through uncomfirmed and untriaged Cr-Internals-Network bugs, prioritizing | |
29 those updated within the last week: | |
30 https://code.google.com/p/chromium/issues/list?can=2&q=Cr%3DInternals-Networ
k+-status%3AAssigned+-status%3AStarted+-status%3AAvailable+&sort=-modified | |
31 * While investigating a new issue, change the status to Untriaged. | |
32 * If a bug is a potential security issue (Allows for code execution from remote | |
33 site, allows crossing security boundaries, unchecked array bounds, etc) mark | |
34 it Type-Bug-Security. If it has privacy implication (History, cookies | |
35 discoverable by an entity that shouldn't be able to do so, incognito state | |
36 being saved in memory or on disk beyond the lifetime of incognito tabs, | |
37 etc), mark it Cr-Privacy. | |
38 * For bugs that already have a more specific network label, go ahead and remove | |
39 the Cr-Internals-Network label and move on. | |
40 * Try to figure out if it's really a network bug. See common non-network labels | |
41 section for description of common labels needed for issues incorrectly | |
42 tagged as Cr-Internals-Network. | |
43 * If it's not, attach appropriate labels and go no further. | |
44 * If it may be a network bug, attach additional possibly relevant labels if any, | |
45 and continue investigating. Once you either determine it's a non-network | |
46 bug, or figure out accurate more specific network labels, your job is done, | |
47 though you should still ask for a net-internals dump if it seems likely to | |
48 be useful. | |
49 * Note that ChromeOS-specific network-related code (Captive portal detection, | |
50 connectivity detection, login, etc) may not all have appropriate more | |
51 specific labels, but are not in areas handled by the network stack team. | |
52 Just make sure those have the OS-Chrome label, and any more specific labels | |
53 if applicable, and then move on. | |
54 * Gather data and investigate. | |
55 * Remember to add the Needs-Feedback label whenever waiting for the user to | |
56 respond with more information, and remove it when not waiting on the user. | |
57 * Try to reproduce locally. If you can, and it's a regression, use | |
58 src/tools/bisect-builds.py to figure out when it regressed. | |
59 * Ask more data from the user as needed (net-internals dumps, repro case, | |
60 crash ID from about:crashes, run tests, etc). | |
61 * If asking for an about:net-internals dump, provide this link: | |
62 https://sites.google.com/a/chromium.org/dev/for-testers/providing-network-
details. | |
63 Can just grab the link from about:net-internals, as needed. | |
64 * Try to figure out what's going on, and which more specific network label is | |
65 most appropriate. | |
66 * If it's a regression, browse through the git history of relevant files to try | |
67 and figure out when it regressed. CC authors / primary reviewers of any | |
68 strongly suspect CLs. | |
69 * If you are having trouble with an issue, particularly for help understanding | |
70 net-internals logs, email the public net-dev@chromium.org list for help | |
71 debugging. If it's a crasher, or for some other reason discussion needs to | |
72 be done in private, use chrome-network-debugging@google.com. | |
73 TODO(mmenke): Write up a net-internals tips and tricks docs. | |
74 * If it appears to be a bug in the unowned core of the network stack (i.e. no | |
75 sublabel applies, or only the Cr-Internals-Network-HTTP sublabel applies, | |
76 and there's no clear owner), try to figure out the exact cause. | |
77 | |
78 Look for new crashers: | |
79 * Go to go/chromecrash. | |
80 * For each platform, go to the latest canary. | |
81 * In the "Process Type" frame, click on "browser". | |
82 * At the bottom of the "Magic Signature" frame, click "limit 1000". | |
83 Reported crashers are sorted in decreasing order of the number of reports for | |
84 that crash signature. | |
85 * Search the page for "net::". Ignore crashes that only occur once, as | |
86 memory corruption can easily cause one-off failures when the sample size is | |
87 large enough. | |
88 * Click on the number of reports field to see details of crash. Look at the | |
89 stack trace to confirm it's a network bug. | |
90 * If it is, and there's no associated bug filed, file a new bug directly from | |
91 chromecrash, looking at earlier canaries to determine if it's a recent | |
92 regression. Use the most specific label possible. | |
93 * The most recent Canary may not yet have a full day of crashes, so it may be | |
94 worth looking at more than one version. | |
95 * If there's been a dev, beta, or stable release in the last couple days, should | |
96 also look at those. | |
97 | |
98 Investigating crashers: | |
99 * Only investigate crashers that are still occurring, as identified by above | |
100 section. If a search on go/crash indicates a crasher is no longer | |
101 occurring, mark it as WontFix. | |
102 * Particularly for Windows, look for weird dlls associated with the crashes. | |
103 If there are some, it may be caused by malware. You can often figure out if | |
104 a dll is malware by a search, though it's harder to figure out if a dll is | |
105 definitively not malware. | |
106 * See if the same users are repeatedly running into the same issue. This can be | |
107 accomplished by search for (Or clicking on) the client ID associated with a | |
108 crash report, and seeing if there are multiple reports for the same crash. | |
109 If this is the case, it may be also be malware, or an issue with an unusual | |
110 system/chrome/network config. | |
111 * Dig through crash reports to figure out when the crash first appeared, and dig | |
112 through revision history in related files to try and locate a suspect CL. | |
113 TODO(mmenke): Add more detail here. | |
114 * Load crash dumps, try to figure out a cause. | |
115 See http://www.chromium.org/developers/crash-reports for more information | |
116 | |
117 Dealing with old bugs: | |
118 * For all network issues (Even those with owners, or a more specific labels): | |
119 * If the issue has had the Needs-Feedback label for over a month, verify it | |
120 is waiting on feedback from the user. If not, remove the label. | |
121 Otherwise, go ahead and mark the issue WontFix due to lack of response and | |
122 suggest the user file a new bug if the issue is still present. | |
123 Old Needs-Feedback issues: https://code.google.com/p/chromium/issues/list
?can=2&q=Cr%3AInternals-Network%20Needs=Feedback+modified-before%3Atoday-30&sort
=-modified | |
124 * If a bug is over 2 months old, and the underlying problem was never | |
125 reproduced or really understood: | |
126 * If it's over a year old, go ahead and mark the issue as Archived. | |
127 * Otherwise, ask reporters if the issue is still present, and attach the | |
128 Needs-Feedback label. | |
129 * Old unconfirmed or untriaged Cr-Internals-Network issues can be investigated | |
130 just like newer ones. Crashers should generally be given higher priority, | |
131 since we can verify if they still occur, and then newer issues, as they're | |
132 more likely to still be present, and more likely to have a still responsive | |
133 bug reporter. | |
OLD | NEW |