[1258] in testers

home help back first fref pref prev next nref lref last post

decmips 7.2A: auto-update

daemon@ATHENA.MIT.EDU (daemon@ATHENA.MIT.EDU)
Fri Nov 30 08:36:44 1990

Date: Fri, 30 Nov 90 08:36:25 -0500
From: John T Kohl <jtkohl@ATHENA.MIT.EDU>
To: testers@ATHENA.MIT.EDU

System name:		quicksilver
Type and version:	KN01 7.2A
Display type:		PM-MONO

What were you trying to do?
	Log in this morning.

What's wrong:
	Auto-update had the machine hung.  The display was blank, with
just a console-mode cursor.  No response to keyboard or mouse.

Here's a process list, and some debugging info on the hung processes:

quicksilver# ps axww
  PID TT STAT  TIME COMMAND
    0 ?  D     0:03 swapper
    1 ?  I     0:00 /etc/init -a
    2 ?  D     0:02 pagedaemon
   73 ?  S     0:00 /etc/named /etc/named.boot
   81 ?  D     0:00
   82 ?  D     0:09
   83 ?  D     0:08
   84 ?  D     0:08
   85 ?  D     0:07
   86 ?  D     0:07
  115 ?  I     0:00 /etc/syslog
  198 ?  S     0:37 /etc/update -n
  202 ?  I     0:01 /etc/cron
  215 ?  IW    0:00 /etc/biod 4
  216 ?  IW    0:00 /etc/biod 4
  217 ?  IW    0:00 /etc/biod 4
  218 ?  IW    0:00 /etc/biod 4
  219 ?  I     0:00 /etc/inetd
  222 ?  I     0:00 /etc/portmap
  223 ?  I     0:01 /etc/mountd
  228 ?  IW    0:00 /etc/nfsd 4
  229 ?  IW    0:00 /etc/nfsd 4
  230 ?  IW    0:00 /etc/nfsd 4
  231 ?  IW    0:00 /etc/nfsd 4
  255 ?  S     0:05 /etc/snmpd
  256 ?  I     0:00 /etc/timed
  261 ?  I     0:00 /etc/athena/zhm
  303 ?  IW    0:00 /etc/elcsd
 1464 co R   805:29 - /etc/athena/login/config ttyv0 console (dm)
 1928 ?  S     0:00 telnetd
 1929 p0 I     0:00 login -h LYCUS.MIT.EDU -p root
 1930 p0 S     0:00 -csh (csh)
 1939 p0 R     0:00 ps axww
 1468 qf I     0:00 sh /etc/athena/reactivate
 1472 qf I     0:00 sh /srvd/auto_update reactivate
 1495 qf I     0:01 /bin/sh /srvd/usr/athena/lib/update/do_update
 1670 qf I     0:01 track -v -F /srvd -T / -d -W /srvd/etc/athena/lib
quicksilver# dbx -k /vmunix /dev/mem
dbx version 1.31
Type 'help' for help.
reading symbolic information ...
[using memory image in /dev/mem]
(dbx) set $pid=1670
(dbx) where
>  0 swtch.swtch() ["../mips/swtch.c":208, 0x800fa210]
   1 sleep(chan = 0x80164448 = "^Q^H", pri = 29) ["../sys/kern_synch.c":470, 0x80078774]
   2 ttwrite(tp = (nil), uio = 0x8017bec0) ["../sys/tty.c":2702, 0x80084fa4]
   3 ptswrite(dev = 22444, uio = 0x800aeb30) ["../sys/tty_pty.c":261, 0x800875cc]
   4 spec_rwgp(gp = 0x80145f30, uiop = (nil), rw = UIO_WRITE, ioflag = 0, cred = 0xc37cef00) ["../specfs/spec_vnodeops.c":259, 0x8006bd9c]
   5 rwgp(gp = 0x80194178, uio = 0xa000, rw = UIO_WRITE, ioflag = 0, cred = 0xc37cef00) ["../gfs/gfs_gnodeops.c":239, 0x8003457c]
   6 gno_rw(fp = (nil), rw = -1014729728, uio = 0xffff0818) ["../gfs/gfs_gnodeops.c":176, 0x80034384]
   7 rwuio(uio = 0xffffdef8, rw = UIO_WRITE) ["../sys/sys_generic.c":202, 0x8007be1c]
   8 write() ["../sys/sys_generic.c":134, 0x8007bbd8]
   9 trap.syscall(ep = 0xffffdf5c, code = 4, sr = 3, cause = 32) ["../mips/trap.c":1148, 0x800fc0bc]
  10 VEC_syscall() ["../mips/locore.s":549, 0x800eee34]
  11 entry.start() [0x40a534]
(dbx) set $pid=1464
(dbx) where
   0 swtch.swtch() ["../mips/swtch.c":208, 0x800fa210]
   1 trap.syscall(ep = 0xffffdf5c, code = 4, sr = 3, cause = 32) ["../mips/trap.c":1185, 0x800fc204]
   2 VEC_syscall() ["../mips/locore.s":549, 0x800eee34]
   3 entry.start() [0x4022c4]
[comment: code 4 is write(); this process is looping, alternating
between read() and write().  The 0x4022c4 is probably the return address
in user space. ]

All the shells are inside wait().

What should have happened:
	The auto-update should have completed properly.

	When I killed off the looping dm, it restarted, and the
auto-update seemed to complete (putting stuff into the new console
window, tracing the update process), and then the machine rebooted
(presumably as expected).

Please describe any relevant documentation references:
	write(2), wait(2), wait3(2)

home help back first fref pref prev next nref lref last post