{"id":69,"date":"2009-03-17T16:48:29","date_gmt":"2009-03-17T05:48:29","guid":{"rendered":"http:\/\/blog.mozilla.org\/nnethercote\/?p=69"},"modified":"2009-03-17T16:48:29","modified_gmt":"2009-03-17T05:48:29","slug":"valgrind-mac-os-x-update-march-17-2009","status":"publish","type":"post","link":"https:\/\/blog.mozilla.org\/nnethercote\/2009\/03\/17\/valgrind-mac-os-x-update-march-17-2009\/","title":{"rendered":"Valgrind + Mac OS X update (March 17, 2009)"},"content":{"rendered":"<div class=\"entry\">\n<p>Another month has passed since I last wrote about my work on the Mac OS X port of Valgrind.\u00a0 In that time 126 commits have been made to the DARWIN branch (and a similar number to the trunk).\u00a0 I&#8217;ve done a lot of them, but Julian Seward has found some time to work on the DARWIN branch and so has been doing some as well.<\/p>\n<p>Here are the current (as of r9455) values of the metrics <a href=\"http:\/\/blog.mozilla.org\/nnethercote\/2009\/02\/17\/valgrind-mac-os-x-update-feb-17-2009\/\">I have been using<\/a> as a means of tracking progress.<\/p>\n<ul>\n<li>The number of regression test failures on Linux was: 484 tests, 4 stderr failures, 1 stdout failures, 0 post failures (which I\u2019ll abbreviate as<strong> 484\/4\/1\/0<\/strong>).  It\u2019s now <strong>484\/0\/1\/0<\/strong>.\u00a0 I.e. the number of failures went from <strong>5<\/strong> to <strong>1<\/strong>, and that one failure occurs on my machine even on the trunk (it&#8217;s a bad test).\u00a0 In other words, the branch works on Linux as well as the trunk.\u00a0 Now that this metric is the same on the branch as the trunk, I won&#8217;t bother tracking it in the future.<\/li>\n<li>The number of regression test failures on Mac was <strong>402\/213\/52\/0<\/strong>.\u00a0 It&#8217;s now <strong>422\/172\/41\/0<span style=\"color: #888888;\">. <\/span><\/strong>I.e. the number of failures went from <strong>265<\/strong> to <strong>213<\/strong>.\u00a0 Also, 20 extra tests are being run &#8212; a broken CPU feature-detection program meant that a number of tests that should have been running were not, and this has been fixed.\u00a0 Once again, this is the most important metric, and it\u2019s improving steadily, but there\u2019s still a long way to go.\u00a0 One encouraging thing here is that <strong>121<\/strong> of these failures (more than half) involve the tools Helgrind, DRD and exp-Ptrcheck, which are three of the less-used tools in the Valgrind distribution, and which are all completely broken on the branch, and which I haven&#8217;t really looked at yet precisely because they are less-used.\u00a0 The other <strong>92<\/strong> failures involve Memcheck and Nulgrind (the &#8220;no-instrumentation&#8221; tool, failures for which indicate problems with the testing of Valgrind&#8217;s core).\u00a0 A lot of these are problems with non-portable tests, rather than the Darwin port&#8217;s functionality.\u00a0 Furthermore, the tools Cachegrind, Callgrind, and Massif pass all of their tests.<\/li>\n<li>The size of the diff between the trunk and the branch was<strong> <\/strong><strong>41,895 lines (1.5MB)<\/strong>.\u00a0 It&#8217;s now <strong>38,248 (1.3MB)<\/strong>. But note, once again, that this is not a very useful metric.\u00a0 I just scanned through the diff and there&#8217;s not a great deal of differences in the diff than can be merged before we reach the point of the big branch-to-trunk merge.<\/li>\n<\/ul>\n<p>Functionality improvements are as follows.<\/p>\n<ul>\n<li>Basic signals are now supported, thanks to Julian.\u00a0 This accounted for a lot of the new test passes.\u00a0 This also means that debug builds of Firefox run successfully!<\/li>\n<li>Some extra system calls are handled.<\/li>\n<li>64-bit builds are working.\u00a0 To configure Valgrind for them, pass to .\/configure the option &#8211;build=amd64-darwin.\u00a0 64-bit Valgrind is quite slow, it does some very large mmaps at startup which take several seconds.\u00a0 This will need to be fixed.\u00a0 This also hasn&#8217;t been tested as much as the 32-bit version, and passes fewer tests.<\/li>\n<\/ul>\n<p>I&#8217;m taking three weeks of vacation starting on Thursday, so progress on Valgrind+Darwin will be minimal over the next month.\u00a0 But I will be visiting Mountain View early next week (Monday, March 23 and Tuesday, March 24) so I&#8217;ll be able to actually meet some of the people I work with!\u00a0 I may also give a talk about Valgrind, depending on whether it can be scheduled.\u00a0 Any suggestions for things to talk about are welcome.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Another month has passed since I last wrote about my work on the Mac OS X port of Valgrind.\u00a0 In that time 126 commits have been made to the DARWIN branch (and a similar number to the trunk).\u00a0 I&#8217;ve done a lot of them, but Julian Seward has found some time to work on the [&hellip;]<\/p>\n","protected":false},"author":139,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[487,484],"tags":[],"_links":{"self":[{"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/posts\/69"}],"collection":[{"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/users\/139"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/comments?post=69"}],"version-history":[{"count":0,"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/posts\/69\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/media?parent=69"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/categories?post=69"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/tags?post=69"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}