BUGS revision 82794
138494Sobrien# -*- text -*-
238494Sobrien
338494Sobrien	    LIST OF KNOWN BUGS IN AM-UTILS OR OPERATING SYSTEMS
438494Sobrien
538494Sobrien
638494Sobrien(1) mips-sgi-irix*
738494Sobrien
852894Sobrien[1A] known to have flaky NFS V.3 and TCP.  Amd tends to hang or spin
938494Sobrieninfinitely after a few hours or days of use.  Users must install recommended
1038494Sobrienpatches from vendor.  Patches help, but not all the time.  Otherwise avoid
1138494Sobrienusing NFS V.3 and TCP on these systems, by setting
1238494Sobrien
1338494Sobrien	/defaults opts:=vers=2,proto=udp
1438494Sobrien
1538494Sobrien[1B] yp_all() leaks a file descriptor.  Eventually amd runs out of file
1638494Sobriendescriptors and hangs.  Am-utils circumvents this by using its own version
1752894Sobrienof yp_all which uses udp and iterates over NIS maps.  The latter isn't as
1838494Sobrienreliable as yp_all() which uses TCP, but it is better than hanging.
1938494Sobrien
2051591Sobrien(I have some reports that older version of hpux-9, with older libc, also
2151591Sobrienleak file descriptors.)
2238494Sobrien
2351591Sobrien
2438494Sobrien(2) alpha-unknown-linux-gnu (RedHat Linux 4.2)
2538494Sobrien
2638494Sobrienhasmntopt(mnt, opt) can goes into an infinite loop if opt is any substring
2738494Sobrienof mnt->mnt_opts.  Redhat 5.0 does not have this libc bug.  Here is an
2838494Sobrienexample program:
2938494Sobrien
3038494Sobrien#include <stdio.h>
3138494Sobrien#include <mntent.h>
3238494Sobrienmain()
3338494Sobrien{
3438494Sobrien  struct mntent mnt;
3538494Sobrien  char *cp;
3638494Sobrien  mnt.mnt_opts = "intr,rw,port=1023,timeo=8,foo=br,retrans=110,indirect,map=/usr/local/AMD/etc/amd.proj,boo";
3738494Sobrien  cp = hasmntopt(&mnt, "ro");
3838494Sobrien  printf("cp = %s\n", cp);
3938494Sobrien  exit(0);
4038494Sobrien}
4138494Sobrien
4251292SobrienIt is possible that sufficiently newer version of libc for RH4.2 fix this
4351292Sobrienproblem.
4438494Sobrien
4551292Sobrien
4638494Sobrien(3) mips-dec-ultrix4.3
4738494Sobrien
4838494SobrienRainer Orth <ro@TechFak.Uni-Bielefeld.DE> reports
4938494Sobrien
5051292Sobrien[3A] One needs the Kernel Config Files (UDTBIN430) subset installed to
5151292Sobriencompile am-utils, otherwise essential header files (net/if.h, net/route.h,
5251292Sobrienrpcsvc/mount.h, rpcsvc/yp_prot.h, rpcsvc/ypclnt.h, sys/proc.h) are
5351292Sobrienmissing.
5451292Sobrien
5551292Sobrien[3B] It's probably impossible to build am-utils with DEC C on Ultrix V4.3.
5651292SobrienThis compiler is pseudo-ANSI only.  Maybe the new ANSI C compiler in V4.3A
5751292Sobrienand beyond will do.  I successfully used gcc 2.8.1.
5851292Sobrien
5951292Sobrien[3C] You need to build against a recent libhesiod (I used 3.0.2) and
6051292Sobrienlibresolv/lib44bsd (I used BIND 4.9.5-P1).  The resolver routines in
6151292Sobrienlibc seem to cause random memory corruption.  It is necessary to specify
6251292SobrienLIBS=-l44bsd.  lib44bsd is a helper library of libresolv used to supply
6351292Sobrienfunctions like strdup which are missing on the host system.  This isn't
6451292Sobriencurrently autoconfiscated.
6551292Sobrien
6651292Sobrien[3D] You need to configure with CONFIG_SHELL=/bin/sh5 /bin/sh5 buildall;
6751292Sobrien/bin/sh cannot handle the shell functions used in buildall and is both
6851292Sobrienbuggy and slow.
6951292Sobrien
7051292Sobrien[3E] At least the gcc 2.7.0 fixincludes-mangled <sys/utsname.h> needs a
7138494Sobrienforward declaration of struct utsname to avoid lots of gcc warnings:
7238494Sobrien
7338494SobrienRCS file: RCS/utsname.h,v
7438494Sobrienretrieving revision 1.1
7538494Sobriendiff -u -r1.1 utsname.h
7638494Sobrien--- utsname.h   1995/06/19 13:07:01     1.1
7738494Sobrien+++ utsname.h   1998/01/27 12:34:26
7838494Sobrien@@ -59,6 +59,7 @@
7938494Sobrien #ifdef KERNEL
8038494Sobrien #include "../h/limits.h"
8138494Sobrien #else /* user mode */
8238494Sobrien+struct utsname;
8338494Sobrien extern int     uname _PARAMS((struct utsname *));
8438494Sobrien #endif
8538494Sobrien #define __SYS_NMLN 32
8638494Sobrien
8738494Sobrien
8838494Sobrien(4) powerpc-ibm-aix4.2.1.0
8938494Sobrien
9038494Sobrien[4A] "Randall S. Winchester" <rsw@Glue.umd.edu> reports that for amd to
9138494Sobrienstart, you need to kill and restart rpc.mountd and possibly also make sure
9238494Sobrienthat nfsd is running.  Normally these are not required.
9338494Sobrien
9438494Sobrien[4B] "Stefan Vogel" <vogel@physik.unizh.ch> reports that if your amq
9538494Sobrienexecutable dump core unexpectedly, then it may be a bug in gcc 2.7.x.
9638494SobrienUpgrade to gcc 2.8.x or use IBM's xlC compiler.
9741142Sobrien
9842629Sobrien[C] Do not link amd with libnsl.  It is buggy and causes amd to core dump
9942629Sobrienin strlen inside strdup inside svc_register().
10041142Sobrien
10142629Sobrien
10241142Sobrien(5) *-linux-gnu (RedHat Linux 5.1)
10341142Sobrien
10441142SobrienThere's a UDP file descriptor leak in libnsl in RedHat Linux 5.1.  This
10541142Sobrienlibrary part of glibc2.  Am-utils currently declares redhat 5.1 systems as
10641142Sobrienhaving a "broken yp_all" and using an internal, slower, leak-free version.
10741142SobrienThe leak is known to the glibc maintainers and a fix from them is due soon,
10841142Sobrienbut it is not yet in the glibc-2.0.7-19 RPM.
10941142Sobrien
11041142Sobrien
11141142Sobrien(6) rs6000-ibm-aix4.1.x
11241142Sobrien
11341142SobrienA bug in libc results in an amq binary that doesn't work; amq -v dumps core
11441142Sobrienin xdr_string.  There is no known fix (source code or vendor patch) at this
11541142Sobrientime.  (Please let amd-dev know if you know of a fix.)
11652894Sobrien
11752894Sobrien
11852894Sobrien(7) *-aix4.3.2.0
11952894Sobrien
12082794SobrienThe plock() function will pre-reserve all of the memory up to the maximum
12182794Sobrienlisted in the ulimit.  If the ulimit is infinite, plock() will try to take
12282794Sobrienall of the system's memory, and fail with ENOMEM (Not Enough Space).
12382794SobrienNormally ulimit may be set to a few gigs of max memory usage, but even that
12482794Sobrienis too much; Amd doesn't need more than a few megs of resident memory size
12582794Sobrien(depending on the particular usage, number of maps, etc.)  Solution: lower
12682794Sobrienyour ulimit before starting amd.  This can be done inside the ctl-amd
12782794Sobrienscript, but be careful not to limit it too low.  Alternatively, don't use
12882794Sobrienplock on aix-4.3: set it to plock=no in amd.conf (which is the default if
12982794Sobrienyou do nothing).
13052894Sobrien
13182794Sobrien
13282794Sobrien(8) *-linux-gnu (systems using glibc 2.1, such as RedHat-6.1)
13382794Sobrien
13482794SobrienThere's a UDP file descriptor leak in the nis routines in glibc, especially
13582794Sobrienthose that do yp_bind.  Until this is bug fixed, do not set nis_domain in
13682794Sobrienamd.conf, but let the system pick up the default domain name as set by your
13782794Sobriensystem.  That would avoid using the buggy yp_bind routines in libc.
13882794Sobrien
13982794Sobrien
14082794Sobrien(9) *-linux-gnu (SuSE systems using unfsd)
14182794Sobrien
14282794SobrienThe user-level nfsd (2.2beta44) on SuSE Linux systems (and possibly others)
14382794Sobriendies with a SEGV when amd tries to contact it for access to a volume that
14482794Sobriendoes not exist, or one for which there is no permission to mount.
14582794Sobrien
14682794Sobrien
14782794Sobrien(10) *-*-hpux11
14882794Sobrien
14982794SobrienIf you're using NFSv3, you must install HP patches PHNE_20344 and
15082794SobrienPHNE_20371.  If you don't, and you try to use amd with NFSv3 over TCP, your
15182794Sobrienkernel will panic.
15282794Sobrien
15382794Sobrien(11) *-linux* (any system using a 2.2.18+ kernel)
15482794Sobrien
15582794SobrienThe Linux kernels don't support Amd's direct mounts very well, leading to
15682794Sobrienerratic behavior: shares that don't get remounted after the first timeout,
15782794Sobrieninability to restart Amd because its mount points cannot be unmounted,
15882794Sobrienetc. There are some kernel patches on the am-utils Web site, which solve
15982794Sobrienthese problems.
16082794Sobrien
16182794Sobrien
16252894SobrienErez.
163