[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: Fedora Core 1 for AMD64 test1 -- need some help



On Monday 19 January 2004 12:17, Michael K. Johnson wrote:
> A test release of Fedora Core 1 for AMD64 is now available at
> ftp://download.fedora.redhat.com/pub/fedora/linux/core/test/0.96/x86_64/
> and at distinguised mirror sites near you.  


Timely, timely ... I could claim that I have extremely high bandwidth and have 
gotten the ISOs and installed already but that would not be true ... I 
cheated and downloaded them from Justin's development site a couple of days 
ago.

The system -- Opteron 140 with test1 installed plus needed updates such as 
gcc.

I am trying to get the nessus security tool to run as a 64 bit application 
(the 32 bit version needs the 32bit versions of openssl, tcp-wrappers, and 
gtk to install ... besides, where  is the fun of just doing that).  Instead I 
have embarked on a "learning experience".

Nessus is a relatively large application which makes extensive use of dynamic 
memory allocation (malloc), multiple small quick running processes (a couple 
thousand for a typical test), and the mmap function [more on this later].

1.  I am running a patched gcc because the regular one gets into a compiler 
loop [thanks Jakub for the fix] ... I really need to rebuild the "-6" release 
but was hoping this would be done by Red Hat sooner rather than later.

2.  I have patches applied to nessus which were developed by SUSE and are 
available in their 9.0 Professional for the AMD64.  These patches correct 
pointer/cast/type/prototype problems and also work fine on the i386.  There 
are still some pointer/cast related problems to result but this a big start.

3.  I have identified and corrected at least one problem where sizeof is used 
for the wrong struct resulting in a SEGV [again, thanks Jakub for pointing 
out the problem].

4.  Because of the very dynamic nature of running nessus, gdb and/or ddd have 
not proven as useful as I would like ... I am resorting to putting lots of 
printf/fprintf statements into the code to get debugging information.

5.  As of now, the code "sort of" works.  However, I am getting lots and lots 
of memory allocation errors (results in an error message to stdout/stderr via 
perror()).  All of these are malloc errors directly or (indirectly) through 
mmap.

6.  I have started to look at the mmap problem to begin somewhere.  The 
strange thing is that mmap seems to work OK most of the time but sometimes 
(and it appears to be repeatable) is gets a "Memory allocation" error.  I 
extracted one of the functions having a problem with a particular file and 
put it into a small test program ... naturally, it works just fine.

While this could be the result of some strange gcc or glibc problem, I am 
assuming that the problem is something nessus is doing.  Any 
hints/suggestions on how to approach debugging this?

BTW, this code (as patched) runs just fine on the i386.  I also tested nessus 
on SUSE's 9.0 amd64 system and it seems to have the same/similar memory 
allocation problems.
-- 
Gene




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]