OLD | NEW |
---|---|
(Empty) | |
1 # Stability Fixit Week | |
Robert Sesek
2015/08/24 18:07:43
Delete?
| |
2 | |
3 The Chromium project tries hard to avoid bugs. | |
4 We close the tree if even a tiny bug is detected by our continuous test suite. | |
5 For bugs that can't be fixed right away, we file bug reports so developers can f ix them offline. | |
6 But after a while, the stack of crash and leak bug reports can be overwhelming | |
7 for a single engineer to attack. So every now and then, we hold | |
8 Stability Fixit Weeks so we can gang up on those bugs, and | |
9 make some headway on the pile. | |
10 | |
11 We're especially interested in bugs taged with Fixit and Valgrind (click for lis ts): | |
12 * [Valgrind+Fixit](http://crbug.com/?can=2&q=label:Valgrind+Fixit&sort=-id) | |
13 | |
14 but any of the following could also use attention: | |
15 * [Valgrind](http://crbug.com/?can=2&q=label:Valgrind&sort=-id) | |
16 * [Crash](http://crbug.com/?can=2&q=label:crash&sort=-id) | |
17 * [Regression](http://crbug.com/?can=2&q=label:regression&sort=-id) | |
18 * [Fixit](http://crbug.com/?can=2&q=label:fixit&sort=-id) | |
19 * [LinuxBeta](http://crbug.com/?can=2&q=label:Mstone-LinuxBeta&sort=-id) | |
20 * [MacBeta](http://crbug.com/?can=2&q=label:Mstone-MacBeta&sort=-id) | |
21 | |
22 Memory leaks aren't as high priority as other sorts of Valgrind errors, but they 're still worth fixing. | |
23 | |
24 To work on Valgrind bugs, it helps to have the tool installed. | |
25 | |
26 Valgrind **is** free; see http://dev.chromium.org/developers/how-tos/using-valgr ind for how to install and use it with Chrome on Mac and Linux. | |
27 | |
28 The bug reports usually name the test that exposed the problem; to | |
29 reproduce the problem, you have to run the same test under Valgrind. | |
30 That can be slow, and these bugs are subtle, so while you're waiting, try to und erstand the bug by inspection of the source code. | |
31 | |
32 If the bug in question is already being suppressed, you may need to remove the s uppression before you can see it. | |
33 With Valgrind, it's easy to find and comment out suppressions; they're mostly in tools/valgrind/memcheck/suppressions.txt, and every suppression has an associat ed bug number. (Mac-specific suppressions are in a nearby file, suppressions\_m ac.txt.) | |
34 | |
35 To try to reproduce a problem in a UI test named Foo.Bar with Valgrind, give the command | |
36 ``` | |
37 tools/valgrind/chrome_tests.sh -t ui --gtest_filter=Foo.Bar | |
38 ``` | |
39 | |
40 (Generally you should be in the chromium/src directory to run any of these tests .) | |
41 | |
42 Layout tests are a bit different. | |
43 | |
44 To try to reproduce a problem in a test named LayoutTests/fast/loader/local-css- from-local-html.html with Valgrind, you would give the command | |
45 ``` | |
46 tools/valgrind/valgrind_webkit_tests.sh LayoutTests/fast/loader/local-css-from-l ocal-html.html | |
47 ``` | |
48 This will eventually produce output on stdout, but rather than wait, you can loo k in the current directory for its temporary log files while it's still producin g them. | |
49 | |
50 Sometimes problems only happen occasionally; you might want to write a little sc ript to run your test in a loop. Or you might run a wide overnight fishing expe dition to see if you can find any valgrind errors | |
51 at all in one area of the tests. | |
52 | |
53 Note that the only kind of leak reports we care about from Valgrind are those ma rked "definitely leaked". Ones marked "possibly leaked" should usually be ignor ed. | |
54 | |
55 ## See Also | |
56 | |
57 * StabilizeTrunk | |
58 * LayoutTestsLinux | |
59 * LinuxDebugging | |
60 * [RunningChromeUITests](RunningChromeUITests.md) | |
61 * http://dev.chromium.org/developers/how-tos/using-valgrind | |
62 * http://dev.chromium.org/developers/testing | |
OLD | NEW |