Why do I get the error ``<tt class="ERRORNAME">nlist failed</tt>'' when running, for example, <tt class="COMMAND">top</tt> or <tt class="COMMAND">systat</tt>?

Why do I get the error ``nlist failed'' when running, for example, top or systat?

The problem is that the application you are trying to run is looking for a specific kernel symbol, but, for whatever reason, cannot find it; this error stems from one of two problems:

  • Your kernel and userland are not synchronized (i.e., you built a new kernel but did not do an installworld, or vice versa), and thus the symbol table is different from what the user application thinks it is. If this is the case, simply complete the upgrade process (see /usr/src/UPDATING for the correct sequence).

  • You are not using /boot/loader to load your kernel, but doing it directly from boot2 (see boot(8)). While there is nothing wrong with bypassing /boot/loader, it generally does a better job of making the kernel symbols available to user applications.



Home
FAQ