Hurd Traffic #102 For 6 Aug 2001

By Paul Emsley

Mach 4 (http://www.cs.utah.edu/projects/flux/mach4/html/) | Hurd Servers (http://www.gnu.org/software/hurd/hurd.html) | Debian Hurd Home (http://www.gnu.org/software/hurd/debian-gnu-hurd.html) | Debian Hurd FAQ (http://www.debian.org/ports/hurd/hurd-faq) | debian-hurd List Archives (http://lists.debian.org/#debian-hurd) | bug-hurd List Archives (http://mail.gnu.org/pipermail/bug-hurd/) | help-hurd List Archive (http://mail.gnu.org/pipermail/help-hurd/) | Hurd Reference Manual (http://www.gnu.org/software/hurd/reference-manual.html) | Hurd Installation Guide (http://pick.sel.cam.ac.uk/~mcv21/hurd.html) | Cross-Compiling GNUMach (http://pages.hotbot.com/sf/igorkh/gnumach-cross.txt) | Hurd Hardware Compatibility Guide (http://www.urbanophile.com/arenn/hacking/hurd/hurd-hardware.html)

Table Of Contents

 

1. Supporting EEpro100
22 Jul 2001 - 29 Jul 2001 (6 posts) Archive Link: "EEpro100 ID2499"
People: Kapil ParanjapeIgor KhavkineDouglas Hilton

Kapil Paranjape wanted to know if "anyone had patched gnumach to work with the eepro100 82562EM" .

Igor Khavkine replied: "you'll have to compile gnumach for yourself. Most network card drivers in linux are contained in one file. So just take that file for eepro100 82562EM from linux-2.2.19, and replace the one in gnumach's source with that version. Then recompile. "

Douglas Hilton suggested ../configure --host=i386-pc-gnu --enable-floppy --enable-ide --enable-eexpresspro100

Kapil wrote back saying that he managed to get it working with a few tweaks and the addition of extra include files.

 

2. Mozilla Thoughts
23 Jul 2001 - 3 Aug 2001 (12 posts) Archive Link: "Xbill"
People: Dios Del Tiempo

Dios Del Tiempo posted: "I decided to port xbill; I think it will be an easy package and I enjoy very much smashing the littles Bill Gates in the game."

However, conversation soon turned to Mozilla. UCHIYAMA Yasushi had ported it in 1998, but there may well be new issues. In the mozilla FAQ (http://mozilla.org/docs/mozilla-faq.html) "Hurd .03" is listed as having had a successful build. Perhaps they mean GNU/Hurd 0.2(+)/0.3-pre (there is not a good name for what we have now), which is what up-to-date folks are running.

There was nothing more than chat happening now, but looks like something substantial may happen shortly.

 

3. Sorting Packages For The CDs
27 Jul 2001 - 31 Jul 2001 (10 posts) Archive Link: "CD policy needed."
People: Philip Charles

Philip Charles had some indecision about which CD he should place certain packages: "An ftp search shows 100 sites mirroring hurd-F2-Main, but only one mirroring hurd-F2-extra. Such a search misses a number of sites, but it does show that we need to be careful about the first CD's contents as mirrors may be reluctant to offer more than one image. A full set of Hurd binaries would take up 1640 MB of CD, ie three images. "

The difficulty is to decide what is most important/popular. The package "popularity-contest" was suggested, but Phil was not sure that the GNU/Hurd user-base was large enough. Avery Pennarun contributed some thoughts about the lack of GNU/Hurd popcon votes.

 

4. (More) PPP Progress
28 Jul 2001 - 30 Jul 2001 (6 posts) Archive Link: "[ppp] New Release: 20010729"
People: Neil WalfieldDaniel BaumannNeal Walfield

Neil Walfield has been working on ppp again:

I am very pleased to announce a new snapshot (20010729) of ppp for GNU/Hurd. It is available in the usual spot:

I am now confident in its use over a serial line (i.e. we can successfully negotiate and, given enough time (or two Hurds), we easily provoke bugs in _hurd_select). In order to test actually dialing in, I will need to finish the port to Linux (including fixing the tunnel driver). Or, someone else can debug it for me.

Daniel Baumann tried it and said "it has dialed in and setup the interface. The only problem is in accessing the outside world, it is a no go."

Later, Daniel said "[After I set] the gateway address by hand doing fsysopts /servers/socket/2 -g x.x.x.x I am able to access the outsideworld with ppp. Only problem is that it hangs a lot, especially when doing a large transfer."

Neal said that he too had seen this hanging behaviour: "I think that the problem is that ppp pushes select harder than any other application in the Hurd. Which is to say: this is now a Hurd problem and not a ppp problem. I found that hitting enter on the ppp command prompt sometimes woke the program up. "

 

5. FILE's _fileno
30 Jul 2001 - 2 Aug 2001 (6 posts) Archive Link: "FILE struct and _fileno"
Topics: POSIX
People: James MorrisonIgor KhavkineJakob Kaivo

James Morrison said "I came across two programs that wouldn't compile because of the symbol _fileno not being defined in the FILE struct. However, one of these programs explictly checked for glibc. "

Igor Khavkine replied: "POSIX defines FILE as an opaque structure, so programs can expect to access elements inside this structure without breaking. I suggest you replace all uses of F->_fileno by fileno(F). "

Elsewhere (under the topic: zmailer and _fileno () ) James found found an unorthodox usage of _fileno. Jakob Kaivo suggested that he fix it thusly:

FILE *f;
f = fdopen (ioop->fd, "mode");
 

replacing "mode" with the standard fopen "mode" semantics. The fdopen(3) call is defined in POSIX.1, so reasonable systems since 1988(!) should support it quite well by now.

 

6. GRUBbing Up CDs
31 Jul 2001 - 2 Aug 2001 (10 posts) Archive Link: "GRUB on CD"
Topics: Bootloaders
People: Marcus BrinkmannThierry LarondeNeal WalfieldNeil Walfield

Thierry Laronde wanted to add to GRUB the ability to boot from the El Torito image for CD installs. Marcus Brinkmann suggested " we would like GRUB to be able to parse a boot script akin servers.boot and do some basic pattern substitution on it, so we can scrap serverboot. "

Thierry said "I will first ensure that GRUB is usefull on CDs --- so that everybody can use GRUB in place of syslinux or others. " Neil Walfield liked this: "we can then load gnumachs and serverboots from the cdrom and not just the floppy image on the cdrom. "

 

7. rusage And wait3
31 Jul 2001 (6 posts) Archive Link: "Problem with time package, struct rusage and wait3"
Topics: POSIX
People: Thomas PoindessousIgor Khavkine

Thomas Poindessous found a problem with time: "The package didn't build because during the configure phase, it tried to test if wait3 fills correctly the rusage struct. Under the Hurd, it doesn't. "

Roland said that sysdeps/unix/bsd/bsd4.4/wait3.c is used to implement wait3.

Igor Khavkine chipped in with:

Now, after investigating the situation a bit more. In the Hurd, wait3() calls wait4() which makes an RPC call to proc, which does the waiting in S_proc_wait() and does not store any information in rusage. The Hurd implementation of getrusage() supports the RUSAGE_SELF but not the RUSAGE_CHILDREN. That's because as child processes are terminated their resource usage statistics are not recorded.

POSIX only requires two fields of rusage to be filled, ru_utime and ru_stime. The only way to add the necessary functionality to waitX() and getrusage() is to augment the `proc' structure defined in the proc server to contain statistical info. So every time a child process terminates this info is updated. While, we are at it, are there any other statistics we want to collect from terminating children?

Some suggestions. Besides the user-time and system-time, we can also get the scheduling priority, the virtual and resident sizes of the task's memory space, and it's suspend count.

 

8. GNU/Hurd At DebianPlanet
31 Jul 2001 (2 posts) Archive Link: "[PRESS] GNU/Hurd poll on debianplanet.org"
People: Ognyan Kulev

Ognyan Kulev let us know there is a GNU/Hurd poll running at debianplanet.org (http://debianplanet.org) and there have been other interesting GNU/Hurd articles recently.

 

9. Too Much Memory Causes Boot Failure?
1 Aug 2001 - 2 Aug 2001 (5 posts) Archive Link: "Installed 1gb ram and hurd stopped to boot"
People: Andrea LeofreddiNeal Walfield

Andrea Leofreddi wrote in saying: "I've got a pc with gnu/hurd installed and working, with 128mb of ram. Some days ago I installed 1gb of ram on my home computer, then I tried to boot GNU/Hurd but it just hung at the boot process (no error messages, nothing). GNU/Linux just starts and has no problem, so it's not a hardware problem... "

Sylvain Dusart said that he has similar problem when he upgraded from 384 Mb to 768 Mb. The error message that he saw was:

 
AT386 boot : physical memory from 0x0 to 0x2ffec000
panic : linux_init : alloc_contig_mem failed

However, Neal Walfield said that he did not have problems with 640Mb.

There is no resolution so far...

 

10. Cross-compiling GNUMach
3 Aug 2001 (6 posts) Archive Link: "gnumach crosscompile"
People: Igor KhavkineOgnyan Kulev

In reply to the question about how to cross-compile gnumach, Igor Khavkine said " you will need the i386-gnu-{gcc,mig} packages and hurd installation mounted preferably on /gnu. This comes up quite often on the mailing list. " Ognyan Kulev suggested he look here (http://mail.gnu.org/pipermail/help-hurd/2001-April/004550.html) .

 

11. (Old) Linux Tulip Driver Causes Clobberation
23 Jul 2001 - 30 Jul 2001 (11 posts) Archive Link: "oskit-mach bug, panic in consider_lmm_collect()"
People: Igor KhavkineRoland McGrath

Igor Khavkine said "I've been keeping my hurdbox under gdb surveillance and I caught this panic in consider_lmm_collect(). I was scripting the gdb session so I gathered some information." Igor included some debugging information. Roland McGrath suggested that he set a breakpoint in the lmm code since "the lmm datastructures must be messed up somehow."

Igor replied to this: "it seems that in one of the `regions' of `malloc_lmm', the sum of all `size' fields of all nodes on the list does not add up to `free' as marked in the region structure. "

To this Roland said: "Sounds like clobberation to me. "

Igor said: "Yup it was. Ironically it was from the Linux tulip driver that I replaced in the oskit source tree. I'm not sure if that bug persists in Linux as well. The code was trying to align an allocated block of memory on quadword boundary, but then the end of the block was going over the end of the allocated region, clobbering one of the free memory lists. "

When Igor tried to submit this bug upstream, he said: "Turns out the upstream maintainer of the tulip driver is very efficient. The official version of the driver already contains a fix for this bug. It can be found at ftp://ftp.scyld.com/pub/network/tulip.c . The last modification date is quite recent. So the next patchlevel release of Linux should pick up the new version of the driver. And the next release of OSKit will get it from there. "

Marcus wanted the gnumach version patched too, but there were apparently no testers.

As to the general problem of oskit keeping up with Linux, Roland said "the oskit does not track Linux releases at all frequently. It's not too likely to get any wholesale update until some volunteer like me or you takes it on. "

 

 

 

 

 

 

We Hope You Enjoy Hurd Traffic
 

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 kernel.org. All pages on this site are copyright their original authors, and distributed under the terms of the GNU General Public License, version 2.0.