<kc version="0.1.0"> 
 
<headquote><a href="http://www.cs.utah.edu/projects/flux/mach4/html/">Mach 
4</a> | <a href="http://www.gnu.org/software/hurd/hurd.html">Hurd Servers</a> 
| <a href="http://www.gnu.org/software/hurd/debian-gnu-hurd.html">Debian Hurd 
Home</a> | <a href="http://www.debian.org/ports/hurd/hurd-faq">Debian Hurd 
FAQ</a> | <a href="http://lists.debian.org/#debian-hurd">debian-hurd 
List Archives</a> | <a 
href="http://mail.gnu.org/pipermail/bug-hurd/">bug-hurd List Archives</a> | 
<a href="http://mail.gnu.org/pipermail/help-hurd/">help-hurd List Archive</a> | 
<a href="http://www.gnu.org/software/hurd/reference-manual.html">Hurd Reference 
Manual</a> | <a href="http://pick.sel.cam.ac.uk/~mcv21/hurd.html">Hurd 
Installation Guide</a> | <a 
href="http://pages.hotbot.com/sf/igorkh/gnumach-cross.txt">Cross-Compiling 
GNUMach</a> | <a 
href="http://www.urbanophile.com/arenn/hacking/hurd/hurd-hardware.html">Hurd 
Hardware Compatibility Guide</a></headquote> 
 
<title>Hurd Traffic</title> 
 
<author contact="mailto:paule@chem.gla.ac.uk">Paul Emsley</author> 
 
<issue num="114" date="05 Nov 2001 23:00:00 -0800" /> 


<section
  title="pflocal Problems"
  subject="Cannot su or sudo"
  archive="http://mail.gnu.org/pipermail/bug-hurd/2001-October/005592.html"
  posts="5"
  startdate="25 Oct 2001 18:38:48 -0800"
  enddate="25 Oct 2001 21:21:43 -0800"
>

<mention>James Morrison</mention>
<mention>Roland McGrath</mention>

<p>Jeff Bailey also had problems with "su", which appeared to
hang. James Morrison said that he too had seen this problem and Marcus
Brinkmann had said that it was due to pflocal gettting in a tangle -
kill pflocal and things get unstuck.  Jeff noticed that in his case, a
<quote who="Jeff Bailey">pile of stuck cron's to get unstuck</quote>
also. </p>

<p>Roland McGrath said that the pflocal problem was a known issue, but
noone had yet worked out why or fixed it.</p>

 
	 <p>Conversation moved to the subject <a
	 href="http://mail.gnu.org/pipermail/bug-hurd/2001-October/005606.html">more
	 info about sudo/pflocal/syslogd problem) </a> where Marcus
	 added: </p>


<quote who="Marcus Brinkmann">
  
<p>There seem to be a couple of issues.  First, it seems that sudo and
pflocal/libpipe seem to work fine in the normal case.  What happens
is that sudo sends a diagnostic line to syslogd.  syslogd receives only
one line, logs it, and on receiving the second line (?) then goes into
foobar mode.
 </p>
 
<p>After enough sudos, the pipe buffer will be full (16kb), and the subsequent
sends will hang in pflocal, because the writing thread will wait for the
buffer to empty a bit.  There seems to be a bug here, because if you now
kill syslogd, the writing thread will not wake up rather than getting a
broken pipe or whatever.  I also had pflocal crashing when restarting
syslogd in this situation, but that does not seem to be reproducible.
 </p>
 
<p>So at least two bugs involved here?  It seems so.  </p>

</quote>

<p>Marcus added further: </p>

<quote who="Marcus Brinkmann">
   
