This is the mail archive of the pthreads-win32@sourceware.org mailing list for the pthreas-win32 project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Possible memory leak in Pthreads-Win32


Hi Jason,

I ran your test with the pthreadVC2.dll that I've just built from the sources from the current cvs head and did not see any resources growing over time, including memory, handles, etc. Peak working set was about 1.6MB and Working Set (Private) was about 550kB toggling between a max and min value with small delta but not growing at all.

The particulars for this test were:

- current cvs head revision of the code
- Windows Vista 32 bit
- MSVS 2010 Express compiler (32 bit)
- pthreadVC2.dll built by runing "nmake clean VC-inlined"
- test suite passed by running "nmake clean VC" in the tests folder
- your test compiled by running "nmake pthread_leak-1.exe" in the tests folder (only succeeds if run after running the test suite so that the required headers and libs are copied into the tests folder).


I also compiled your test using the command line in your comments (modified to run relative to the tests folder), i.e. without all the additional flags from the nmake build, and no leak there either but did consume slightly more memory.

You didn't indicate what version of the library you are using (pre-built or built from source) or any other details of your system but I'm reasonably confident there aren't any leaks with the current cvs head source revision.

Regards.
Ross

On 2/12/2011 1:11 PM, Jason Jones wrote:
Hello!

I am having memory leaks when using Pthreads-Win32. I have attached a
very simple example program that illustrates the problem. It is very
simple:

1) Inside a for loop, I create two threads with pthread_create.
2) Each of these threads executes a function that just returns 0;
3) I print out the return from the pthread_create calls.
4) Then use pthread_join on the two threads and the execute the next
iteration of the loop.

As I run this program, I can watch the memory constantly growing (
through task manager ). If I let it run long enough, I have seen it
use 600 megabytes of memory. If I run the same program on Linux with
native pthreads, I do not see any memory growth no matter how long I
let it run. On Windows I see the memory leak with Visual Studio 2008
and also with the latest version of the Intel compiler.

Is this a memory leak? Or am I doing something stupid?

Thanks,

Jason


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]