Sergey Petrunya <pser...@askmonty.org> writes:

> Hi!
>
> Both mine and Bo's buildslave are prone to error conditions like this:
> http://askmonty.org/buildbot/builders/win32-rel-nmake/builds/19/steps/bzr/logs/err.html
>
> Here is a suggestion on how to eliminate those.
>
> Buildslave setup
> ----------------
> Buildslave owner needs to download pstools and handle utilites:
>
> http://technet.microsoft.com/en-us/sysinternals/bb896683.aspx
> http://technet.microsoft.com/en-us/sysinternals/bb896655.aspx
>
> they need to unpack the zips, then put handle.exe, pskill.exe, pdh.dll 
> somwhere
> on the path, and then run both exe files manually. The first manual run is
> needed to accept the EULA.
>
> Buildbot script
> ---------------
>
> I've come up with this script that uses the above utilities to kill all stray
> processes:
>
> #!/usr/bin/perl
> my $cmd="handle.exe maria-slave |" ;

(I guess maria-slave should be $ARGV[0] or something ...)

> open(IN, $cmd) || die("Failed to pipe from handle.exe");
> my @pids = ();
> print "$cmd\n";
> while(<IN>) {
>   print $_;
>   if (/ pid: ([0-9]+) /) {
>     push @pids, $1;
>   }
> }
> close(IN);
> print "\n\n";
> my %hash = map { $_ => 1} @pids;
> my @uniq_pids = keys %hash;
> foreach (@uniq_pids) { 
>   $cmd= "pskill.exe $_\n";
>   print $cmd;
>   system($cmd);
> }
>
> EOF
>
> The question is, where do we put the script? Have buildslave owners put it on
> the slaves manually (bad, complicates the setup)? Download through buildbot?

Downloading through buildbot should work well actually, it has easy-to-use
support for that.

> Any comments?

Let's try it.

 - Kristian.

_______________________________________________
Mailing list: https://launchpad.net/~maria-developers
Post to     : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp

Reply via email to