Hurd Traffic #117 For 8 Apr 2002

Editor: Paul Emsley

By Simon Law

Mach 4 ( | Hurd Servers ( | Debian Hurd Home ( | Debian Hurd FAQ ( | debian-hurd List Archives ( | bug-hurd List Archives ( | help-hurd List Archive ( | Hurd Reference Manual ( | Hurd Installation Guide ( | Cross-Compiling GNUMach ( | Hurd Hardware Compatibility Guide (

Table Of Contents

1. Welcome message to new subscribers

3 Mar 2002 - 5 Mar 2002 (8 posts) Archive Link: "Hurd Orientation"

Summary By Simon Law

People: Patrick StrasserRobert MillanNeal H. Walfield

Upon seeing Neal H. Walfield's monthly welcome message, Patrick Strasser commented that it was a very useful introduction to the project. He continued to say:

But someone subscribing now will get this letter in a month. We probably loose a lot of interested/motivated people as they can't get enough information to get into the Hurd. It would be nice to send this Welcome to every new subscriber. Imagine a interested programmer willing to contribute something ASAP getting all this information in very first minute. Who is the right person to contact for getting it immediatly to new subscribers? listmaster at debian? mailman-owner at gnu?

Robert Millan suggested that Patrick should work with Neal to get this process automated. This would probably be done through the Debian list-masters.

From there, the discussion degraded into everybody's favourite topic: the proper grammatical use of the noun "Hurd."

2. Low memory problems

31 Mar 2002 - 2 Apr 2002 (6 posts) Archive Link: "dselect/apt & fsck"

Summary By Simon Law

Topics: Apt

People: Erik HungerMarcus BrinkmannNeal H. Walfield

Erik Hunger installed gnu-20011016.tar.gz from and tried to bring everything up-to-date. However, he quickly encountered some problems with dselect, and his pkgcache.bin. It looked like a case of filesystem corruption.

Richard Kreuter asked for the output of dpkg -l sysvinit. Erik pasted the output in, and it looked reasonable. He then tried to reproduce his error, and was finally successful after several attempts.

I tried reproducing this error several times to no effect. As I was about to shrug and declare it mystically fixed, it happened again. I was logged in and using dselect from another machine. This is what showed on the screen directly attached to the Hurd machine:

memory_object_data_request(0x0, 0x0, 0x43000, 0x1000, 0x3) failed, 268435459

... And a few seconds later, a warning that the /dev/hd0s2 filesystem wasn't unmounted cleanly. 'mount' showed it to be suddenly mounted read only. I was able to do several apt-get install's before this happened. It was only running dselect a couple times as root that it popped up. Seems more frequent under dselect for some reason. The error I got on the screen running dselect was:

/dev/fd/4: line 54:   9741 Bus error      $APTGET $OPTS "$APT_OPTO"
"$APT_OPT1" dselect-upgrade

Neal H. Walfield took at look at the error, and determined that the kernel had requested data from a manager which died unexpectedly. Marcus Brinkmann suspects that this is an out-of-memory condition

3. Hurd graphics

1 Apr 2002 (3 posts) Archive Link: "The Motley Gnus"

Summary By Simon Law

People: Mike WarnerB. Douglas Hilton

Mike Warner began this thread by commenting on B. Douglas Hilton's GNU Hurd graphics. Mike made some suggestions on colour and lighting which prompted Doug to post a new graphic up on his graphics page ( .

Also in the same message, Mike described an idea of his:

My vision is of "The Motley Gnus." In pencil on white, a ragtag group of Gnus crowded together, all standing on two legs, some short, some tall, some fat, some skinny--caricatures--sloppy, prim, smart, dumb, weird, crazy.

Doug found this funny, and suggested that they could be done in Gary Larson's The Far Side style.

4. Thread libraries

4 Apr 2002 (7 posts) Archive Link: "RMS interview on LWN"

Summary By Simon Law

Topics: POSIX

People: Richard M. StallmanB. Douglas HiltonJeroen Dekkers Jeff BaileyOgnyan Kulev

Bill Bland kicked off the thread by asking the list about a recent interview ( that Richard M. Stallman did with Linux Weekly News. Here, RMS stated that "You can even use GDB to debug the file system while the system is running--thread-specific breakpoints allow you to..." This confused Bill, as he thought pthreads (an implementation of POSIX threads ( as specified by IEEE 1003.1c) had not yet been ported to Hurd.

Ognyan Kulev and Moritz Shulte both volunteered that Hurd is currently using the cthreads library ( . People are working on implementing pthreads and once it works, pthreads will completely replace cthreads. Jeroen Dekkers added that he is actively developing pthreads and is making steady progress.

B. Douglas Hilton added that he had patched GNU Pth ( to work with Hurd. He provided a link to it at this location ( but when this summary was written, this link was dead. It seems that he has moved his patch to this page ( .

The discussion went off on a tangent when Jeff Bailey asked Doug if GDB knew about libpth, and Doug replied that he would try it out to see. Unfortunately, he has admitted that his patch is kludgy, because he hardcoded in a lot of Linux 2.0 defaults.

5. Running the Hurd on PowerPC

5 Apr 2002 - 6 Apr 2002 (6 posts) Archive Link: "Hurd on ppc ?"

Summary By Simon Law

People: B. Douglas HiltonDouglas HiltonPeter BruinRoland McGrathPaul Emsley

J_r_mie Pierson wrote to help-hurd asking if there Hurd ran on the PowerPC. He had heard about such an effort before, but could not find any information about it.

B. Douglas Hilton speculated that such a port should not be difficult, because MkLinux and Darwin both use a Mach-based microkernel on the PowerPC architecture. He guesses:

If you have a powerpc machine which can run MkLinux, then this would be your springboard to Hurd. Use the MkLinux microkernel as your start point, and compile up "the Hurd", and then your base c-libraries, linking against Mach and Hurd instead of Linux. Then, using lots of black magic, make some kind of --host=powerpc-linux --target=powerpc-gnu gcc cross compiler. Finally, using this new compiler reiterate the process until it actually begins to work?

These are my guesses. I'm sure some of the more senior Hurd'ers have more information on how to bootstrap compile the OS. The microkernel is a critical part, and it is very possible that the MkLinux version of Mach would work with some modification. I think it would be bigger than a one-man project and you'd need to recruit some helpers.

Derek L. Davies verified that MkLinux uses Mach and that he runs it on an Apple Performa 6300CD. He offered to help on a PowerPC port; but noted that his work on a random pool device for OSKit is of higher priority.

Roland McGrath brought us up to speed on the status of the Hurd on PowerPC. According to him, Peter Bruin has a PowerPC port almost working, with details on bug-hurd. I believe he refers to this message by Peter Bruin ( and Roland's reply ( . Roland goes on to say that he's incorporated most of Peter's patch, and he has done some other fixes so that the port almost builds. As well, Roland has done some work on GCC in order to get a ppc-gnu target.

Unfortunately for Roland, he cannot get any Mach to work properly on his PowerPC hardware. MkLinux is no longer actively developed, and it does not boot on his PowerMac 7500/100, and does not understand his G4 machine. The other alternative is to use Darwin, however, a port to Darwin is expected to take much work.

Replying to the original post, Paul Emsley commented that Kernel Cousin Debian-Hurd summarizes some articles about a PowerPC effort.

6. Hurd dropped from buildd statistics page

5 Apr 2002 (2 posts) Archive Link: ""

Summary By Simon Law

People: Roland McGrathJeff Bailey

Roland McGrath wondered "why hurd-i386 has been dropped from"

Jeff Bailey quickly replied that "All non-release arch's have been dropped from the list until the Woody release."

7. Building and checking glibc

1 Apr 2002 (5 posts) Archive Link: "make check in glibc-2.2.5/libio"

Summary By Simon Law

People: Jeff BaileyRoland McGrath

Jeff Bailey announced that he had succesfully built glibc under a libio system. To celebrate, he ran make check, which did not make it to the end. From his error message, we can see that locale generation did not work correctly:

Generating locale de_DE.ISO-8859-1: this might take a while...
.:1: syntax error in repertoire map definition: no symbolic name given
.:2: syntax error in repertoire map definition: no symbolic name given
.:3: syntax error in repertoire map definition: no symbolic name given
.:4: syntax error in repertoire map definition: no symbolic name given
.:5: syntax error in repertoire map definition: no symbolic name given
.:6: syntax error in repertoire map definition: no symbolic name given

Roland McGrath determined that the file names looked very odd, and suggested that the shell script might be broken. Jeff and Roland hunted around a bit for answers, but the thread died without any definitive results.

8. Thread consumption in the filesystem

1 Apr 2002 (2 posts) Archive Link: "insane sumber of threads"

Summary By Simon Law

People: Marcus BrinkmannRonald McGrath

Marcus Brinkmann has been thinking about the number of threads in the filesystem: " After compiling X on a mounted partition, there have been 3732 threads in the root filesystem, with a whopping 85 MB RSS. "

He came up with a theory as to why this was happening:

I can only think of one reason that can lead to a new thread beyond the limit I described being created: That is when a thread sends the reply message, it can be preempted before returning itself to the thread pool, and then one or more new RPCs comes in. Assuming that there are now more RPCs than pending threads (our thread is still preempted and has not had a chance to return itself to the pool), a new thread is created for every RPC that comes in while the other thread is preempted. To make it even worse, the same could happen to the new threads, if the sheduling is unlucky enough.

My suspicion is that such a scenario is likely enough to lead to many hundred threads created at once. However, I don't think it is a likely scenario once you have, say, a 1000 threads. So this does not really explain things. But if the scenario above happens, it should be easy to guard against this by throtteling the creation of threads a wee bit, to give pending threads a chance to run and return themselve (assuming they are just a foot away from the goal).

Next time I have a chance, I will set a limit to the number of threads created, and let gdb suspend the filesystem at that limit. Then I will see what all these threads think they are doing. Suspending the task at exactly the point where the thread is created is the only way to find out (because later of course you have 3500 idle threads :) If you have any idea about this up front, I'd be happy to hear it.

Ronald McGrath commented that " The thread explosion is a known issue with the kernel's use of the external pager. Thomas can explain it in more detail." The thread ended there, with no further comments.

9. An overflow error in OSKit

30 Mar 2002 - 7 Apr 2002 (8 posts) Archive Link: "OSKit bug in partition checker"

Summary By Simon Law

People: Jon ArneyJeff BaileyMarcus Brinkmann

Jon Arney posted a patch to the list for OSKit saying:

This probably belongs on bug-oskit or something instead of here, but I just thought I'd point out a problem I found in the oskit St. Patrick's day release (and prior releases) dealing with the partition table reading. It manifested itself when I began trying to use oskit-mach instead of gnumach.

The following (one line) patch fixes the problem and I can boot the Hurd with oskit-mach and see all my partitions.

Marcus Brinkmann thanked Jon for squashing the bug, and Jeff Bailey reported that it fixed his booting problem too. Jeff discussed the issue with Ed Boraas (the Debian oskit maintainer) who accepted the patch.

10. glibc patches

4 Apr 2002 - 5 Apr 2002 (3 posts) Archive Link: "Reminder of some patches"

Summary By Simon Law

People: Roland McGrathOgnyan Kulev

Ognyan Kulev wondered whether Rolan McGrath had applied any of his patches to glibc. Roland replied that he had merged the chdir patch, but questioned the hurdmalloc patch, "Did this address an actual problem or did you just want to clean it up?" Ognyan said that since it was an internal function, the change was purely cosmetic. Roland will leave the hurdmalloc patch unmerged, because he is going to re-write that code in libc-2.3.







Sharon And Joy

Kernel Traffic is grateful to be developed on a computer donated by Professor Greg Benson and Professor Allan Cruse in the Department of Computer Science at the University of San Francisco. This is the same department that invented FlashMob Computing. Kernel Traffic is hosted by the generous folks at All pages on this site are copyright their original authors, and distributed under the terms of the GNU General Public License version 2.0.