Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 24 Jul 2011 20:24:46 -0700
From:      Jeremy Chadwick <freebsd@jdc.parodius.com>
To:        Ross <basarevych@gmail.com>
Cc:        freebsd-apache@freebsd.org
Subject:   Re: Strange errors
Message-ID:  <20110725032446.GA54055@icarus.home.lan>
In-Reply-To: <CANmv3=wFw1JcgfrbBZ21SEnAC8h92cnOfFAOK_S1SR%2BsETadjA@mail.gmail.com>
References:  <CANmv3=zAiqK%2BwcBkcgC6OJ2PBonSs4opbft8TsGDpgxsFhfEsA@mail.gmail.com> <20110724113823.GA39165@icarus.home.lan> <CANmv3=wFw1JcgfrbBZ21SEnAC8h92cnOfFAOK_S1SR%2BsETadjA@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Jul 25, 2011 at 06:10:32AM +0300, Ross wrote:
> On Sun, Jul 24, 2011 at 2:38 PM, Jeremy Chadwick
> <freebsd@jdc.parodius.com> wrote:
> > On Sun, Jul 24, 2011 at 01:15:29PM +0300, Ross wrote:
> >> I see many:
> >> kvm_open: kvm_nlist: No such file or directory
> >> in my error-log
> >>
> >> what is that? I searched this list and also googled but wasn't able to
> >> find anything on this matter.
> >>
> >> I am running site on Pimcore. Every time the site is accessed new
> >> lines are added to error.log.
> >
> > Have you recently rebuilt world/kernel on the system, or rebuild kernel
> > but not world?
> 
> I always rebuild the world along with the kernel. Just in case. And I
> did recently. This system is running 8.2-STABLE by the way.

Okay, then chances are there is some software (a port, etc.) on your
machine which links to libkvm that needs to be rebuilt to pick up the
underlying libkvm API/ABI changes.

> > If so, there may have been changes to the KVM structure within libkvm or
> > the kernel that could be manifesting themselves by showing anomalies of
> > this sort in userland applications. ??Most commonly this shows up in
> > utilities like "ps" or "top", both of which use libkvm.
> 
> Both top and ps work as expected.

Sorry -- I wasn't saying "if there's a problem top/ps will confirm it",
I was saying that when libkvm changes and kernel/world are out of sync,
usually top/ps are the first things to show kvm_nvlist issues.

> > I'm not familiar with "Pimcore". ??If this software links to libkvm, you
> > may need to rebuild the software to keep in sync with any KVM or kernel
> > changes.
> 
> This is just a CMS built on Zend Framework.

Are you using anything like ZendOptimizer or eAccelerator?  Keep reading
for why I ask that.

> Another question: how can I catch who is writing this lines? I set
> LogLevel to debug and apache flags to "-e debug" but it did not help.

Do you have any web-oriented software on your machine that is compiled
(not scripts, but actual compiled software) that hasn't been rebuilt
since you rebuilt world/kernel?  If so, this software will need to be
rebuilt.

You will have to try and correlate HTTP requests in your access_log to
the errors you see in your error_log, and then trace things backwards
from there.  error_log contains output that goes to stderr, and the
above error message is probably going to stderr hence it shows up in
your logs.

There is a way to find out what links to libkvm on the machine.  This
won't be 100% accurate -- libkvm comes in two types, a static library
(libkvm.a) and a shared library (libkvm.so.X).  If something links to
the shared, ldd can find it.  If something links (thus pulls in
statically) it becomes even more difficult to determine what software
it is.  For the ldd stuff:

find -X /usr/local -type f -print0 | xargs -0 ldd 2>/dev/null 1> output.txt

Then open up output.txt in an editor (vi, etc.) and search for libkvm.
Once you find an entry, scroll backwards/up a little bit until you find
the correlating binary that links to it (e.g. /usr/local/bin/binary:).

Finding statically-linked stuff that was built with libkvm.a is going to
be much more painful.

None of this looks for things like, say, executables in users' home
directories that could have been built from source code (e.g.
/home/user/public_html/mybinary.cgi) and linked to libkvm.

If you don't want to deal with any of this, then the solution should be
quite simple for system software: rebuild all of your ports.  If the
problem continues after that, then it's very likely you're using some
3rd-party software that's binary-only (please contact your vendor to
resolve this), or it's some software somewhere other than in /usr/local.

-- 
| Jeremy Chadwick                                jdc at parodius.com |
| Parodius Networking                       http://www.parodius.com/ |
| UNIX Systems Administrator                   Mountain View, CA, US |
| Making life hard for others since 1977.               PGP 4BD6C0CB |




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