Bugzilla – Bug 119617
When rebuiding packagedb on update a 'no space left on device' is not handled very gracefully.
Last modified: 2007-10-09 10:43:31 UTC
When /var gets full when the packagedb is rebuild a popup is generated for every block that cannot be written. Since we cannot expect that this problem can be fixed in this environment this error should be considered fatal and the user should be offered to reboot the system so he can take the appropriate action.
Uh - reboot? That appears a bit brutal to me. And what should rebooting help anyway? How does this free disk space? The problem is that the user had been warned about disk space getting tight even before starting the update - he has to confirm that warning with something like "yes, I know what I am doing, I am an expert". And experts IMHO can reasonably be expected to switch to console 2 where a root shell is running and clean up some unneeded files.
There is nothing else you can do at this stage. The popups keep appearing for every block that rpmdb could not write - even after resizing the partition with lvm from a console on another vt. And there may be a lot of them. I assume that these messages have been queued someplace. Therefore deleteing unnneeded files does not really help either unless rpmdb gets killed, the remaining messages get discarded and rpmdb gets restarted after the user confirms the popup. Of course that would be preferrable.
Are you sure there are multiple popups at the same time? That would be a serious problem IMHO. Can you move them and see if there are more of them underneath? Hint: We are using fvwm2 during installation now - there should be some key combination (Alt-F3?) to move windows, even though we minimized WM dcorations.
No, there is one popup at a time. When I close one the next one appears containing the same message but for a different block number. I cannot tell you homw much there were altogether. When I started to get bored I decided to kill the system and start over.
Then there is little else you can do other than try to clean up unneeded files with the root shell on console 2. This is a much less intrusive approach than rebooting right in the middle of an update process - you'd end up with a system in a completely undefined state. After all, this is why we post that "disk space is going to be tight" warning before we even start the update process. You did get such a warning, right? If not, that would be a bug.
Egbert, did you or didn't you get a warning? See comment #5
Stefan, I don't recall if I got this message. I'm sure I got a warning of some kind - however this warning didn't tell me that I won't have enough disk space any more. But my point is different: 1. It does not help to print a popup for *every* *block* that cannot be written - especially not after the condition (that disk space was too tight) has been fixed. Unless the user klicks away thousands of those popups (I didn't check how many there were - see comment #4) the only choice he has is to hit the big red button. 2. Even if the system is in an inconsistent state the installation process can be restarted and will continue as it will check the versions of all packages anyway. If this didn't work I would not have been able to finish the update successfully after the reset.
Assigning back. See above.
Not a UI problem
Is it possible to detect the problem before actually database rebuild starts? Is there any estimation about the amount of needed disk space?
*** Bug 113735 has been marked as a duplicate of this bug. ***
JFYI, Matthias. This is a bugreport, which is assigned to Egbert/me or with Egbert/me in CC or reported by Egbert/me.
Database rebuild is disabled in the recent distros.