I'm trying to use application-managed stacks, i.e. allocating the stack myself and passing it to the pthread creation attributes through pthread_setstack -function. My problem is that the memory allocated for the stack seems to leak after the thread terminates.
Only information I have been able to find about this is in System Interfaces Chapter 2 section 2.9.8 "Use of Application-Managed Thread Stacks". It states that the application grants to the implementation permanent ownership over the memory region, and that in particular, the region of memory cannot be freed, nor can it be later specified as the stack for another thread.
I've tried to free the stack manually after making sure the thread in question has terminated (by joining to it), which seems to kind of work since the virtual size of the application decreases. However, when I allocate a new stack for a new thread from the heap and the memory previous used for another threads stack is reused, the application crashes at pthread_create.
I'm trying to accomplish (what I'm sure is non-portable) thread stack monitoring by periodically checking the thread stack memory regions for a high water mark. If someone knows another way to do this, I'd be glad to drop the whole application-manager stacks thing.
Has anyone experienced similar problems or alternatively successfully used application-managed stacks?
You could take a look at the codebase for Valgrind as a start for monitoring the threads stack.
You should be able to free the malloc'd stack memory on pthread_exit, set the stack pointer to NULL and reuse.
All works as expected.
Would someone help me to find the detailed report on memory leak.
any commands to get detailed report for OS level and applications
As we are using REDHAT LINUX 5.9
Murali Muppa (2 Replies)
WAN external interface 192.0.0.0 network
WAN internal interface 126.96.36.199 network
wireless router 188.8.131.52
DSL modem 184.108.40.206
The problem I am having is that some traffic from the 220.127.116.11 LAN seems to be "leaking" onto the 192.0.0.0 WAN. I... (0 Replies)
I use linux and unix and run aplication.
How I can use command top , vmstat ,free ...etc
existing command to find out there is memory leaking ???
Please give me example .
It is not allow to use compiler to compile the program /tool. (2 Replies)
I am currently working with threads using linux 2.6.11 and glibc 2.3.5 on x86. When i am trying to create thread with user defined stacks glibc gives segmentation fault. I have written a wrapper to pthread_create () and generated shared object for the same. When i am trying to create any... (6 Replies)
I am currently working with threads using linux 2.6.11 and glibc 2.3.5 on x86. When i am trying to create thread with user defined stacks glibc gives segmentation fault. I have written a wrapper to pthread_create () and generated shared object for the same. When i am trying to create any... (0 Replies)
I am working on a project which uses 64-bit capability of AIX. This is
very recently ported to 64-bit and leaking like anything now. I purified
the program on 64-bit and ran it, purify is not showing any leak.
Even memory usage has become very normal in purified binary compared to my... (2 Replies)