Date: Fri, 11 May 2001 01:02:55 +0200 (CEST) From: sec@ice.42.org To: FreeBSD-gnats-submit@freebsd.org Subject: kern/27259: md causes hang with make world Message-ID: <20010510230255.6DFB92B9@ice.42.org>
next in thread | raw e-mail | index | archive | help
>Number: 27259
>Category: kern
>Synopsis: md causes hang with make world
>Confidential: no
>Severity: serious
>Priority: low
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Thu May 10 16:10:01 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator: Stefan `Sec` Zehl
>Release: FreeBSD 4.3-STABLE i386
>Organization:
>Environment:
System: FreeBSD foo 4.3-STABLE FreeBSD 4.3-STABLE #1: Sat May 5 10:37:18 GMT 2001 sec@foo:/usr/obj/usr/src/sys/FOO i386
standard kernel, with
pseudo-device md # Memory "disks"
options MD_NSECT=800000
The malloc disk was created with
disklabel -r -w md0 auto && \
newfs /dev/md0c && \
mount /dev/md0c /mnt
(as per "man md")
The world was built with:
CPUTYPE=p3
CFLAGS= -O -pipe
COPTFLAGS= -O -pipe
The hardware in question is:
CPU: Pentium III/Pentium III Xeon/Celeron (930.39-MHz 686-class CPU)
Origin = "GenuineIntel" Id = 0x686 Stepping = 6
Features=0x383fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE>
real memory = 1073725440 (1048560K bytes)
avail memory = 1042558976 (1018124K bytes)
Pentium Pro MTRR support enabled
With a raid5 disk for everything:
mly0: <Mylex AcceleRAID 352> mem 0xedffc000-0xedffdfff irq 10 at device 5.1 on pci1
mly0: AcceleRAID 352 , 2 channels, firmware 6.00-4-00 (20000928), 32MB RAM
da0 at mly0 bus 2 target 0 lun 0
da0: <RAID 5 online > Fixed Direct Access SCSI-3 device
da0: 135.168MB/s transfers
da0: 52020MB (106536960 512 byte sectors: 255H 63S/T 6631C)
>Description:
I configured a malloc disk, mounted it as /mnt (see above), symlinked
/usr/obj there, and started a make world. After 10-20 Minutes the
buildworld hangs, and no access to the memory disk is possible. Not even
killing processes.
top displays the situation as follows:
last pid: 53061; load averages: 0.00, 0.13, 0.36 up 1+13:01:37 22:36:30
32 processes: 2 running, 30 sleeping
CPU states: 0.0% user, 0.0% nice, 0.0% system, 0.0% interrupt, 100% idle
Mem: 26M Active, 411M Inact, 195M Wired, 36K Cache, 112M Buf, 372M Free
Swap: 1024M Total, 1024M Free
PID USERNAME PRI NICE SIZE RES STATE TIME WCPU CPU COMMAND
47780 root 10 5 7548K 7236K wait 0:01 0.00% 0.00% make
155 daemon 2 0 896K 476K sbwait 0:01 0.00% 0.00% rwhod
180 root 2 0 2184K 1216K select 0:00 0.00% 0.00% sshd
173 root 10 0 976K 596K nanslp 0:00 0.00% 0.00% cron
145 root 2 0 936K 568K select 0:00 0.00% 0.00% syslogd
274 root 28 0 2308K 1516K RUN 0:00 0.00% 0.00% sshd
88844 root 28 0 1908K 1216K RUN 0:00 0.00% 0.00% top
3644 root 18 0 1588K 1188K pause 0:00 0.00% 0.00% zsh
176 root 18 0 2524K 1472K pause 0:00 0.00% 0.00% sendmail
88573 root 10 5 1224K 912K wait 0:00 0.00% 0.00% make
19270 root 10 5 1224K 908K wait 0:00 0.00% 0.00% make
276 root 18 0 1324K 844K pause 0:00 0.00% 0.00% csh
88562 root 10 5 1056K 744K wait 0:00 0.00% 0.00% make
37688 root 10 5 1080K 768K wait 0:00 0.00% 0.00% make
275 sec 10 0 632K 68K wait 0:00 0.00% 0.00% sh
171 root 2 0 1060K 740K select 0:00 0.00% 0.00% inetd
37689 root 10 5 632K 492K wait 0:00 0.00% 0.00% sh
53051 root 10 5 312K 200K wait 0:00 0.00% 0.00% cc
53054 root -6 5 752K 544K biowr 0:00 0.00% 0.00% as
150 daemon 2 0 952K 580K select 0:00 0.00% 0.00% portmap
34314 root 10 5 628K 484K wait 0:00 0.00% 0.00% sh
53050 root 10 5 632K 488K wait 0:00 0.00% 0.00% sh
19269 root 10 5 632K 488K wait 0:00 0.00% 0.00% sh
88572 root 10 5 628K 484K wait 0:00 0.00% 0.00% sh
I then tried "ktrace -p 47780". Nothing in kdump.out
kill 47780
top shows:
47780 root -14 5 7548K 7236K inode 0:01 0.00% 0.00% make
kdump then gives:
47780 make PSIG SIGTERM caught handler=0x804ae64 mask=0x0 code=0x0
47780 make RET wait4 RESTART
47780 make CALL lstat(0x86cb420,0xbfbfe6dc)
47780 make NAMI "uthread_writev.o"
kill -9 doesn't help either. top then says:
47780 root -14 0 7548K 7236K inode 0:01 0.00% 0.00% make
mount and df display info correctly:
foo# mount
/dev/da0s1a on / (ufs, local)
/dev/da0s1f on /usr (ufs, local, soft-updates)
/dev/da0s1e on /var (ufs, local)
procfs on /proc (procfs, local)
/dev/md0c on /mnt (ufs, local)
foo# df
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/da0s1a 99183 35948 55301 39% /
/dev/da0s1f 50254651 522826 45711453 1% /usr
/dev/da0s1e 254063 790 232948 0% /var
procfs 4 4 0 100% /proc
/dev/md0c 387607 95076 261523 27% /mnt
>How-To-Repeat:
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010510230255.6DFB92B9>
