Red Hat Bugzilla – Bug 49632
Cannot upgrade from 7.0 to 7.1; "internal error" from anaconda
Last modified: 2007-04-18 12:34:59 EDT
Description of Problem:
During text-mode upgrade with driver disk (advansys module, SCSI CD-R)
anaconda eixted with an internal error, providing a dump file and saying
that I should report this problem.
Steps to Reproduce:
1. Insert boot disk.
2. Reboot; type linux text <RETURN>
3. Select UK keyboard, insert driver disk when prompted
4. Select option to update existing installation
Fatal upgrade error (and assisted reboot). Dump file (see attached)
Created attachment 24468 [details]
Anaconda crash dump
We have seen this problem before, but we never figured out why it happens. The
installer is trying to remove the anaconda-rebuilddb that it uses during the
upgrade process, but it's not finding the file. The only thing I can think of
is that /mnt/sysimage has been unmounted for some reason. We have added code so
that the installer won't crash if it can't find the file...it just ignores the
error. That should avoid the problem in future releases, but it doesn't explain
why the file is getting lost in the first place. Is /var a symlink on your
system by any chance?
No, /var was a separate ext2 filesystem on the same IDE disk as the root
I'm pretty certain that /mnt/sysimage and /mnt/sysimage/var were still mounted
at this stage, I think I looked in another VC. However, I'm not absolutely
certai - I could have been looking after the reboot.
Might I suggest tht in future versions of the program, the results of something
like "ls -lR /var/lib" be included in the crash dump... This may help you
diagnose the problem.
When I said it was 100% reproducible, I mean that I tried the upgrade, and got
this error the first time. I then freed up extra space in /, /var and /usr.
After that, it didn't happen again.
We have put a try/except loop around this statement that should at least catch
the error and go on. I'm not sure why it can't delete the temporary database,
but it should at least handle the error without crashing.