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