On Wednesday 27 September 2006 18:28, Andy Ross wrote:
> Finally, please make sure you remove *all* traces of FlightGear and
> SimGear from you system before doing a
>
> Durk Talsma wrote:
>  > Lou Sanchez-Chopitea wrote:
>  > > I have assembled a box based on a Tyan MB with two Athlon MP 2000+
>  > > with 2GB of ram, running Fedora Core 5. I get segfaults in both
>  > > the yum installed FG and a local version built from sources.  Has
>  > > anyone encountered problems (or success) on dual processor
>  > > systems?
>  >
>  > About two weeks ago, I posted a valgrind error log on the list, which
>  > you can find here: http://durktalsma.xs4all.nl/valgrind.log
>
> Note that both the X11 libraries and NVIDIA libGL implementation
> generate a huge stream of (apparently benign) uninitialized memory
> reads.  You will need to filter them out if you want to get any use
> out of valgrind.  But the general answer to your question is no:
> because of FlightGear's interactive nature and the performance hit
> from running under valgrind, we don't tend to run it on the fgfs
> binary*.  So there are almost certainly some good bugs living in there
> for someone with the energy to find them.
>

FWIW, I'm currently investigating a huge memory problem that was exposed by 
the new AI code (although I'm still not sure it is causing it). When I'm 
running with AI/traffic manager enabled, flightGear leaks about 5 MB a minute 
on my system. Without AI it runs stable. This problem first appeared after I 
added the ground network distance monitoring AI part, but since I don't 
explicitly allocate or deallocate memory, I can hardly see that this new code 
is causing it. (I'm just using stl vectors, so memory allocation is done 
automatically. 

In the mean time, I did investigate a few potential other memory leaks. I've 
listed those I found below. One tiny leak is in FlightGear, one is in 
SimGear, and one in plib's ac model loader.

Please comment if my assumptions listed below are not correct. Otherwise, I
ll go ahead and fix these shortly.

Cheers,
Durk




FlightGear:  src/Main/fg_io.cxx: line 110.



if ( protocol == "atcsim" ) {
            FGATCMain *atcsim = new FGATCMain;
            atcsim->set_hz( 30 );
            if ( tokens.size() != 6 ) {
                SG_LOG( SG_IO, SG_ALERT, "Usage: --atcsim=[no-]pedals,"
                        << "input0_config,input1_config,"
                        << "output0_config,output1_config,file.nas" );

                [ Shouldn't there be "delete atcsim;" here before 
returning  ??? ]

                return NULL;
            }



SimGear: simgear/scene/model/placement.cxx: line

SGModelPlacement::SGModelPlacement ()
  : _lon_deg(0),
    _lat_deg(0),
    _elev_ft(0),
    _roll_deg(0),
    _pitch_deg(0),
    _heading_deg(0),
    _selector(new ssgSelector),
    _position(new ssgPlacementTransform),
    _location(new SGLocation)
{
}

SGModelPlacement::~SGModelPlacement ()
{
  [ Shouldn't there be a "delete _location;" location statement here ??? ]
}

N _selector and _position are ssgSharedPointers, and those are not required to 
be deleted, if I'm correct, but location is a regular class member pointer.



plib: src/ssg/ssgLoadAC.cxx: line 943:

I believe that there should be a block of code that deallocates the memory 
that is assigned to mlist[num_materials] at line 292.

 for (int i = 0; i <= num_materials; i++)
    {
      delete mlist[i];
    }

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel

Reply via email to