<p>It was instructive to step through syslogd.  What happens is that
syslogd listens on a unix and an inet socket with poll.  poll
returns revents 1 for unix and 3 for inet socket (POLLIN and
POLLIN|POLLPRI.  So syslogd will try to get a line from the unix
socket (works) and then from the inet socket, which hangs as there is
no data.
 </p>

<p>So glibc returns the wrong values in revents for poll.  I am now going to
look into glibc select code.
 </p>


</quote>

<p>Marcus had some trouble running gdb with glibc, but later found a
problem in hurd/hurdselect.c</p>
 
<p>Roland said that he fixed this in his tree and checked it in.</p>


<p>EOT. </p>

</section>




<section
  title="A Hurd-toys Package?"
  subject="a non gnu hurd package"
  archive="http://lists.debian.org/debian-hurd/2001/debian-hurd-200110/msg00245.html"
  posts="5"
  startdate="26 Oct 2001 17:13:35 -0800"
  enddate="28 Oct 2001 05:52:01 -0800"
>
<topic>Apt</topic>

<mention>Thomas Bushnell</mention>
<mention>Marcus Brinkmann</mention>

<p>James Morrison thought that it would be a good idea to gather
together hurd-related items, such as shadowfs, {u}random translator,
colortext and pptop and suggested a Debian GNU/Hurd package for them.  </p>
  
<p>Thomas Bushnell and Marcus Brinkmann thought that they should go
into the main Hurd source base when they work satisfactorily.  </p>


<p>James replied that he realised that they were not currently ready
to be part of the Hurd, adding <quote who="James Morrison">I think it
would be cool to go apt-get source|install hurd-toys and have whatever
isn't done.</quote> </p>

</section>



<section
  title="Buildd Information Page"
  subject="Buildd information page"
  archive="http://lists.debian.org/debian-hurd/2001/debian-hurd-200110/msg00248.html"
  posts="3"
  startdate="26 Oct 2001 19:41:54 -0800"
  enddate="28 Oct 2001 00:10:20 -0800"
>

<mention>Jeff Bailey</mention>

<p>Jeff Bailey let us know that the current autobuild status can be
found at <a
href="http://people.debian.org/~jbailey/buildd/index.php">people.debian.org/~jbailey/buildd/index.php</a>. </p>


</section>


<section
  title="Building 'chess'"
  subject="chess"
  archive="http://lists.debian.org/debian-hurd/2001/debian-hurd-200110/msg00262.html"
  posts="4"
  startdate="28 Oct 2001 16:45:41 -0800"
  enddate="31 Oct 2001 16:03:59 -0800"
>

<mention>James Morrison</mention>
<mention>Jeff Bailey</mention>

<p>Jeff Bailey said that buildd seemed to get stuck on 'chess'.  James
Troup said it's just that chess takes a long time to build and David
Trudgett said <quote who="David Trudgett">it took something like two
days to compile on a Pentium 166</quote>.  James Morrison also
reported that it took two days and also noted a packaging bug.</p>


</section>

<section
  title="Glibc Fixes for PowerPC Port"
  subject="PowerPC port"
  archive="http://mail.gnu.org/pipermail/bug-hurd/2001-October/005596.html"
  posts="22"
  startdate="10 Oct 2001 07:05:46 -0800"
  enddate="28 Oct 2001 18:58:37 -0800"
>

<mention>Thomas Bushnell</mention>
<mention>Roland McGrath</mention>
<mention>Peter Bruin</mention>

<p>Following <a
href="http://kt.zork.net/debian-hurd/dh20011023_112.html#9">the recent
announcement of a PowerPC port</a>, Peter Bruin posted his changes to
glibc and put them on his <a
href="http://huizen.dds.nl/~pjbruin/hurd/">web page</a>. Roland
McGrath started integrating the changes and Thomas Bushnell joined
with Roland in thanking Peter for this exciting work. </p>

</section>

<section
  title="st_nlink Of Directory Nodes"
  subject="st_nlink of directory nodes in shadowfs"
  archive="http://mail.gnu.org/pipermail/bug-hurd/2001-October/005597.html"
  posts="16"
  startdate="27 Oct 2001 11:41:25 -0800"
  enddate="28 Oct 2001 08:30:29 -0800"
>
<topic>POSIX</topic>

<p>Noting that GNU 'find' uses st_nlink, Moritz Schulte asked <quote
who="Moritz Schulte">is it ok if the st_nlink member of struct stat of
virtual directory nodes in Shadowfs is higher then the number of nodes
which are actually in that virtual directory?</quote> Roland McGrath
replied: </p>
<quote who="Roland McGrath">
  
<p>By my reading of 1003.1-1996, st_nlink should be "the number of directory
entries that refer to the file".  In a case like this, I think it's pretty
open to interpretation what constitutes a directory entry; there always
might be extra entries in some directory you don't know about, and that is
not distinguishable from st_nlink just being too high.
 </p>
  
<p>I'm also not entirely sure how kosher find's use of st_nlink on directories
is, by the POSIX rules.  I haven't done a thorough search, but `..' is
described as a "special file name", and it is unspecified whether readdir
returns entries for `.' and `..', so I tend to conclude that there is no
requirement about `..' being a normal link as to contribute to the link
count in a well-specified way.
 </p>
  
<p>All that leads me to conclude that all that matters is what makes find
happy in practice.  If it uses st_nlink to limit the number of entries in
the directory it stats for directoriness, then an inflated count only makes
it possibly less efficient and won't make it incorrect.
 </p>
  
<p>Note, however, that this optimization in find will quite totally break the
filesystem semantics presented by translators set on regular files.  That
is, a translator set on a regular file may well report S_IFDIR and so a
find ought to treat it as a directory.  But the underlying node isn't a
directory and so doesn't have a .. node contributing to the containing
directory's link count. </p>

</quote>  

   
<p>Thomas Bushnell agreed that this was a problem with 'find' and that
it should be reported as a bug (ideally with a patch). Thomas thought
that st_nlink on a directory should be the number of subdirectories
plus two, adding <quote who="Thomas Bushnell">My thought has always
been that an efficient shadow directory would scan the underlying
directories once on startup, and after that would maintain correct
information through the change-notification mechanism.  </quote> </p>
 
<p>Moritz Schulte said that the was a completely different approach to
the one that he had used, saying that to do things as Thomas suggested
would need a complete re-write. Thomas added <quote who="Thomas
Bushnell"> it is the reason for having the directory notification
RPC's at all.  (And also so that things like Emacs dired mode can
automagically update.)  </quote></p>


</section>

</kc>
