Bug 94011

Summary: NRWT cutting off the output from LayoutTest run under Valgrind
Product: WebKit Reporter: Jacob Goldstein <jacobg>
Component: Tools / TestsAssignee: Dirk Pranke <dpranke>
Status: RESOLVED FIXED    
Severity: Normal CC: abarth, don.olmstead, dpranke, jacobg, ojan, rniwa, wangxianzhu, webkit.review.bot
Priority: P2 Keywords: NRWT
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch ojan: review+

Description Jacob Goldstein 2012-08-14 12:00:11 PDT
When a LayoutTest is run using NRWT under Valgrind, the memory check summary from Valgrind is not output.  Tests are run using NRWT and --wrapper, for example:

./Tools/Scripts/new-run-webkit-tests --debug -v --wrapper="valgrind" --time-out-ms=9999999999 LayoutTests/fast/forms/001.html

The output from a run like this is missing the following information from Valgrind (info below was generated by running the same test under Valgrind using a direct call to DRT)

==1931== 
==1931== HEAP SUMMARY:
==1931==     in use at exit: 3,664,774 bytes in 21,504 blocks
==1931==   total heap usage: 88,404 allocs, 66,900 frees, 14,310,612 bytes allocated
==1931== 
==1931== LEAK SUMMARY:
==1931==    definitely lost: 0 bytes in 0 blocks
==1931==    indirectly lost: 0 bytes in 0 blocks
==1931==      possibly lost: 22,496 bytes in 306 blocks
==1931==    still reachable: 3,642,238 bytes in 21,196 blocks
==1931==         suppressed: 40 bytes in 2 blocks
==1931== Reachable blocks (those to which a pointer was found) are not shown.
==1931== To see them, rerun with: --leak-check=full --show-reachable=yes
==1931== 
==1931== For counts of detected and suppressed errors, rerun with: -v
==1931== ERROR SUMMARY: 85 errors from 85 contexts (suppressed: 8068 from 30)
Comment 1 Dirk Pranke 2012-08-14 12:27:12 PDT
i've reproduced this w/ chromium linux. There's a couple of different problems going on that are combining together, but it shouldn't be too hard to fix.
Comment 2 Dirk Pranke 2012-08-14 15:46:40 PDT
Created attachment 158427 [details]
Patch
Comment 3 Dirk Pranke 2012-08-14 16:38:33 PDT
adding dolmstead for the change to kill_timeout, wangxianzhu for the android changes ...
Comment 4 Xianzhu Wang 2012-08-14 17:01:10 PDT
Comment on attachment 158427 [details]
Patch

The chromium_android.py part looks good to me.
Comment 5 Don Olmstead 2012-08-15 18:47:19 PDT
(In reply to comment #3)
> adding dolmstead for the change to kill_timeout, wangxianzhu for the android changes ...

Looks good to me.
Comment 6 Ojan Vafai 2012-08-16 14:04:40 PDT
Comment on attachment 158427 [details]
Patch

Seems fine. It's a bit of a bummer that we have to plumb stop_when_done everywhere, but I don't see a good alternative.
Comment 7 Dirk Pranke 2012-08-16 14:15:30 PDT
(In reply to comment #6)
> (From update of attachment 158427 [details])
> Seems fine. It's a bit of a bummer that we have to plumb stop_when_done everywhere, but I don't see a good alternative.

Exactly :(.
Comment 8 Dirk Pranke 2012-08-16 14:45:25 PDT
Committed r125812: <http://trac.webkit.org/changeset/125812>