BUGS revision 51292
175831Sasmodai# -*- text -*- 275782Sasmodai 312099Sjoerg LIST OF KNOWN BUGS IN AM-UTILS OR OPERATING SYSTEMS 412099Sjoerg 512099Sjoerg 612099Sjoerg(1) mips-sgi-irix* 791592Smarkm 8139103Sru[1A] known to have flakey NFS V.3 and TCP. Amd tends to hang or spin 912099Sjoerginfinitely after a few hours or days of use. Users must install recommended 1012099Sjoergpatches from vendor. Patches help, but not all the time. Otherwise avoid 1112099Sjoergusing NFS V.3 and TCP on these systems, by setting 1212099Sjoerg 1312099Sjoerg /defaults opts:=vers=2,proto=udp 1412099Sjoerg 15[1B] yp_all() leaks a file descriptor. Eventually amd runs out of file 16descriptors and hangs. Am-utils circumvents this by using its own version 17of yp_all which uses udp and iterats over NIS maps. The latter isn't as 18reliable as yp_all() which uses TCP, but it is better than hanging. 19 20 21(2) alpha-unknown-linux-gnu (RedHat Linux 4.2) 22 23hasmntopt(mnt, opt) can goes into an infinite loop if opt is any substring 24of mnt->mnt_opts. Redhat 5.0 does not have this libc bug. Here is an 25example program: 26 27#include <stdio.h> 28#include <mntent.h> 29main() 30{ 31 struct mntent mnt; 32 char *cp; 33 mnt.mnt_opts = "intr,rw,port=1023,timeo=8,foo=br,retrans=110,indirect,map=/usr/local/AMD/etc/amd.proj,boo"; 34 cp = hasmntopt(&mnt, "ro"); 35 printf("cp = %s\n", cp); 36 exit(0); 37} 38 39It is possible that sufficiently newer version of libc for RH4.2 fix this 40problem. 41 42 43(3) mips-dec-ultrix4.3 44 45Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> reports 46 47[3A] One needs the Kernel Config Files (UDTBIN430) subset installed to 48compile am-utils, otherwise essential header files (net/if.h, net/route.h, 49rpcsvc/mount.h, rpcsvc/yp_prot.h, rpcsvc/ypclnt.h, sys/proc.h) are 50missing. 51 52[3B] It's probably impossible to build am-utils with DEC C on Ultrix V4.3. 53This compiler is pseudo-ANSI only. Maybe the new ANSI C compiler in V4.3A 54and beyond will do. I successfully used gcc 2.8.1. 55 56[3C] You need to build against a recent libhesiod (I used 3.0.2) and 57libresolv/lib44bsd (I used BIND 4.9.5-P1). The resolver routines in 58libc seem to cause random memory corruption. It is necessary to specify 59LIBS=-l44bsd. lib44bsd is a helper library of libresolv used to supply 60functions like strdup which are missing on the host system. This isn't 61currently autoconfiscated. 62 63[3D] You need to configure with CONFIG_SHELL=/bin/sh5 /bin/sh5 buildall; 64/bin/sh cannot handle the shell functions used in buildall and is both 65buggy and slow. 66 67[3E] At least the gcc 2.7.0 fixincludes-mangled <sys/utsname.h> needs a 68forward declaration of struct utsname to avoid lots of gcc warnings: 69 70RCS file: RCS/utsname.h,v 71retrieving revision 1.1 72diff -u -r1.1 utsname.h 73--- utsname.h 1995/06/19 13:07:01 1.1 74+++ utsname.h 1998/01/27 12:34:26 75@@ -59,6 +59,7 @@ 76 #ifdef KERNEL 77 #include "../h/limits.h" 78 #else /* user mode */ 79+struct utsname; 80 extern int uname _PARAMS((struct utsname *)); 81 #endif 82 #define __SYS_NMLN 32 83 84 85(4) powerpc-ibm-aix4.2.1.0 86 87[4A] "Randall S. Winchester" <rsw@Glue.umd.edu> reports that for amd to 88start, you need to kill and restart rpc.mountd and possibly also make sure 89that nfsd is running. Normally these are not required. 90 91[4B] "Stefan Vogel" <vogel@physik.unizh.ch> reports that if your amq 92executable dump core unexpectedly, then it may be a bug in gcc 2.7.x. 93Upgrade to gcc 2.8.x or use IBM's xlC compiler. 94 95[C] Do not link amd with libnsl. It is buggy and causes amd to core dump 96in strlen inside strdup inside svc_register(). 97 98 99(5) *-linux-gnu (RedHat Linux 5.1) 100 101There's a UDP file descriptor leak in libnsl in RedHat Linux 5.1. This 102library part of glibc2. Am-utils currently declares redhat 5.1 systems as 103having a "broken yp_all" and using an internal, slower, leak-free version. 104The leak is known to the glibc maintainers and a fix from them is due soon, 105but it is not yet in the glibc-2.0.7-19 RPM. 106 107 108(6) rs6000-ibm-aix4.1.x 109 110A bug in libc results in an amq binary that doesn't work; amq -v dumps core 111in xdr_string. There is no known fix (source code or vendor patch) at this 112time. (Please let amd-dev know if you know of a fix.) 113