BUGS (82794) | BUGS (119679) |
---|---|
1# -*- text -*- 2 | |
3 LIST OF KNOWN BUGS IN AM-UTILS OR OPERATING SYSTEMS 4 5 6(1) mips-sgi-irix* 7 8[1A] known to have flaky NFS V.3 and TCP. Amd tends to hang or spin 9infinitely after a few hours or days of use. Users must install recommended 10patches from vendor. Patches help, but not all the time. Otherwise avoid --- 4 unchanged lines hidden (view full) --- 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 iterates over NIS maps. The latter isn't as 18reliable as yp_all() which uses TCP, but it is better than hanging. 19 20(I have some reports that older version of hpux-9, with older libc, also 21leak file descriptors.) 22 | 1 LIST OF KNOWN BUGS IN AM-UTILS OR OPERATING SYSTEMS 2 3 4(1) mips-sgi-irix* 5 6[1A] known to have flaky NFS V.3 and TCP. Amd tends to hang or spin 7infinitely after a few hours or days of use. Users must install recommended 8patches from vendor. Patches help, but not all the time. Otherwise avoid --- 4 unchanged lines hidden (view full) --- 13[1B] yp_all() leaks a file descriptor. Eventually amd runs out of file 14descriptors and hangs. Am-utils circumvents this by using its own version 15of yp_all which uses udp and iterates over NIS maps. The latter isn't as 16reliable as yp_all() which uses TCP, but it is better than hanging. 17 18(I have some reports that older version of hpux-9, with older libc, also 19leak file descriptors.) 20 |
21[1C] SGI's MIPSpro C compiler on IRIX 6 has the unfortunate habit of 22creating code specificially for the machine it runs on. The ABI and ISA 23used depend very much on the OS version and compiler release used. This 24means that the resulting amd binary won't run on machines different from 25the build host, particularly older ones. Older versions of am-utils 26enforced the O32 ABI when compiling with cc to work around this, but this 27ABI is deprecated in favor of the N32 ABI now, so we use -n32 -mips3 to 28ensure that the binaries run on every host capable of running IRIX 6 at 29all. If this is not appropriate for you, configure with something like 30CC='cc -64' instead to get the desired ABI and ISA. |
|
23 24(2) alpha-unknown-linux-gnu (RedHat Linux 4.2) 25 | 31 32(2) alpha-unknown-linux-gnu (RedHat Linux 4.2) 33 |
26hasmntopt(mnt, opt) can goes into an infinite loop if opt is any substring | 34hasmntopt(mnt, opt) can go into an infinite loop if opt is any substring |
27of mnt->mnt_opts. Redhat 5.0 does not have this libc bug. Here is an 28example program: 29 30#include <stdio.h> 31#include <mntent.h> 32main() 33{ 34 struct mntent mnt; --- 59 unchanged lines hidden (view full) --- 94[4B] "Stefan Vogel" <vogel@physik.unizh.ch> reports that if your amq 95executable dump core unexpectedly, then it may be a bug in gcc 2.7.x. 96Upgrade to gcc 2.8.x or use IBM's xlC compiler. 97 98[C] Do not link amd with libnsl. It is buggy and causes amd to core dump 99in strlen inside strdup inside svc_register(). 100 101 | 35of mnt->mnt_opts. Redhat 5.0 does not have this libc bug. Here is an 36example program: 37 38#include <stdio.h> 39#include <mntent.h> 40main() 41{ 42 struct mntent mnt; --- 59 unchanged lines hidden (view full) --- 102[4B] "Stefan Vogel" <vogel@physik.unizh.ch> reports that if your amq 103executable dump core unexpectedly, then it may be a bug in gcc 2.7.x. 104Upgrade to gcc 2.8.x or use IBM's xlC compiler. 105 106[C] Do not link amd with libnsl. It is buggy and causes amd to core dump 107in strlen inside strdup inside svc_register(). 108 109 |
102(5) *-linux-gnu (RedHat Linux 5.1) | 110(5) *-linux-rh51 (RedHat Linux 5.1) |
103 104There's a UDP file descriptor leak in libnsl in RedHat Linux 5.1. This 105library part of glibc2. Am-utils currently declares redhat 5.1 systems as 106having a "broken yp_all" and using an internal, slower, leak-free version. 107The leak is known to the glibc maintainers and a fix from them is due soon, 108but it is not yet in the glibc-2.0.7-19 RPM. 109 110 --- 13 unchanged lines hidden (view full) --- 124is too much; Amd doesn't need more than a few megs of resident memory size 125(depending on the particular usage, number of maps, etc.) Solution: lower 126your ulimit before starting amd. This can be done inside the ctl-amd 127script, but be careful not to limit it too low. Alternatively, don't use 128plock on aix-4.3: set it to plock=no in amd.conf (which is the default if 129you do nothing). 130 131 | 111 112There's a UDP file descriptor leak in libnsl in RedHat Linux 5.1. This 113library part of glibc2. Am-utils currently declares redhat 5.1 systems as 114having a "broken yp_all" and using an internal, slower, leak-free version. 115The leak is known to the glibc maintainers and a fix from them is due soon, 116but it is not yet in the glibc-2.0.7-19 RPM. 117 118 --- 13 unchanged lines hidden (view full) --- 132is too much; Amd doesn't need more than a few megs of resident memory size 133(depending on the particular usage, number of maps, etc.) Solution: lower 134your ulimit before starting amd. This can be done inside the ctl-amd 135script, but be careful not to limit it too low. Alternatively, don't use 136plock on aix-4.3: set it to plock=no in amd.conf (which is the default if 137you do nothing). 138 139 |
132(8) *-linux-gnu (systems using glibc 2.1, such as RedHat-6.1) | 140(8) *-linux (systems using glibc 2.1, such as RedHat-6.x) |
133 | 141 |
134There's a UDP file descriptor leak in the nis routines in glibc, especially | 142There's a UDP file descriptor leak in the NIS routines in glibc, especially |
135those that do yp_bind. Until this is bug fixed, do not set nis_domain in 136amd.conf, but let the system pick up the default domain name as set by your 137system. That would avoid using the buggy yp_bind routines in libc. 138 139 | 143those that do yp_bind. Until this is bug fixed, do not set nis_domain in 144amd.conf, but let the system pick up the default domain name as set by your 145system. That would avoid using the buggy yp_bind routines in libc. 146 147 |
140(9) *-linux-gnu (SuSE systems using unfsd) | 148(9) *-linux (SuSE systems using unfsd) |
141 | 149 |
142The user-level nfsd (2.2beta44) on SuSE Linux systems (and possibly others) 143dies with a SEGV when amd tries to contact it for access to a volume that 144does not exist, or one for which there is no permission to mount. | 150The user-level nfsd (2.2beta44) on older SuSE Linux systems (and possibly 151others) dies with a SEGV when amd tries to contact it for access to a volume 152that does not exist, or one for which there is no permission to mount. |
145 146 147(10) *-*-hpux11 148 149If you're using NFSv3, you must install HP patches PHNE_20344 and 150PHNE_20371. If you don't, and you try to use amd with NFSv3 over TCP, your 151kernel will panic. 152 | 153 154 155(10) *-*-hpux11 156 157If you're using NFSv3, you must install HP patches PHNE_20344 and 158PHNE_20371. If you don't, and you try to use amd with NFSv3 over TCP, your 159kernel will panic. 160 |
161 |
|
153(11) *-linux* (any system using a 2.2.18+ kernel) 154 155The Linux kernels don't support Amd's direct mounts very well, leading to 156erratic behavior: shares that don't get remounted after the first timeout, 157inability to restart Amd because its mount points cannot be unmounted, 158etc. There are some kernel patches on the am-utils Web site, which solve | 162(11) *-linux* (any system using a 2.2.18+ kernel) 163 164The Linux kernels don't support Amd's direct mounts very well, leading to 165erratic behavior: shares that don't get remounted after the first timeout, 166inability to restart Amd because its mount points cannot be unmounted, 167etc. There are some kernel patches on the am-utils Web site, which solve |
159these problems. | 168these problems. See http://www.am-utils.org/patches/. |
160 | 169 |
170UPDATE: kernels 2.4.10 and later completely disallow the direct mount hack, 171so direct mounts are simply not possible on those Linux kernels. |
|
161 | 172 |
162Erez. | 173(12) *-aix5.1.0.0 and *-hpux9* 174 175/bin/sh is broken and fails to run the configure script properly. You need 176to use /bin/ksh instead. The buildall script will do it for you; if for some 177reason you need to run configure directly, run it using 'ksh configure' 178instead of just 'configure'. 179 180[12A] *-aix5.1.* 181 182Apparently there is an NFS client side bug in vmount() which causes amd to 183hang when it starts (and tries to NFS-mount itself). According to IBM 184engineers, this has to do with partial support code for IPv6: the NFS kernel 185code doesn't appear to recognize the sin_family of the amd vmount(), 186although amd does the right thing. The bug appears to have been fixed in 187AIX 5.2. No known fix/patch is available for AIX 5.1 as of now (1/25/2003). 188 189(13) *-linux and *-darwin6.0 190 191Certain linux kernels (2.4.18+ are fine, 2.4.10- are probably bad, those in 192between have not been tested) have a bug which causes them to reconnect 193broken NFS/TCP connections using unprivileged ports (greater than 1024), 194unlike the initial connections which do originate from privileged 195ports. This can upset quite a few NFS servers and causes accesses to the 196mounted shares to fail with "Operation not permitted" (EPERM). 197 198The darwin (MacOS X) kernel defaults to using unprivileged ports, but that 199can be changed by setting the resvport mount flag (which amd sets by 200default). Nonetheless, if a TCP connection breaks, under certain unclear 201circumstances the kernel might "forget" about that flag and start using 202unprivileged ports, causing the same EPERM error above. 203 204 205Erez & Ion. 206 |