Comment 7 for bug 567345

Revision history for this message
Colin Watson (cjwatson) wrote :

The shell trace of the spare failure is thoroughly perplexing:

  + descriptions=/dev/vdb2 (500MB; ext4), /dev/vdb free #1 (1098911MB; FREE SPACE), /dev/vdc1 (98MB; ext4), /dev/vdc2 (500MB; ext4), /dev/vdc free #1 (1098911MB; FREE SPACE)
[...]
  + local description=/dev/vdb2 (500MB; ext4)
  + [ /dev/vdb2 (500MB; ext4), /dev/vdb free #1 (1098911MB; FREE SPACE), /dev/vdc1 (98MB; ext4), /dev/vdc2 (500MB; ext4), /dev/vdc free #1 (1098911MB; FREE SPACE) = /dev/vdb2 (500MB; ext4), /dev/vdb free #1 (1098911MB; FREE SPACE), /dev/vdc1 (98MB; ext4), /dev/vdc2 (500MB; ext4), /dev/vdc free #1 (1098911MB; FREE SPACE) ]
  + descriptions=

The penultimate trace line there corresponds to this source line:

  if [ "${descriptions#*, }" = "$descriptions" ]; then

So why isn't it stripping the first part (/dev/vdb2 and its parenthesis and trailing comma-space) from $descriptions? This is beginning to look like a shell bug, but I can't reproduce it from an interactive shell prompt. Perhaps we're looking at memory corruption here?