1998-08-23 22:07:21 +00:00
|
|
|
# -*- text -*-
|
|
|
|
|
|
|
|
LIST OF KNOWN BUGS IN AM-UTILS OR OPERATING SYSTEMS
|
|
|
|
|
|
|
|
|
|
|
|
(1) mips-sgi-irix*
|
|
|
|
|
1999-11-05 11:42:30 +00:00
|
|
|
[1A] known to have flaky NFS V.3 and TCP. Amd tends to hang or spin
|
1998-08-23 22:07:21 +00:00
|
|
|
infinitely after a few hours or days of use. Users must install recommended
|
|
|
|
patches from vendor. Patches help, but not all the time. Otherwise avoid
|
|
|
|
using NFS V.3 and TCP on these systems, by setting
|
|
|
|
|
|
|
|
/defaults opts:=vers=2,proto=udp
|
|
|
|
|
|
|
|
[1B] yp_all() leaks a file descriptor. Eventually amd runs out of file
|
|
|
|
descriptors and hangs. Am-utils circumvents this by using its own version
|
1999-11-05 11:42:30 +00:00
|
|
|
of yp_all which uses udp and iterates over NIS maps. The latter isn't as
|
1998-08-23 22:07:21 +00:00
|
|
|
reliable as yp_all() which uses TCP, but it is better than hanging.
|
|
|
|
|
1999-09-23 05:15:28 +00:00
|
|
|
(I have some reports that older version of hpux-9, with older libc, also
|
|
|
|
leak file descriptors.)
|
|
|
|
|
1998-08-23 22:07:21 +00:00
|
|
|
|
|
|
|
(2) alpha-unknown-linux-gnu (RedHat Linux 4.2)
|
|
|
|
|
|
|
|
hasmntopt(mnt, opt) can goes into an infinite loop if opt is any substring
|
|
|
|
of mnt->mnt_opts. Redhat 5.0 does not have this libc bug. Here is an
|
|
|
|
example program:
|
|
|
|
|
|
|
|
#include <stdio.h>
|
|
|
|
#include <mntent.h>
|
|
|
|
main()
|
|
|
|
{
|
|
|
|
struct mntent mnt;
|
|
|
|
char *cp;
|
|
|
|
mnt.mnt_opts = "intr,rw,port=1023,timeo=8,foo=br,retrans=110,indirect,map=/usr/local/AMD/etc/amd.proj,boo";
|
|
|
|
cp = hasmntopt(&mnt, "ro");
|
|
|
|
printf("cp = %s\n", cp);
|
|
|
|
exit(0);
|
|
|
|
}
|
|
|
|
|
1999-09-15 02:50:52 +00:00
|
|
|
It is possible that sufficiently newer version of libc for RH4.2 fix this
|
|
|
|
problem.
|
|
|
|
|
1998-08-23 22:07:21 +00:00
|
|
|
|
|
|
|
(3) mips-dec-ultrix4.3
|
|
|
|
|
|
|
|
Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> reports
|
|
|
|
|
1999-09-15 02:50:52 +00:00
|
|
|
[3A] One needs the Kernel Config Files (UDTBIN430) subset installed to
|
|
|
|
compile am-utils, otherwise essential header files (net/if.h, net/route.h,
|
|
|
|
rpcsvc/mount.h, rpcsvc/yp_prot.h, rpcsvc/ypclnt.h, sys/proc.h) are
|
|
|
|
missing.
|
|
|
|
|
|
|
|
[3B] It's probably impossible to build am-utils with DEC C on Ultrix V4.3.
|
|
|
|
This compiler is pseudo-ANSI only. Maybe the new ANSI C compiler in V4.3A
|
|
|
|
and beyond will do. I successfully used gcc 2.8.1.
|
|
|
|
|
|
|
|
[3C] You need to build against a recent libhesiod (I used 3.0.2) and
|
|
|
|
libresolv/lib44bsd (I used BIND 4.9.5-P1). The resolver routines in
|
|
|
|
libc seem to cause random memory corruption. It is necessary to specify
|
|
|
|
LIBS=-l44bsd. lib44bsd is a helper library of libresolv used to supply
|
|
|
|
functions like strdup which are missing on the host system. This isn't
|
|
|
|
currently autoconfiscated.
|
|
|
|
|
|
|
|
[3D] You need to configure with CONFIG_SHELL=/bin/sh5 /bin/sh5 buildall;
|
|
|
|
/bin/sh cannot handle the shell functions used in buildall and is both
|
|
|
|
buggy and slow.
|
|
|
|
|
|
|
|
[3E] At least the gcc 2.7.0 fixincludes-mangled <sys/utsname.h> needs a
|
1998-08-23 22:07:21 +00:00
|
|
|
forward declaration of struct utsname to avoid lots of gcc warnings:
|
|
|
|
|
|
|
|
RCS file: RCS/utsname.h,v
|
|
|
|
retrieving revision 1.1
|
|
|
|
diff -u -r1.1 utsname.h
|
|
|
|
--- utsname.h 1995/06/19 13:07:01 1.1
|
|
|
|
+++ utsname.h 1998/01/27 12:34:26
|
|
|
|
@@ -59,6 +59,7 @@
|
|
|
|
#ifdef KERNEL
|
|
|
|
#include "../h/limits.h"
|
|
|
|
#else /* user mode */
|
|
|
|
+struct utsname;
|
|
|
|
extern int uname _PARAMS((struct utsname *));
|
|
|
|
#endif
|
|
|
|
#define __SYS_NMLN 32
|
|
|
|
|
|
|
|
|
|
|
|
(4) powerpc-ibm-aix4.2.1.0
|
|
|
|
|
|
|
|
[4A] "Randall S. Winchester" <rsw@Glue.umd.edu> reports that for amd to
|
|
|
|
start, you need to kill and restart rpc.mountd and possibly also make sure
|
|
|
|
that nfsd is running. Normally these are not required.
|
|
|
|
|
|
|
|
[4B] "Stefan Vogel" <vogel@physik.unizh.ch> reports that if your amq
|
|
|
|
executable dump core unexpectedly, then it may be a bug in gcc 2.7.x.
|
|
|
|
Upgrade to gcc 2.8.x or use IBM's xlC compiler.
|
1998-11-14 03:11:37 +00:00
|
|
|
|
1999-01-13 19:23:16 +00:00
|
|
|
[C] Do not link amd with libnsl. It is buggy and causes amd to core dump
|
|
|
|
in strlen inside strdup inside svc_register().
|
|
|
|
|
1998-11-14 03:11:37 +00:00
|
|
|
|
|
|
|
(5) *-linux-gnu (RedHat Linux 5.1)
|
|
|
|
|
|
|
|
There's a UDP file descriptor leak in libnsl in RedHat Linux 5.1. This
|
|
|
|
library part of glibc2. Am-utils currently declares redhat 5.1 systems as
|
|
|
|
having a "broken yp_all" and using an internal, slower, leak-free version.
|
|
|
|
The leak is known to the glibc maintainers and a fix from them is due soon,
|
|
|
|
but it is not yet in the glibc-2.0.7-19 RPM.
|
|
|
|
|
|
|
|
|
|
|
|
(6) rs6000-ibm-aix4.1.x
|
|
|
|
|
|
|
|
A bug in libc results in an amq binary that doesn't work; amq -v dumps core
|
|
|
|
in xdr_string. There is no known fix (source code or vendor patch) at this
|
|
|
|
time. (Please let amd-dev know if you know of a fix.)
|
1999-11-05 11:42:30 +00:00
|
|
|
|
|
|
|
|
|
|
|
(7) *-aix4.3.2.0
|
|
|
|
|
|
|
|
The plock() function appears to fail with ENOMEM (Not Enough Space). When
|
|
|
|
it fails, it consumes a lot of memory. This appears to be an AIX bug. I
|
|
|
|
think plock returns an error code, but it partially succeeds to lock some
|
|
|
|
pages, thus increasing memory consumption. When partial failures occur, it
|
|
|
|
is possible that AIX fails to unlock those pages it did lock. Solution:
|
|
|
|
turn off usage of plock on AIX. Put plock=no in your amd.conf file (which
|
|
|
|
is the default if you do nothing).
|
|
|
|
|
|
|
|
Erez.
|