Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 26 Aug 2009 08:44:16 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        Bruce Cran <bruce@cran.org.uk>
Cc:        current@freebsd.org
Subject:   Re: patches to fix "ps -M" as used in crashinfo(8)
Message-ID:  <200908260844.16767.jhb@freebsd.org>
In-Reply-To: <20090824230145.75824e5f@gluon.draftnet>
References:  <20090824230145.75824e5f@gluon.draftnet>

next in thread | previous in thread | raw e-mail | index | archive | help
On Monday 24 August 2009 6:01:45 pm Bruce Cran wrote:
> I've recently been debugging a series of problems with running ps(1) on
> crash dumps, and now have a couple of patches: the bugs cause
> ps(1) to crash while crashinfo(8) is being run during boot, dumping a
> 1GB ps.core file in the root filesystem.
> 
> The patches are at
> http://www.cran.org.uk/~brucec/freebsd/pr137890.kvm_proc.c.diff and
> http://www.cran.org.uk/~brucec/freebsd/pr137890.ps.c.diff
> 
> The problem with ps.c is that like pkill(1) and w(1), they all
> initialize the execfile argument to kvm_open or kvm_openfiles to
> "/dev/null" instead of NULL, causing the default usage of "ps
> -M /var/crash/vmcore.x" to fail because libkvm fails to
> fstat /dev/null. They only work if "-N" is also specified.

Note that crashinfo specifies both -M and -N:

echo "------------------------------------------------------------------------"
echo "ps -axl"
echo
ps -M $VMCORE -N $KERNEL -axl
echo

I'm not sure that 'ps -M blah' without '-N' should really work.  Also, I'm not 
sure how fstat() of /dev/null could fail?

The kvm_nlist() bug in libkvm should probably still be fixed, and the ngroups 
one you might want to poke brooks@ about.

-- 
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200908260844.16767.jhb>