On 2015/11/23 10:53, David Hill wrote:
> On Fri, Nov 20, 2015 at 12:07:36PM -0500, David Hill wrote:
> > Hello -
> >
> > I used to use netstat -P to view PCB information. Running -current, I
> > get 'no namelist' now. Any ideas?
> >
> > 0xffffff0397c4da50 tcp 0 0 127.0.0.1.33845
> > 127.0.0.1.18333 ESTABLISHED
> >
> > # netstat -P 0xffffff0397c4da50
> > netstat: no namelist
> >
> > Thanks,
> > David
> >
>
> I am not sure if this is a fix or a hint, but it does provide me with
> the information I used to get. Did something change that would cause
> n_type to always be 0 (or unset?)
>
> Index: main.c
> ===================================================================
> RCS file: /cvs/src/usr.bin/netstat/main.c,v
> retrieving revision 1.108
> diff -u -p -r1.108 main.c
> --- main.c 23 Oct 2015 08:18:57 -0000 1.108
> +++ main.c 23 Nov 2015 15:50:57 -0000
> @@ -331,7 +331,7 @@ main(int argc, char *argv[])
> (need_nlist ? 0 : KVM_NO_FILES), buf)) == NULL)
> errx(1, "kvm_openfiles: %s", buf);
>
> - if (need_nlist && (kvm_nlist(kvmd, nl) < 0 || nl[0].n_type == 0)) {
> + if (need_nlist && (kvm_nlist(kvmd, nl) < 0)) {
> if (nlistf)
> errx(1, "%s: no namelist", nlistf);
> else
>
It doesn't narrow it down very much, but this started somewhere between
5.8 and Oct 8th.
Given that kvm_nlist(3) says "Each symbol is looked up using the n_name
field, and if found, the corresponding n_type and n_value fields are
filled in. These fields are set to 0 if the symbol is not found" I think
it's a hint rather than a fix.