[buildd-tools-devel] Bug#684607: Bug#684607: Bug#684607: Chroot setup failed: stage=setup-start

Roger Leigh rleigh at codelibre.net
Sun Oct 14 17:05:10 UTC 2012


clone 684607 -1
reassign -1 dash
retitle -1 dash: No diagnostic on echo builtin failure
severity -1 normal
tags 684607 + wontfix
thanks

On Mon, Aug 13, 2012 at 01:20:16PM +0100, Roger Leigh wrote:
> On Mon, Aug 13, 2012 at 01:37:38PM +0200, Christoph Egger wrote:
> >   This was indeed lack of disk-space on the partition the chroots live
> > on, sorry for the confusion. Might however be usefull to give a more
> > concrete hint on what is failing ;-)
> 
> OK, no worries.  The stderr of the setup scripts /should/ be being
> logged on stderr already, unless the shell isn't logging for some
> reason in this case (the script isn't interactive?)
> 
> I'll look into it more closely anyway.

So it turns out that the lack of error reporting is due to the shell.
Test:

zsh:
% echo foo > /dev/full
echo: write error: no space left on device

bash:
$ echo foo > /dev/full
bash: echo: write error: No space left on device

dash:
$ echo foo > /dev/full
[nothing]

So if /bin/sh is dash, ENOSPC as a result of an echo builting failing
gives no diagnostic.  All set $? to 1, but aside from terminating the
script, this does not inform the user what the problem is.  Ideally
dash would print an error to stderr like the other shells.

Given that I can't fix this generally in schroot (it could occur in
any setup script using echo to a file in the chroot), I'll reassign to
dash.  I could do a special-case fix for the script, but I'm not
convinced that this would be a correct course of action--it's just
papering over the lack of diagnostic in dash.


Regards,
Roger

-- 
  .''`.  Roger Leigh
 : :' :  Debian GNU/Linux             http://people.debian.org/~rleigh/
 `. `'   Printing on GNU/Linux?       http://gutenprint.sourceforge.net/
   `-    GPG Public Key: 0x25BFB848   Please GPG sign your mail.



More information about the Buildd-tools-devel mailing list