J
Joe Eddy
So...I've been trying for days to track down a handle leak in one of
my applications...it's a very slow leak, but it's in an application
that is meant to run continuously and is currently making use restart
it every few weeks.
When I use !htrace -diff in windbg to try to track it down, what I
find is a bunch of these:
--------------------------------------
Handle = 0x00000a80 - OPEN
Thread ID = 0x000007fc, Process ID = 0x00000bb4
0x79f7582b: mscorwks!CLREvent::CreateManualEvent+0x00000027
0x79f03e9d: mscorwks!Thread::AllocHandles+0x00000077
0x79f04b47: mscorwks!Thread::CreateNewOSThread+0x0000007c
0x79f04ac3: mscorwks!Thread::CreateNewThread+0x0000009e
0x79f91adf: mscorwks!ThreadNative::StartInner+0x0000015c
0x79f91c48: mscorwks!ThreadNative::Start+0x000000a6
0x792d6b4c: mscorlib_ni+0x00216b4c
0x00e8f89b: +0x00e8f89b
0x00e8f49a: +0x00e8f49a
0x00e88d02: +0x00e88d02
--------------------------------------
I have a function that creates two threads periodically, but I can't
figure out why they'd be leaky...I've tried reproducing the leak using
a simplified program but have so far been unsuccessful.
Anyone ever seen handles like this being leaked that might have any
hints at what I should be looking at?
my applications...it's a very slow leak, but it's in an application
that is meant to run continuously and is currently making use restart
it every few weeks.
When I use !htrace -diff in windbg to try to track it down, what I
find is a bunch of these:
--------------------------------------
Handle = 0x00000a80 - OPEN
Thread ID = 0x000007fc, Process ID = 0x00000bb4
0x79f7582b: mscorwks!CLREvent::CreateManualEvent+0x00000027
0x79f03e9d: mscorwks!Thread::AllocHandles+0x00000077
0x79f04b47: mscorwks!Thread::CreateNewOSThread+0x0000007c
0x79f04ac3: mscorwks!Thread::CreateNewThread+0x0000009e
0x79f91adf: mscorwks!ThreadNative::StartInner+0x0000015c
0x79f91c48: mscorwks!ThreadNative::Start+0x000000a6
0x792d6b4c: mscorlib_ni+0x00216b4c
0x00e8f89b: +0x00e8f89b
0x00e8f49a: +0x00e8f49a
0x00e88d02: +0x00e88d02
--------------------------------------
I have a function that creates two threads periodically, but I can't
figure out why they'd be leaky...I've tried reproducing the leak using
a simplified program but have so far been unsuccessful.
Anyone ever seen handles like this being leaked that might have any
hints at what I should be looking at?