Bug 32246

Summary: Do not ignore "bad" lines in dac960 current_status proc entry
Product: [Retired] Red Hat Linux Reporter: Joshua M. Thompson <joshua.thompson>
Component: anacondaAssignee: Michael Fulbright <msf>
Status: CLOSED RAWHIDE QA Contact: Brock Organ <borgan>
Severity: high Docs Contact:
Priority: medium    
Version: 7.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: 2001-03-22 16:03:42 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 Joshua M. Thompson 2001-03-19 18:01:37 UTC
From Bugzilla Helper:
User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows 98; Win 9x 4.90)


When installing RH7 we cannot get the installer to continue past Post 
Install. As soon as this phase begins the installer bombs with a signal 
11. At first I thought I had a bad server but the server installs Win2K 
just fine and the problem has subsequently occured on another identically-
built server. The bug occurs even if I use the Anaconda update disk.


Reproducible: Always
Steps to Reproduce:
1. Created RAID array (Mylex AcceleRaID 352 using driver disk)
2. Partitioned with fdisk and assigned mount points in disk druid
3. Selected "install everything."


Actual Results:  Installer dies with signal 11 as soon as the "Performing 
post install configuration..." dialog appears.

Expected Results:  Should've finished installing. :)

Servers are a house brand built by our computer division. Intel STL2 
server board, Intel SC5000 server chassis, Mylex AcceleRAID 352, 512 MB 
ECC RAM, dual PIII 866 processors.

To install on the Mylex card I have a driver disk with DAC960 driver 
2.2.10 that I built using the RH module development kit. I boot with 
either "expert text" or "linux updates expert text" depending on whether 
or not i'm using the anaconda update disk for the test.

Comment 1 Joshua M. Thompson 2001-03-19 21:01:48 UTC
Using a boot disk I managed to boot up and take a look at what was left by the 
installer. The install log shows nothing past the installation of zsh. 
The /etc/fstab file does not exist yet either so it seems like it's dying 
fairly early in the post-install code in todo.py. cpyExtraModules() seems like 
a likely candidate since I am using a driver disk.


Comment 2 Joshua M. Thompson 2001-03-20 21:21:45 UTC
It turns out this bug only occurs if the Mylex card is actually rebuilding the 
array when the install is started. The problem is in the isys module. In 
isys/probe.c the function dac960GetDevices tries to walk through the 
current_status proc file for each installed array and look for lines containing 
the string "/dev/rd/". It then takes everything between the start of that 
string and the next colon and makes that the device name. Problem is, in my 
specific case the end of the file contains the line "Logical Drive 0 
(/dev/rd/c0d0) Background Initialization Completed". Needless to say there's no 
colon there so the code ends up trying to dereference a null pointer (lines 445 
and 446).


Comment 3 Michael Fulbright 2001-03-21 19:16:17 UTC
So would a fix be to ignore lines which start with /dev/rd but do not contain a ":"?

I do not have a card here to examine the contents of the current_status file, so
your help is greatly appreciated.

Comment 4 Joshua M. Thompson 2001-03-21 19:42:18 UTC
Yes that should solve the problem. This one-line patch sould solve the problem:

--- anaconda-7.0.1.orig/isys/probe.c    Mon Aug 14 15:54:24 2000
+++ anaconda-7.0.1/isys/probe.c Wed Mar 21 14:51:29 2001
@@ -441,6 +441,7 @@
        while (start && (start = strstr(start, "/dev/rd/"))) {
            start += 5;
            chptr = strchr(start, ':');
+           if (!chptr) continue;
 
            *chptr = '\0';
            if (!deviceKnown(devices, start)) {


Comment 5 Michael Fulbright 2001-03-22 16:03:37 UTC
Patch applied, thank you!