[4985] in testers

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

Re: Sparc autoupdates don't display anything on the console

daemon@ATHENA.MIT.EDU (Greg Hudson)
Fri Jul 13 10:20:04 2001

Message-Id: <200107131419.KAA07275@egyptian-gods.MIT.EDU>
To: Mitchell E Berger <mitchb@MIT.EDU>
cc: testers@MIT.EDU
In-Reply-To: Your message of "Fri, 13 Jul 2001 03:44:53 EDT."
             <200107130744.DAA05359@byte-me.mit.edu> 
Date: Fri, 13 Jul 2001 10:19:58 -0400
From: Greg Hudson <ghudson@MIT.EDU>

I have some more information about this problem.

Using a remote shell on a 9.0.10 machine, I trussed dm and then sent
it a SIGFPE.  The results were quite as expected, leading up to:

  waitid(P_ALL, 0, 0xFFBEEC78, WEXITED|WTRAPPED|WNOHANG) Err#10 ECHILD
  setcontext(0xFFBEEE50)
  read(5, 0xFFBEF170, 1024)       (sleeping...)

I then did an "echo foo > /dev/console", and here's where things
started to go wrong:

  read(5, " f o o\r\n", 1024)                     = 5
  write(1, " f o o\r\n", 5)                       = 5
  read(5, " f o o\r\r\n", 1024)                   = 6
  write(1, " f o o\r\r\n", 6)                     = 6
  read(5, " f o o\r\r\r\n", 1024)                 = 7
  write(1, " f o o\r\r\r\n", 7)                   = 7
  read(5, " f o o\r\r\r\r\n", 1024)               = 8
  write(1, " f o o\r\r\r\r\n", 8)                 = 8
  read(5, " f o o\r\r\r\r\r\n", 1024)             = 9
  write(1, " f o o\r\r\r\r\r\n", 9)               = 9
  read(5, " f o o\r\r\r\r\r\r\n", 1024)           = 10
  write(1, " f o o\r\r\r\r\r\r\n", 10)            = 10
  ...

It appears that output to dm's fd 1 is being treated as console output
and redirected (after nl -> crnl translation) back to the pty.  I'm
not sure why the games you played with x_stop_wait() and closing file
descriptors >=3 would have any effect on this loop, or, for that
matter, why we don't see this loop on other platforms or under earlier
versions of Solaris.

I've put the system call trace in ~/tmp/dm.out for now.

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