[buildd-tools-devel] please consider stderr as well as stdout before killing a build for timeout

Nicolas Boulenguez nicolas.boulenguez at free.fr
Thu Aug 15 13:50:45 UTC 2013


Hello.

The gnat-gps package relies on the gnatmake build tool, which produces
its messages to standard error. Admittedly, this is a bad behaviour,
and I intend to correct this in the first place.

However, sbuild only considers stdin when computing the timeout delay,
and kills the build as inactive because it does not echo on stdout.

This results in hard to diagnose failures, as the log (rightfully)
mixes stout and stderr. Please avoid this difficulty by either
something like

line 1500 of lib/Sbuild/BUILD.pm.
-my $pipe = $self->get('Session')->pipe_command($command);
+my $pipe = $self->get('Session')->pipe_command(
+        { COMMAND => [$command],
+          STREAMERR => \*STDOUT});

or if you do not want to hide the problem:

line 1553-1555
          $self->log("Build killed with signal " . $timeout_sigs[$i] .
                     " after " . int($timeout_times[$i]/60) .
-                    " minutes of inactivity\n");
+                    " minutes of inactivity on stdout (stderr is ignored).\n");

Thanks.



More information about the Buildd-tools-devel mailing list