Bug 84813

Summary: Anaconda fails to recognize the right ISO image name during HD install
Product: [Retired] Red Hat Linux Reporter: Oleg Kozitski (Tokyo) <oleg>
Component: anacondaAssignee: Jeremy Katz <katzj>
Status: CLOSED DUPLICATE QA Contact: Mike McLean <mikem>
Severity: medium Docs Contact:
Priority: medium    
Version: 8.0   
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2006-02-21 18:51:55 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Oleg Kozitski (Tokyo) 2003-02-21 16:30:09 UTC
Description of problem:
Anaconda erroneously tries to use psyche-docs.iso instead of psyche-i386-disc1.iso during HD install from a spare partition. 
The Python module /usr/lib/anaconda/harddrive.py throws "TypeError: an integer is required" as it tries to enumerate RPMS on the wrong installation ISO.

Version-Release number of selected component (if applicable):
Anaconda on RedHat 8.0 Workstation (boot.img) downloaded from FTP server.

How reproducible:
I was trying to do harddisk install of my notebook from the 3 ISO images:
psyche-i386-disc1.iso
psyche-i386-disc2.iso
psyche-i386-disc3.iso 

For this I have created a 3Gb FAT partition and copied there previously downloaded ISOs. For the reasons of conveniency I also copied documentation image file into the the same folder:
psyche-docs.iso 

After booting from FDD with boot.img I was chosen to do a text install because HDD installation.

After the last step of the setup wizard (creating users) the Anaconda crashed with following dump:

[...]
Traceback (most recent call last):
  File "/usr/bin/anaconda", line 694, in ? intf.run(id, dispatch, configFileData)
  File "[...]/usr/lib/anaconda/text.py", line 446, in run
  File "[...]/usr/lib/anaconda/dispatch.py", line 150, in gotoNext
  File "[...]/usr/lib/anaconda/dispatch.py", line 215, in moveStep
  File "[...]/usr/lib/anaconda/packages.py", line 115, in readPackages
  File "[...]/usr/lib/anaconda/harddrive.py", line 209, in readHeaders
TypeError: an integer is required

Local variables in innermost frame:
sys: <module 'sys' (built-in)>
h: rhl-gsg-en
self: <harddrive.HardDriveInstallMethod instance at 0x83c60b4>
hl: <comps.HeaderListFromFile instance at 0x83dbb1c>


Dispatcher instance, containing members:
method: HardDriveInstallMethod instance, containing members:
  messageWindow: <bound method InstallInterface.messageWindow of
<text.InstallInterface instance at 0x8523d34>>
  discImages: {1: psyche-docs.iso, 2: psyche-i386-disc2.iso, 3:
psyche-i386-disc3.iso}
[...]

If you look at the dump you can see that the value of the local variable h is rhl-gsg-en and the array discImages contains the wrong name of the ISO file.

Conclusion:
Some routine in Anaconda, which enumerates ISO files for HD installation erroneously takes the docs ISO file for the first installation ISO. After deleting the psyche-docs.iso the installation process went through without this error.

Quick solution:
Delete or move out all unnecessary files from the installation folder, especially ISO files.

Correct solution:
Correct the file enumeration routine or make it more sophisticated.

Comment 1 Michael Fulbright 2003-02-21 17:09:45 UTC

*** This bug has been marked as a duplicate of 75077 ***

Comment 2 Red Hat Bugzilla 2006-02-21 18:51:55 UTC
Changed to 'CLOSED' state since 'RESOLVED' has been deprecated.