| Index: net/docs/bug-triage-suggested-workflow.txt
|
| diff --git a/net/docs/bug-triage-suggested-workflow.txt b/net/docs/bug-triage-suggested-workflow.txt
|
| deleted file mode 100644
|
| index a01849d20064077b3b0fbc3d03f7eb97c4f5ccdf..0000000000000000000000000000000000000000
|
| --- a/net/docs/bug-triage-suggested-workflow.txt
|
| +++ /dev/null
|
| @@ -1,184 +0,0 @@
|
| -Look for new crashers:
|
| -* Go to go/chromecrash.
|
| -* For each platform, look through the releases for which releases to
|
| - investigate. As per bug-triage.txt, this should be the
|
| - most recent canary, the previous canary (if the most recent is less
|
| - than a day old), and any of dev/beta/stable that were released in the
|
| - last couple of days.
|
| -* For each release, in the "Process Type" frame, click on "browser".
|
| -* At the bottom of the "Magic Signature" frame, click "limit 1000".
|
| - Reported crashers are sorted in decreasing order of the number of reports for
|
| - that crash signature.
|
| -* Search the page for "net::".
|
| -* For each found signature:
|
| - * If there is a bug already filed, make sure it is correctly
|
| - describing the current bug (e.g. not closed, or not describing a
|
| - long-past issue), and make sure that if it is a net:: bug, that
|
| - it is labeled as such.
|
| - * Ignore signatures that only occur once, as memory corruption can
|
| - easily cause one-off failures when the sample size is large
|
| - enough.
|
| - * Ignore signatures that only come from a single client ID, as
|
| - individual machine malware and breakage can also easily cause
|
| - one-off failures.
|
| - * Click on the number of reports field to see details of
|
| - crash. Ignore it if it doesn't appear to be a network bug.
|
| - * Otherwise, file a new bug directly from chromecrash. Note that
|
| - this may result in filing bugs for low- and very-low- frequency
|
| - crashes. That's ok; the bug tracker is a better tool to figure
|
| - out whether or not we put resources into those crashes than a snap
|
| - judgement when filing bugs.
|
| -* For each bug you file, include the following information:
|
| - * The backtrace. Note that the backtrace should not be added to the
|
| - bug if Restrict-View-Google isn't set on the bug as it may contain
|
| - PII. Filing the bug from the crash reporter should do this
|
| - automatically, but check.
|
| - * The channel in which the bug is seen (canary/dev/beta/stable),
|
| - its frequency in that channel, and its rank among crashers in the channel.
|
| - * The frequency of this signature in recent releases. This
|
| - information is available by:
|
| - * Clicking on the signature in the "Magic Signature" list
|
| - * Clicking "Edit" on the dremel query at the top of the page
|
| - * Removing the "product.version='X.Y.Z.W' AND" string and clicking
|
| - "Update".
|
| - * Clicking "Limit 1000" in the Product Version list in the
|
| - resulting page (without this, the listing will be restricted to
|
| - the releases in which the signature is most common, which will
|
| - often not include the canary/dev release being investigated).
|
| - * Choose some subset of that list, or all of it, to include in the
|
| - bug. Make sure to indicate if there is a defined point in the
|
| - past before which the signature is not present.
|
| -
|
| -Identifying unlabeled network bugs on the tracker:
|
| -* Look at new uncomfirmed bugs since noon PST on the last triager's rotation:
|
| - https://code.google.com/p/chromium/issues/list?can=2&q=status%3Aunconfirmed&sort=-id&num=1000
|
| -* Press "h" to bring up a preview of the bug text.
|
| -* Use "j" and "k" to advance through bugs.
|
| -* If a bug looks like it might be network/download/safe-browsing related, middle
|
| - click [or command-click on OSX] to open in new tab.
|
| -* If a user provides a crash ID for a crasher for a bug that could be
|
| - net-related, look at the crash stack at go/crash, and see if it looks to be
|
| - network related. Be sure to check if other bug reports have that stack
|
| - trace, and mark as a dupe if so. Even if the bug isn't network related,
|
| - paste the stack trace in the bug, so no one else has to look up the crash
|
| - stack from the ID.
|
| - * If there's no other information than the crash ID, ask for more details and
|
| - add the Needs-Feedback label.
|
| -* If network causes are possible, ask for a net-internals log (If it's not a
|
| - browser crash) and attach the most specific internals-network label that's
|
| - applicable. If there isn't an applicable narrower label, a clear owner for
|
| - the issue, or there are multiple possibilities, attach the internals-network
|
| - label and proceed with further investigation.
|
| -* If non-network causes also seem possible, attach those labels as well.
|
| -
|
| -Investigating Cr-Internals-Network bugs:
|
| -* It's recommended that while on triage duty, you subscribe to the
|
| - Cr-Internals-Network label. To do this, go to
|
| - https://code.google.com/p/chromium/issues/ and click on "Subscriptions".
|
| - Enter Cr-Internals-Network and click submit.
|
| -* Look through uncomfirmed and untriaged Cr-Internals-Network bugs, prioritizing
|
| - those updated within the last week:
|
| - https://code.google.com/p/chromium/issues/list?can=2&q=Cr%3DInternals-Network+-status%3AAssigned+-status%3AStarted+-status%3AAvailable+&sort=-modified
|
| -* If more information is needed from the reporter, ask for it and
|
| - add the 'Needs-Feedback' label. If the reporter has answered an
|
| - earlier request for information, remove that label.
|
| -* While investigating a new issue, change the status to Untriaged.
|
| -* If a bug is a potential security issue (Allows for code execution from remote
|
| - site, allows crossing security boundaries, unchecked array bounds, etc) mark
|
| - it Type-Bug-Security. If it has privacy implication (History, cookies
|
| - discoverable by an entity that shouldn't be able to do so, incognito state
|
| - being saved in memory or on disk beyond the lifetime of incognito tabs,
|
| - etc), mark it Cr-Privacy.
|
| -* For bugs that already have a more specific network label, go ahead and remove
|
| - the Cr-Internals-Network label and move on.
|
| -* Try to figure out if it's really a network bug. See common non-network labels
|
| - section for description of common labels needed for issues incorrectly
|
| - tagged as Cr-Internals-Network.
|
| -* If it's not, attach appropriate labels and go no further.
|
| -* If it may be a network bug, attach additional possibly relevant labels if any,
|
| - and continue investigating. Once you either determine it's a non-network
|
| - bug, or figure out accurate more specific network labels, your job is done,
|
| - though you should still ask for a net-internals dump if it seems likely to
|
| - be useful.
|
| -* Note that ChromeOS-specific network-related code (Captive portal detection,
|
| - connectivity detection, login, etc) may not all have appropriate more
|
| - specific labels, but are not in areas handled by the network stack team.
|
| - Just make sure those have the OS-Chrome label, and any more specific labels
|
| - if applicable, and then move on.
|
| -* Gather data and investigate.
|
| - * Remember to add the Needs-Feedback label whenever waiting for the user to
|
| - respond with more information, and remove it when not waiting on the user.
|
| - * Try to reproduce locally. If you can, and it's a regression, use
|
| - src/tools/bisect-builds.py to figure out when it regressed.
|
| - * Ask more data from the user as needed (net-internals dumps, repro case,
|
| - crash ID from about:crashes, run tests, etc).
|
| - * If asking for an about:net-internals dump, provide this link:
|
| - https://sites.google.com/a/chromium.org/dev/for-testers/providing-network-details.
|
| - Can just grab the link from about:net-internals, as needed.
|
| -* Try to figure out what's going on, and which more specific network label is
|
| - most appropriate.
|
| -* If it's a regression, browse through the git history of relevant files to try
|
| - and figure out when it regressed. CC authors / primary reviewers of any
|
| - strongly suspect CLs.
|
| -* If you are having trouble with an issue, particularly for help understanding
|
| - net-internals logs, email the public net-dev@chromium.org list for help
|
| - debugging. If it's a crasher, or for some other reason discussion needs to
|
| - be done in private, use chrome-network-debugging@google.com.
|
| - TODO(mmenke): Write up a net-internals tips and tricks docs.
|
| -* If it appears to be a bug in the unowned core of the network stack (i.e. no
|
| - sublabel applies, or only the Cr-Internals-Network-HTTP sublabel applies,
|
| - and there's no clear owner), try to figure out the exact cause.
|
| -
|
| -Monitor UMA histograms and gasper alerts. For each Gasper alert that
|
| -fires, determine if it's a real alert and file a bug if so.
|
| -* Don't file if the alert is coincident with a major volume change.
|
| - The volume at a particular date can be determined by hovering the
|
| - mouse over the appropriate location on the alert line.
|
| -* Don't file if the alert is on a graph with very low volume (< ~200
|
| - data points); it's probably noise, and we probably don't care even
|
| - if it isn't.
|
| -* Don't file if the graph is really noisy (but eyeball it to decide if
|
| - there is an underlying important shift under the noise).
|
| -* Don't file if the alert is in the "Known Ignorable" list:
|
| - * SimpleCache on Windows
|
| - * DiskCache on Android.
|
| -For each Gasper alert, respond to chrome-network-debugging@ with a
|
| -summary of the action you've taken and why, including issue link if an
|
| -issue was filed.
|
| -
|
| -Investigating crashers:
|
| -* Only investigate crashers that are still occurring, as identified by above
|
| - section. If a search on go/crash indicates a crasher is no longer
|
| - occurring, mark it as WontFix.
|
| -* Particularly for Windows, look for weird dlls associated with the crashes.
|
| - If there are some, it may be caused by malware. You can often figure out if
|
| - a dll is malware by a search, though it's harder to figure out if a dll is
|
| - definitively not malware.
|
| -* See if the same users are repeatedly running into the same issue. This can be
|
| - accomplished by search for (Or clicking on) the client ID associated with a
|
| - crash report, and seeing if there are multiple reports for the same crash.
|
| - If this is the case, it may be also be malware, or an issue with an unusual
|
| - system/chrome/network config.
|
| -* Dig through crash reports to figure out when the crash first appeared, and dig
|
| - through revision history in related files to try and locate a suspect CL.
|
| - TODO(mmenke): Add more detail here.
|
| -* Load crash dumps, try to figure out a cause.
|
| - See http://www.chromium.org/developers/crash-reports for more information
|
| -
|
| -Dealing with old bugs:
|
| -* For all network issues (Even those with owners, or a more specific labels):
|
| - * If the issue has had the Needs-Feedback label for over a month, verify it
|
| - is waiting on feedback from the user. If not, remove the label.
|
| - Otherwise, go ahead and mark the issue WontFix due to lack of response and
|
| - suggest the user file a new bug if the issue is still present.
|
| - 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
|
| - * If a bug is over 2 months old, and the underlying problem was never
|
| - reproduced or really understood:
|
| - * If it's over a year old, go ahead and mark the issue as Archived.
|
| - * Otherwise, ask reporters if the issue is still present, and attach the
|
| - Needs-Feedback label.
|
| -* Old unconfirmed or untriaged Cr-Internals-Network issues can be investigated
|
| - just like newer ones. Crashers should generally be given higher priority,
|
| - since we can verify if they still occur, and then newer issues, as they're
|
| - more likely to still be present, and more likely to have a still responsive
|
| - bug reporter.
|
|
|