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.
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.
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).
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.
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)) {
Patch applied, thank you!