Recursion too deep; the stack overflowed.

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Recursion too deep; the stack overflowed.

talios@gmail.com
Hey all, I keep seeing this low level exception occuring every now and then in a COM Outlook Addin DLL - I've not been able to pinpoint why this occurs thou, and was wondering if anyone else had seen it - or knew of any way I could somehow cleanly trap/handle it?

Mark



************************** Dolphin Virtual Machine Dump Report ***************************

10:03:10, 17/01/05: Recursion too deep; the stack overflowed. (16r3E9: Recursion too deep; the stack overflowed.)

*----> VM Context <----*
Process: {081B0004:size 33856 words, suspended frame 081D0FED, priority 8, callbacks 0
last failure 2:nil, FPE mask 3, thread nil}
Active Method: AXDllSessionManager>>logError:
IP: 0819F18F (15)
SP: 081D11B0
BP: 081D1188 (33873)
ActiveFrame: {081D118C: cf 081D1171, sp 081D11A0, bp 081D1188, ip 5, AXDllSessionManager>>logError:}
        receiver: a AXDllSessionManager
        arg[0]: a Win32Error


Reply | Threaded
Open this post in threaded view
|

Re: Recursion too deep; the stack overflowed.

Chris Uppal-3
Mark Derricutt wrote:

> 10:03:10, 17/01/05: Recursion too deep; the stack overflowed. (16r3E9:
> Recursion too deep; the stack overflowed.)

Most commonly (in my experience, at least) fatal stack overflow errors are
caused by a problem experienced while trying to report an error, which triggers
another error that also cannot be reported, etc...

If that is the case, then the diagnostically interesting bit of the stack trace
will be at the other end of the stack, where something has first gone wrong.
Come to that, the stuff near the bottom of the stack, just before/as it enters
the recursion, are usually most useful for /any/ recursion overflows.

    -- chris


Reply | Threaded
Open this post in threaded view
|

Re: Recursion too deep; the stack overflowed.

talios@gmail.com
Chris Uppal wrote:

>If that is the case, then the diagnostically interesting bit of the stack trace
>will be at the other end of the stack, where something has first gone wrong.
>Come to that, the stuff near the bottom of the stack, just before/as it enters
>the recursion, are usually most useful for /any/ recursion overflows.
>  
>
That was my assumption, although theres nothing giving (at least me)
anything of decent "aha" ness.  Alot of ISupportErrorInfo with a
HRESULTError followed by "<...more...>" and the end of the dump.

Sadly I'm asuming theres something in that <...more...> which would be
usefull.


Reply | Threaded
Open this post in threaded view
|

Re: Recursion too deep; the stack overflowed.

Chris Uppal-3
Mark Derricutt wrote:

> That was my assumption, although theres nothing giving (at least me)
> anything of decent "aha" ness.  Alot of ISupportErrorInfo with a
> HRESULTError followed by "<...more...>" and the end of the dump.

I /think/ that you may be talking about an application based on the ActiveX
server kit ?  If so, then it looks as if the stack and walkback depths are
artificially limited to 60 and 50 respectively[*].  If I'm right then I suggest
changing/overriding AXDllSessionManager>>logError: to use a walkbackDepth:
of -1.

If that's not your situation, then I'm puzzled because I thought that was the
only context where Dolphin doesn't produce an unlimited walkback trace by
default.

    -- chris

([*] I can't imagine why)