Bug 27923 - run-webkit-tests should not invoke "ps" repeatedly on Mac OS X
: run-webkit-tests should not invoke "ps" repeatedly on Mac OS X
Status: RESOLVED FIXED
: WebKit
Tools / Tests
: 528+ (Nightly build)
: Macintosh Intel Mac OS X 10.5
: P2 Normal
Assigned To:
:
:
:
:
  Show dependency treegraph
 
Reported: 2009-08-01 12:46 PST by
Modified: 2009-08-01 18:41 PST (History)


Attachments
Patch (7.91 KB, patch)
2009-08-01 12:56 PST, Mark Rowe (bdash)
mrowe: review-
Review Patch | Details | Formatted Diff | Diff
With support for Tiger (11.87 KB, patch)
2009-08-01 18:24 PST, Mark Rowe (bdash)
ddkilzer: review+
Review Patch | Details | Formatted Diff | Diff


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2009-08-01 12:46:34 PST
run-webkit-tests invokes "ps" repeatedly in an attempt to detect whether DumpRenderTree is in the process of crashing but being kept alive while ReportCrash generates a crash log.  It's invoked in a manner that spawns a subshell, which makes things even slower.
------- Comment #1 From 2009-08-01 12:56:32 PST -------
Created an attachment (id=33939) [details]
Patch
------- Comment #2 From 2009-08-01 13:01:06 PST -------
(From update of attachment 33939 [details])
Looks good, one issue below.


> +++ b/WebKitTools/DumpRenderTree/mac/PerlSupport/DumpRenderTreeSupport.c
> @@ -0,0 +1,17 @@
> +#include <sys/sysctl.h>
> +
> +int processIsCrashing(int pid)
> +{
> +    int mib[4] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, pid };
> +    struct kinfo_proc info;
> +    size_t bufferSize = sizeof(info);
> +    if (sysctl(mib, sizeof(mib) / sizeof(mib[0]), &info, &bufferSize, 0, 0)) {
> +        perror("sysctl");
> +        return 0;
> +    }
> +
> +    struct extern_proc proc = info.kp_proc;
> +
> +    // The process is crashing if it is waiting to exit, is not a zombie, and has a non-zero exit code.
> +    return proc.p_stat != SZOMB && (proc.p_flag & P_WEXIT) && proc.p_xstat;
> +}

This file needs a license.

Otherwise, r=me.
------- Comment #3 From 2009-08-01 13:05:37 PST -------
Landed in r46676.
------- Comment #4 From 2009-08-01 13:14:04 PST -------
Bah, Tiger doesn't have swig.
------- Comment #5 From 2009-08-01 13:14:59 PST -------
Rolled out in r46678.  Will have to do some thinking to find an approach that works on Tiger too.
------- Comment #6 From 2009-08-01 18:24:10 PST -------
Created an attachment (id=33944) [details]
With support for Tiger
------- Comment #7 From 2009-08-01 18:33:48 PST -------
(From update of attachment 33944 [details])
r=me
------- Comment #8 From 2009-08-01 18:35:31 PST -------
(In reply to comment #7)
> (From update of attachment 33944 [details] [details])
> r=me

WebKitTools/DumpRenderTree/mac/PerlSupport/Makefile needs a license, too.
------- Comment #9 From 2009-08-01 18:41:15 PST -------
Landed in r46682.