~100KB usleep() memory leak
Konstantin Ivlev
tomskside@gmail.com
Mon Mar 19 17:15:00 GMT 2012
Hi All,
I have noticed ~100KB usleep() memory leak then compile mine
application under Cygwin. On Mac OS X 10.7 Lion it works fine (no
leak).
I am using Cygwin 1.7.11 version.
so, each call of usleep() I can see in Task Manager or Process
Explorer about ~100KB of memory are leaked. it is not so problematic,
but if I am using thread pool (e.g. 16 threads) it will leak about
~1MB per seconds, and several minutes of running application are
enough to waste all available memory ~4GB.
it is easy to reproduce. compile the following really simple source code :
#include <unistd.h>
int main()
{
for (;;)
{
usleep(10);
}
}
>g++ main.cpp
then run :
>./a.exe
and observe memory is leaking. to notice more huge memory leak,
compile the following simple example simulating thread pool :
#include <unistd.h>
#include <pthread.h>
void * ThreadProc(void *)
{
for (;;)
{
usleep(10);
}
return NULL;
}
int main()
{
size_t count = 16; // specify more to see bigger leak!
pthread_t id;
for (size_t i(0); i < count; ++i)
pthread_create(&id, NULL, ThreadProc, NULL);
for (;;);
return NULL;
}
> g++ main.cpp
and run :
> ./a.exe
and observe huge and fast leaking memory. and if you comment usleep
call, memory leak will disapper.
I would be grateful if you could possibly advice something on this issue.
P.S. "cygcheck -s -v -r > cygcheck.out" execution log is in attachment
I am pleasant to enclose.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: cygcheck.out
Type: application/octet-stream
Size: 303803 bytes
Desc: not available
URL: <http://cygwin.com/pipermail/cygwin/attachments/20120319/554de5a9/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: sample1.cpp
Type: text/x-c++src
Size: 73 bytes
Desc: not available
URL: <http://cygwin.com/pipermail/cygwin/attachments/20120319/554de5a9/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: sample2.cpp
Type: text/x-c++src
Size: 256 bytes
Desc: not available
URL: <http://cygwin.com/pipermail/cygwin/attachments/20120319/554de5a9/attachment-0001.bin>
-------------- next part --------------
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
More information about the Cygwin
mailing list