What "C stack overflow" means?

UI and Macro
Is it exactly "C stack overflow" or Lua (20 default, seems 40 real) stack overflow? If it is Lua overflow - anything using more than 40 arguments can crash it (even print(1,2,3, ...,41). Workaround only passing as tables (I was adopting once Lua API and Luna.h for Delphi, so something I know).
Or is it client's C functions stack overflow? Is Lua wrapper multithreaded now?

I'm asking because this error is something hard to understand. It can happen after several hours of battlegrounds with taintLog enabled blaming just too long but working snippet (with FrameRef) while opening bugged map. Or can blame hook function used too much (for example called for every button) which is not a problem if called in single thread.
C stack overflow generally refers to the call stack, and is usually a sign that something has recursed too much. An example would be a frame that, on creation, creates another one of itself, causing a runaway attempt to create infinite frames, or a hook that responds to an event by taking some action that triggers that event again.
Is there exact counter value? For example 20, 40, 200? Lets say I have 5*12 frames (frames attached to action bars buttons), frameref to each, checking and hiding through snippet other frames with some attribute (to make "unique" like). How much frames I can have before it causing "C stack overflow"?
If I'm using taintLog is it affects this value by adding own data to call stack?

Question quite practical, see players logs on first page http://www.curse.com/addons/wow/flyoutbutton-custom - accidentally (by making to try, thinking later :) ) I put hooksecurefunc(GameTooltip, "SetAction", myhandler) into wrong place (was called for every button instead of once for addon). It was not recursive calls, just too much (60 or more, per arrow button).
On the other hand when I made really recursive calls (hooksecurefunc(frame.icon, "SetTexture", myhandler) with SetTexture in myhandler) I had no errors, client freeze after some time (up to hours).

Thanks for response.

Join the Conversation

Return to Forum