bin/164131: freebsd-update does not check for failed install
commands
John Sellens
jsellens at syonex.com
Sun Jan 15 00:30:12 UTC 2012
>Number: 164131
>Category: bin
>Synopsis: freebsd-update does not check for failed install commands
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Sun Jan 15 00:30:11 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator: John Sellens
>Release: 9.0-RELEASE
>Organization:
>Environment:
FreeBSD aim2.aimtechglobal.com 9.0-RELEASE FreeBSD 9.0-RELEASE #0: Tue Jan 3 07:46:30 UTC 2012 root at farrell.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC amd64
>Description:
In freebsd-update the shell function install_from_index does not appear to check whether the install command succeeds or fails (this seems to apply in other functions as well).
If there is a write error (e.g. file system full) the update process fails but freebsd-update says "go ahead and continue", so you can end up with a corrupted or unbootable system.
I was updating from an 8.x system, with a too small / partition. Since the 9.0 (and default 8.x I think) amd64 kernels seem to have debugging/symbols enabled, they are larger than kernels used to be. So my / partition filled up when freebsd-update was installing the kernel. But it told me to continue right on and reboot, which would have failed.
/: write failed, filesystem is full
install: ///boot/INS at zUqD: No space left on device
install: ///boot/userboot.so: No space left on device
install: ///boot/INS at R4jN: No space left on device
install: ///boot/INS at 5aZb: No space left on device
rmdir: ///boot/kernel: Directory not empty
/: write failed, filesystem is full
/: write failed, filesystem is full
/: write failed, filesystem is full
Kernel updates have been installed. Please reboot and run
"/usr/sbin/freebsd-update install" again to finish installing updates.
# echo $status
0
>How-To-Repeat:
Have a too small (or too full) / partition and update to a new release on amd64, and watch it fail.
>Fix:
I suspect someone needs to go through the freebsd-update script and check for failing commands (and I'm sorry, but I'm not currently able to do that).
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list