[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