[osg-users] found memory leak in OSG 3.0.1

Gianluca Natale natale at europe.altair.com
Mon Oct 23 03:41:32 PDT 2017


Never mind, I forwarded an old message! :)

From: osg-users [mailto:osg-users-bounces at lists.openscenegraph.org] On Behalf Of Gianluca Natale
Sent: Monday, October 23, 2017 12:34 PM
To: Osg Users <osg-users at openscenegraph.org>
Subject: [osg-users] FW: found memory leak in OSG 3.0.1

Hi all,
In my application I'm using OSG 3.0.1 (I do know it is old, but I do not have the time now to move to a newer version).
I think I have a memory leak, and I don't know if it's my fault or a bug in OSG.
Using the task manager (on Win 8.1 Pro), I see this.

When I call:

GraphicsContext* GraphicsContext::createGraphicsContext(Traits* traits);

memory allocated in my application increases of about 2.5 MB.

Then, when I call:

GraphicsContext::close(bool callCloseImplementation); // I pass true to this function

memory allocated in my application decreases of about 1.5 MB.
So, there is always  about 1 MB that is not deallocated.

I tried to investigate a bit, and noticed that the problem seems to happen inside this function:

bool GraphicsWindowWin32::setWindow( HWND handle ).

Specifically, there are 2 calls in that function where memory is allocated:


1)      bool GraphicsWindowWin32::setPixelFormat(); // increases about 1 MB

2)      HGLRC GraphicsWindowWin32::createContextImplementation(); // increases about 1.5 MB

So, it looks like the memory allocated at point 1 is never released.
Is there anything I have to call, when I want to destroy a graphic context, other than close()?
Or, if you do know that it is a memory leak, has it been fixed in a newer version of OSG?

Thanks,
Gianluca Natale

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openscenegraph.org/pipermail/osg-users-openscenegraph.org/attachments/20171023/d5ddb9b8/attachment-0001.html>


More information about the osg-users mailing list