BUGS revision 52894
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 12052894SobrienThe plock() function appears to fail with ENOMEM (Not Enough Space). When 12152894Sobrienit fails, it consumes a lot of memory. This appears to be an AIX bug. I 12252894Sobrienthink plock returns an error code, but it partially succeeds to lock some 12352894Sobrienpages, thus increasing memory consumption. When partial failures occur, it 12452894Sobrienis possible that AIX fails to unlock those pages it did lock. Solution: 12552894Sobrienturn off usage of plock on AIX. Put plock=no in your amd.conf file (which 12652894Sobrienis the default if you do nothing). 12752894Sobrien 12852894SobrienErez. 129