On 07/03/13 07:55, Dave Brolley wrote:
On 03/06/2013 03:09 PM, Dave Brolley wrote:
Actually, this is very helpful. The system has no IPv6 configuration.
This leads me to what I believe is the offending code. In
auxserver.c:OpenRequestPorts, when the listening address is
"INADDR_ANY", it tries to open an inet (IPv4) socket and an IPv6
socket. The latter would then fail, however the success flag is only
set based on the results of opening this last socket. So, even though
an inet socket was opened, the overall result is "can't open any
request ports, exiting".
If at least one of the two sockets was opened, then the overall result
should be success. Failure to open one of them would probably warrant
a warning to the log.
I'll work up a patch for this.
And detailed diags are not helping (hint, hint, ...)
Noted. I'll see what I can add.
Attached is a patch to address this (suspected) problem. Can you try it
out?
Thanks Dave.
I applied the patch, remade libpcp and installed it.
Looks better ...
kenj@vm05:~/src/pcp/src/pmcd/src$ ./pmcd -f -Dall
AddRequestPort: INADDR_ANY port 44321
__pmSetSocketIPC: fd=3
IPC table fd(PDU version):
pmGetConfig: PCP_TMP_DIR=/var/tmp
[Thu Mar 7 14:55:52] pmcd(15878) Error: OpenRequestSocket(44321,
INADDR_ANY) __pmCreateSocket: Address family not supported by protocol
pmGetConfig: PCP_TMP_DIR=/var/tmp
[Thu Mar 7 14:55:52] pmcd(15878) Warning: pmcd: Unable to open IPv6
request port for INADDR_ANY:44321: Bad file descriptor
but pmcd is running ...
$ pcp -h vm05
Performance Co-Pilot configuration on vm05:
platform: Linux vm05 2.6.38-gentoo-r6 #8 SMP Wed Jul 27 21:42:08 EST
2011 i486
hardware: 1 cpu, 1 disk, 249MB RAM
timezone: EST-11
pmcd: Version 3.7.0-3, 3 agents
pmda: pmcd linux mmv
So, this looks like a fix we need.
But is the Error: line correct? ... that looks a bit scary if it is not
really an error.
|