On 11/12/13 10:28, Nathan Scott wrote:
> ..
> No bells ringing - but it looks like the test greps on IPv6 in pmwebd.log
> and conditionally attempts to curl(1) a localhost6 address if that grep
> finds anything ... src/pmwebapi has this that its looking for:
>
> main.c: fprintf (f, "Started daemon on IPv6 TCP port %d\n", port);
>
> somehow we appear to be starting up an IPv6 port in libmicrohttpd. Does
> "pmconfig -L | grep ipv6" agree that there's no IPv6 on this machine? I
> guess "grep localhost6 /etc/hosts" gives nothing either way, right?
According to pmconfig -L ...
ipv6=true
but I thought that just meant the platform supported IPv6, not that it was
actually enabled.
No localhost6 in /etc/hosts (already checked that), but did find these that may
be related ...
$ grep ip6 /etc/hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
Using ip6-localhost instead of localhost6 in qa/660 exposes a REAL problem ...
pmwebd dumps core at startup.
I've modified 660 to produce 660.full and be more cautious ... now I see ...
kenj@bozo:~/src/pcp/qa$ 660
QA output created by 660
curl ok
python ok
=== 1. pmwebd default startup ===
Arrgh ... pmwebd failed to start, /tmp/660-31803.out not created
UID PID PPID C STIME TTY TIME CMD
kenj@bozo:~/src/pcp/qa$ cat 660.full
=== 1. pmwebd default startup ===
/usr/lib/pcp/bin/pmwebd -U kenj -f -l /tmp/660-31803.out
pid=31888
kenj@bozo:~/src/pcp/qa$ /usr/lib/pcp/bin/pmwebd -U kenj -f -l /tmp/660-31803.out
Segmentation fault (core dumped)
Digging a bit deeper ...
$ gdb pmwebd
GNU gdb (GDB) 7.6.1-ubuntu
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/kenj/src/pcp/src/pmwebapi/pmwebd...done.
(gdb) r -U kenj -f -l /tmp/660-31436.out
Starting program: /home/kenj/src/pcp/src/pmwebapi/pmwebd -U kenj -f -l
/tmp/660-31436.out
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Program received signal SIGSEGV, Segmentation fault.
0x0000000000000000 in ?? ()
(gdb) where
#0 0x0000000000000000 in ?? ()
#1 0x00007ffff7bd2a50 in select () from /usr/lib/libtsocks.so
#2 0x00007ffff5da0974 in ?? () from /lib/x86_64-linux-gnu/libgcrypt.so.11
#3 0x00007ffff5d9de30 in ?? () from /lib/x86_64-linux-gnu/libgcrypt.so.11
#4 0x00007ffff5d9eeec in ?? () from /lib/x86_64-linux-gnu/libgcrypt.so.11
#5 0x00007ffff5d9f4ad in ?? () from /lib/x86_64-linux-gnu/libgcrypt.so.11
#6 0x00007ffff6064697 in ?? () from /usr/lib/x86_64-linux-gnu/libgnutls.so.26
#7 0x00007ffff6011979 in ?? () from /usr/lib/x86_64-linux-gnu/libgnutls.so.26
#8 0x00007ffff60013f5 in gnutls_global_init ()
from /usr/lib/x86_64-linux-gnu/libgnutls.so.26
#9 0x00007ffff7de9856 in call_init (l=l@entry=0x7ffff7fd8000,
argc=argc@entry=6, argv=argv@entry=0x7fffffffded8,
env=env@entry=0x7fffffffdf10) at dl-init.c:84
#10 0x00007ffff7de9910 in call_init (env=<optimised out>,
argv=<optimised out>, argc=<optimised out>, l=0x7ffff7fd8000)
at dl-init.c:55
#11 _dl_init (main_map=0x7ffff7ffe268, argc=6, argv=0x7fffffffded8,
env=0x7fffffffdf10) at dl-init.c:133
#12 0x00007ffff7ddb66a in _dl_start_user () from /lib64/ld-linux-x86-64.so.2
#13 0x0000000000000006 in ?? ()
#14 0x00007fffffffe289 in ?? ()
#15 0x00007fffffffe2b0 in ?? ()
#16 0x00007fffffffe2b3 in ?? ()
---Type <return> to continue, or q <return> to quit---
#17 0x00007fffffffe2b8 in ?? ()
#18 0x00007fffffffe2bb in ?? ()
#19 0x00007fffffffe2be in ?? ()
#20 0x0000000000000000 in ?? ()
(gdb)
(gdb)
So, pmwebd is royally screwed here!
|