Mailing List Archive

Arrrgh!
OK, I found the problem of why nessus was not running on the amd64.

The problem was ... nessusd was setting the rlimit soft and hard values too
low ... at least for the amd64 with 8 byte pointers.

The limit is set in two different places:

In nessus-core/nessusd/nes_plugins.c where it is set to 1024*1024*40 and in
nessus-core/nessusd/nasl_plugins.c where it is set to 1024*1024*20

It was the 1024*1024*20 setting that was doing things in ... just too low.

Do you want me to bugzilla this? [with my patch]

Suggestions:

1. Now that I realize what was being done, I can see the logic of providing
some limits so that nessus doesn't eat up the whole system. However, rather
than hardcoding the limits, make them parameters in the
/etc/nessus/nessusd.conf file.

2. When you change the limits, put before/after messages into the nessusd.dump
or nessusd.messages file. That sure would have shortened the debugging.

3. If you do get a malloc or mmap error, how about putting out a bit more
debugging info such as the PID as well as the current soft/hard memory limits
(and maybe info from mallinfo too).

Gene
--
Re: Arrrgh! [ In reply to ]
On Thu, Jan 22, 2004 at 05:31:49PM -0500, Gene C. wrote:
> OK, I found the problem of why nessus was not running on the amd64.
>
> The problem was ... nessusd was setting the rlimit soft and hard values too
> low ... at least for the amd64 with 8 byte pointers.
>
> The limit is set in two different places:
>
> In nessus-core/nessusd/nes_plugins.c where it is set to 1024*1024*40 and in
> nessus-core/nessusd/nasl_plugins.c where it is set to 1024*1024*20


That's 40megs and 20megs per plugin, respectively. How much does it
really use on amd64 ?


I'll probably make that a user-defineable option, you're right.