Application crash if left idle
-
My application(MFC, windows based with activeX ctrls) crashes if it is been idle for say 2 mins, after invoking a particular component. If some othe roperatio is done, after that it works fine. below is its large call stack
<Unloaded_RapidEyeAPI.dll>+1e701 02921430 02a1ff48 0292144c ntdll!ExecuteHandler2+26 02921430 02a1ff48 0292144c ntdll!ExecuteHandler+24 02a1ff48 0292144c 02921430 ntdll!KiUserExceptionDispatcher+e 02a1ff48 0292144c 02921430 <Unloaded_RapidEyeAPI.dll>+1e701 02921800 02a1ff48 0292181c ntdll!ExecuteHandler2+26 02921800 02a1ff48 0292181c ntdll!ExecuteHandler+24 02a1ff48 0292181c 02921800 ntdll!KiUserExceptionDispatcher+e 02a1ff48 0292181c 02921800 <Unloaded_RapidEyeAPI.dll>+1e701 02921bd0 02a1ff48 02921bec ntdll!ExecuteHandler2+26 02921bd0 02a1ff48 02921bec ntdll!ExecuteHandler+24 02a1ff48 02921bec 02921bd0 ntdll!KiUserExceptionDispatcher+e 02a1ff48 02921bec 02921bd0 <Unloaded_RapidEyeAPI.dll>+1e701 02921fa0 02a1ff48 02921fbc ntdll!ExecuteHandler2+26 02921fa0 02a1ff48 02921fbc ntdll!ExecuteHandler+24 02a1ff48 02921fbc 02921fa0 ntdll!KiUserExceptionDispatcher+e 02a1ff48 02921fbc 02921fa0 <Unloaded_RapidEyeAPI.dll>+1e701 02922370 02a1ff48 0292238c ntdll!ExecuteHandler2+26 02922370 02a1ff48 0292238c ntdll!ExecuteHandler+24 02a1ff48 0292238c 02922370 ntdll!KiUserExceptionDispatcher+e 02a1ff48 0292238c 02922370 <Unloaded_RapidEyeAPI.dll>+1e701 02922740 02a1ff48 0292275c ntdll!ExecuteHandler2+26 02922740 02a1ff48 0292275c ntdll!ExecuteHandler+24 02a1ff48 0292275c 02922740 ntdll!KiUserExceptionDispatcher+e 02a1ff48 0292275c 02922740 <Unloaded_RapidEyeAPI.dll>+1e701 02922b10 02a1ff48 02922b2c ntdll!ExecuteHandler2+26 02922b10 02a1ff48 02922b2c ntdll!ExecuteHandler+24 02a1ff48 02922b2c 02922b10 ntdll!KiUserExceptionDispatcher+e 02a1ff48 02922b2c 02922b10 <Unloaded_RapidEyeAPI.dll>+1e701 02922ee0 02a1ff48 02922efc ntdll!ExecuteHandler2+26 02922ee0 02a1ff48 02922efc ntdll!ExecuteHandler+24 02a1ff48 02922efc 02922ee0 ntdll!KiUserExceptionDispatcher+e 02a1ff48
-
My application(MFC, windows based with activeX ctrls) crashes if it is been idle for say 2 mins, after invoking a particular component. If some othe roperatio is done, after that it works fine. below is its large call stack
<Unloaded_RapidEyeAPI.dll>+1e701 02921430 02a1ff48 0292144c ntdll!ExecuteHandler2+26 02921430 02a1ff48 0292144c ntdll!ExecuteHandler+24 02a1ff48 0292144c 02921430 ntdll!KiUserExceptionDispatcher+e 02a1ff48 0292144c 02921430 <Unloaded_RapidEyeAPI.dll>+1e701 02921800 02a1ff48 0292181c ntdll!ExecuteHandler2+26 02921800 02a1ff48 0292181c ntdll!ExecuteHandler+24 02a1ff48 0292181c 02921800 ntdll!KiUserExceptionDispatcher+e 02a1ff48 0292181c 02921800 <Unloaded_RapidEyeAPI.dll>+1e701 02921bd0 02a1ff48 02921bec ntdll!ExecuteHandler2+26 02921bd0 02a1ff48 02921bec ntdll!ExecuteHandler+24 02a1ff48 02921bec 02921bd0 ntdll!KiUserExceptionDispatcher+e 02a1ff48 02921bec 02921bd0 <Unloaded_RapidEyeAPI.dll>+1e701 02921fa0 02a1ff48 02921fbc ntdll!ExecuteHandler2+26 02921fa0 02a1ff48 02921fbc ntdll!ExecuteHandler+24 02a1ff48 02921fbc 02921fa0 ntdll!KiUserExceptionDispatcher+e 02a1ff48 02921fbc 02921fa0 <Unloaded_RapidEyeAPI.dll>+1e701 02922370 02a1ff48 0292238c ntdll!ExecuteHandler2+26 02922370 02a1ff48 0292238c ntdll!ExecuteHandler+24 02a1ff48 0292238c 02922370 ntdll!KiUserExceptionDispatcher+e 02a1ff48 0292238c 02922370 <Unloaded_RapidEyeAPI.dll>+1e701 02922740 02a1ff48 0292275c ntdll!ExecuteHandler2+26 02922740 02a1ff48 0292275c ntdll!ExecuteHandler+24 02a1ff48 0292275c 02922740 ntdll!KiUserExceptionDispatcher+e 02a1ff48 0292275c 02922740 <Unloaded_RapidEyeAPI.dll>+1e701 02922b10 02a1ff48 02922b2c ntdll!ExecuteHandler2+26 02922b10 02a1ff48 02922b2c ntdll!ExecuteHandler+24 02a1ff48 02922b2c 02922b10 ntdll!KiUserExceptionDispatcher+e 02a1ff48 02922b2c 02922b10 <Unloaded_RapidEyeAPI.dll>+1e701 02922ee0 02a1ff48 02922efc ntdll!ExecuteHandler2+26 02922ee0 02a1ff48 02922efc ntdll!ExecuteHandler+24 02a1ff48 02922efc 02922ee0 ntdll!KiUserExceptionDispatcher+e 02a1ff48
Debug with correct PDB files. Then you will get the right call stack. In my initial assumption, this caused by heap allocation as you can see. Attach the application/activex with debugger and keep it idle. Check the call stack again.
-Sarath.
My blog - Sharing My Thoughts
Rate the answers and close your posts if it's answered
-
Debug with correct PDB files. Then you will get the right call stack. In my initial assumption, this caused by heap allocation as you can see. Attach the application/activex with debugger and keep it idle. Check the call stack again.
-Sarath.
My blog - Sharing My Thoughts
Rate the answers and close your posts if it's answered
-
I belive it is correct pdb, and crash happens consistent always. But irony here is it happens if and only if it is left idle for sometime.
ok. Did you attach to debugger and left it to be Idle?
-Sarath.
My blog - Sharing My Thoughts
Rate the answers and close your posts if it's answered
-
ok. Did you attach to debugger and left it to be Idle?
-Sarath.
My blog - Sharing My Thoughts
Rate the answers and close your posts if it's answered
Yes, i attached with debugger (VS).now i got the stack trace as ntdll.dll!RtlDeleteAtomFromAtomTable() ntdll.dll!KiUserExceptionDispatcher() ntdll.dll!RtlConvertUlongToLargeInteger() ntdll.dll!KiUserExceptionDispatcher() ntdll.dll!RtlConvertUlongToLargeInteger() ntdll.dll!KiUserExceptionDispatcher() ntdll.dll!RtlConvertUlongToLargeInteger() ntdll.dll!KiUserExceptionDispatcher() ntdll.dll!RtlConvertUlongToLargeInteger() ntdll.dll!KiUserExceptionDispatcher() ntdll.dll!RtlConvertUlongToLargeInteger() ntdll.dll!KiUserExceptionDispatcher() ntdll.dll!RtlConvertUlongToLargeInteger() ntdll.dll!KiUserExceptionDispatcher() ntdll.dll!RtlConvertUlongToLargeInteger() ntdll.dll!KiUserExceptionDispatcher() ntdll.dll!RtlConvertUlongToLargeInteger() ntdll.dll!KiUserExceptionDispatcher() ntdll.dll!RtlConvertUlongToLargeInteger() ntdll.dll!KiUserExceptionDispatcher() ntdll.dll!RtlConvertUlongToLargeInteger() ntdll.dll!KiUserExceptionDispatcher() ntdll.dll!RtlConvertUlongToLargeInteger() ntdll.dll!KiUserExceptionDispatcher() ntdll.dll!RtlConvertUlongToLargeInteger() ntdll.dll!KiUserExceptionDispatcher() ntdll.dll!RtlConvertUlongToLargeInteger() ntdll.dll!KiUserExceptionDispatcher() ntdll.dll!RtlConvertUlongToLargeInteger() ntdll.dll!KiUserExceptionDispatcher() ntdll.dll!RtlConvertUlongToLargeInteger() ntdll.dll!KiUserExceptionDispatcher() ntdll.dll!RtlConvertUlongToLargeInteger() ntdll.dll!KiUserExceptionDispatcher() ntdll.dll!RtlConvertUlongToLargeInteger() ntdll.dll!KiUserExceptionDispatcher() ntdll.dll!RtlConvertUlongToLargeInteger() ntdll.dll!KiUserExceptionDispatcher() ntdll.dll!RtlConvertUlongToLargeInteger() ntdll.dll!KiUserExceptionDispatcher() ntdll.dll!RtlConvertUlongToLargeInteger() ntdll.dll!KiUserExceptionDispatcher() ntdll.dll!RtlConvertUlongToLargeInteger() ntdll.dll!KiUserExceptionDispatcher() ntdll.dll!RtlConvertUlongToLargeInteger() ntdll.dll!KiUserExceptionDispatcher() ntdll.dll!RtlConvertUlongToLargeInteger() ntdll.dll!KiUserExceptionDispatcher() ntdll.dll!RtlConvertUlongToLargeInteger() ntdll.dll!KiUserExceptionDispatcher() ntdll.dll!RtlConvertUlongToLargeInteger() ntdll.dll!KiUserExceptionDispatcher() ntdll.dll!RtlConvertUlongToLargeInteger() ntdll.dll!KiUserExceptionDispatcher() ntdll.dll!RtlConvertUlongToLargeInteger() ntdll.dll!K
-
Yes, i attached with debugger (VS).now i got the stack trace as ntdll.dll!RtlDeleteAtomFromAtomTable() ntdll.dll!KiUserExceptionDispatcher() ntdll.dll!RtlConvertUlongToLargeInteger() ntdll.dll!KiUserExceptionDispatcher() ntdll.dll!RtlConvertUlongToLargeInteger() ntdll.dll!KiUserExceptionDispatcher() ntdll.dll!RtlConvertUlongToLargeInteger() ntdll.dll!KiUserExceptionDispatcher() ntdll.dll!RtlConvertUlongToLargeInteger() ntdll.dll!KiUserExceptionDispatcher() ntdll.dll!RtlConvertUlongToLargeInteger() ntdll.dll!KiUserExceptionDispatcher() ntdll.dll!RtlConvertUlongToLargeInteger() ntdll.dll!KiUserExceptionDispatcher() ntdll.dll!RtlConvertUlongToLargeInteger() ntdll.dll!KiUserExceptionDispatcher() ntdll.dll!RtlConvertUlongToLargeInteger() ntdll.dll!KiUserExceptionDispatcher() ntdll.dll!RtlConvertUlongToLargeInteger() ntdll.dll!KiUserExceptionDispatcher() ntdll.dll!RtlConvertUlongToLargeInteger() ntdll.dll!KiUserExceptionDispatcher() ntdll.dll!RtlConvertUlongToLargeInteger() ntdll.dll!KiUserExceptionDispatcher() ntdll.dll!RtlConvertUlongToLargeInteger() ntdll.dll!KiUserExceptionDispatcher() ntdll.dll!RtlConvertUlongToLargeInteger() ntdll.dll!KiUserExceptionDispatcher() ntdll.dll!RtlConvertUlongToLargeInteger() ntdll.dll!KiUserExceptionDispatcher() ntdll.dll!RtlConvertUlongToLargeInteger() ntdll.dll!KiUserExceptionDispatcher() ntdll.dll!RtlConvertUlongToLargeInteger() ntdll.dll!KiUserExceptionDispatcher() ntdll.dll!RtlConvertUlongToLargeInteger() ntdll.dll!KiUserExceptionDispatcher() ntdll.dll!RtlConvertUlongToLargeInteger() ntdll.dll!KiUserExceptionDispatcher() ntdll.dll!RtlConvertUlongToLargeInteger() ntdll.dll!KiUserExceptionDispatcher() ntdll.dll!RtlConvertUlongToLargeInteger() ntdll.dll!KiUserExceptionDispatcher() ntdll.dll!RtlConvertUlongToLargeInteger() ntdll.dll!KiUserExceptionDispatcher() ntdll.dll!RtlConvertUlongToLargeInteger() ntdll.dll!KiUserExceptionDispatcher() ntdll.dll!RtlConvertUlongToLargeInteger() ntdll.dll!KiUserExceptionDispatcher() ntdll.dll!RtlConvertUlongToLargeInteger() ntdll.dll!KiUserExceptionDispatcher() ntdll.dll!RtlConvertUlongToLargeInteger() ntdll.dll!KiUserExceptionDispatcher() ntdll.dll!RtlConvertUlongToLargeInteger() ntdll.dll!KiUserExceptionDispatcher() ntdll.dll!RtlConvertUlongToLargeInteger() ntdll.dll!K
It's hard to identify the problem with this. also this stack trace is not complete. I don't know how this had happened. There should be something wrong with your debugger configuration otherwise it would show the right location. Are you debugging the application or activeX. You said you already saw the call stack from dialog. Trace it down, and ensure that there's nothing fishy until you make a call to ActiveX. and then debug ActiveX
-Sarath.
My blog - Sharing My Thoughts
Rate the answers and close your posts if it's answered
-
It's hard to identify the problem with this. also this stack trace is not complete. I don't know how this had happened. There should be something wrong with your debugger configuration otherwise it would show the right location. Are you debugging the application or activeX. You said you already saw the call stack from dialog. Trace it down, and ensure that there's nothing fishy until you make a call to ActiveX. and then debug ActiveX
-Sarath.
My blog - Sharing My Thoughts
Rate the answers and close your posts if it's answered
-
My application(MFC, windows based with activeX ctrls) crashes if it is been idle for say 2 mins, after invoking a particular component. If some othe roperatio is done, after that it works fine. below is its large call stack
<Unloaded_RapidEyeAPI.dll>+1e701 02921430 02a1ff48 0292144c ntdll!ExecuteHandler2+26 02921430 02a1ff48 0292144c ntdll!ExecuteHandler+24 02a1ff48 0292144c 02921430 ntdll!KiUserExceptionDispatcher+e 02a1ff48 0292144c 02921430 <Unloaded_RapidEyeAPI.dll>+1e701 02921800 02a1ff48 0292181c ntdll!ExecuteHandler2+26 02921800 02a1ff48 0292181c ntdll!ExecuteHandler+24 02a1ff48 0292181c 02921800 ntdll!KiUserExceptionDispatcher+e 02a1ff48 0292181c 02921800 <Unloaded_RapidEyeAPI.dll>+1e701 02921bd0 02a1ff48 02921bec ntdll!ExecuteHandler2+26 02921bd0 02a1ff48 02921bec ntdll!ExecuteHandler+24 02a1ff48 02921bec 02921bd0 ntdll!KiUserExceptionDispatcher+e 02a1ff48 02921bec 02921bd0 <Unloaded_RapidEyeAPI.dll>+1e701 02921fa0 02a1ff48 02921fbc ntdll!ExecuteHandler2+26 02921fa0 02a1ff48 02921fbc ntdll!ExecuteHandler+24 02a1ff48 02921fbc 02921fa0 ntdll!KiUserExceptionDispatcher+e 02a1ff48 02921fbc 02921fa0 <Unloaded_RapidEyeAPI.dll>+1e701 02922370 02a1ff48 0292238c ntdll!ExecuteHandler2+26 02922370 02a1ff48 0292238c ntdll!ExecuteHandler+24 02a1ff48 0292238c 02922370 ntdll!KiUserExceptionDispatcher+e 02a1ff48 0292238c 02922370 <Unloaded_RapidEyeAPI.dll>+1e701 02922740 02a1ff48 0292275c ntdll!ExecuteHandler2+26 02922740 02a1ff48 0292275c ntdll!ExecuteHandler+24 02a1ff48 0292275c 02922740 ntdll!KiUserExceptionDispatcher+e 02a1ff48 0292275c 02922740 <Unloaded_RapidEyeAPI.dll>+1e701 02922b10 02a1ff48 02922b2c ntdll!ExecuteHandler2+26 02922b10 02a1ff48 02922b2c ntdll!ExecuteHandler+24 02a1ff48 02922b2c 02922b10 ntdll!KiUserExceptionDispatcher+e 02a1ff48 02922b2c 02922b10 <Unloaded_RapidEyeAPI.dll>+1e701 02922ee0 02a1ff48 02922efc ntdll!ExecuteHandler2+26 02922ee0 02a1ff48 02922efc ntdll!ExecuteHandler+24 02a1ff48 02922efc 02922ee0 ntdll!KiUserExceptionDispatcher+e 02a1ff48
My guess is that the exception you get is stack-overflow because some place in your code there is an indirect recursive call. Launch your application in a debugger and wait for the problem to happen, then you should be able diagnose what code is causing the problem.