lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


 Gedalia Pasternak <gedalia@gmail.com> wrote:
>
>
> ---------- Forwarded message ----------
> From: Mail Delivery Subsystem <mailer-daemon@googlemail.com>
> Date: Fri, Jul 29, 2011 at 2:44 PM
> Subject: Delivery Status Notification (Failure)
> To: gedalia@gmail.com
>
> Hello,
>   This is a bit of a shot in the dark but, I have a small game engine
> that's using lua for a heavy amount of AI scripting... one of the 'features'
> of the integrated editor is that when the script editor looses focus I
> automatically recompile the code.. As the code has gotten much more complex
> I'm starting to see instability since it's not always possible to have
> everything correct when you shift files. As part of error reporting I'm
> occasionally using debug.traceback() to provide a stack trace to the end
> user showing how they got to the error... however I've been seeing a crash
> that I've tracked down to:
>
>     getfuncname(lua_State * L=thread top=2, CallInfo * ci=0x116061e8, const
> char * * name=0x0013c078)  Line 533 + 0x3a bytes    C++
>     auxgetinfo(lua_State * L=thread top=2, const char * what=0x00f451c9,
> lua_Debug * ar=0x00000000, Closure * f=..., CallInfo * ci=0x11606200)  Line
> 215 + 0x13 bytes    C++
>     lua_getinfo(lua_State * L=thread top=2, const char * what=0x00f451c8,
> lua_Debug * ar=0x0013c074)  Line 250    C++
>     db_errorfb(lua_State * L=thread top=2)  Line 353    C++
>     luaD_precall(lua_State * L=thread top=2, lua_TValue * func=empty, int
> nresults=1)  Line 319 + 0xe bytes    C++
>     luaV_execute(lua_State * L=thread top=2, int nexeccalls=2)  Line 587 +
> 0xb bytes    C++
>     luaD_call(lua_State * L=thread top=2, lua_TValue * func=..., int
> nResults=0)  Line 377 + 0x8 bytes    C++
>     f_call(lua_State * L=thread top=2, void * ud=0x0013c244)  Line 801 +
> 0x15 bytes    C++
>     luaD_rawrunprotected(lua_State * L=thread top=2, void (lua_State *,
> void *)* f=0x00f22d10, void * ud=0x0013c244)  Line 118 + 0x11 bytes    C++
>     luaD_pcall(lua_State * L=thread top=99737823, void (lua_State *, void
> *)* func=0x00f22d10, void * u=0x0013c244, int old_top=0, int ef=0)  Line 463
> + 0x1b bytes    C++
>     lua_pcall(lua_State * L=thread top=-89427969, int nargs=172569784, int
> nresults=524994920, int errfunc=1302152)  Line 822 + 0x19 bytes    C++

Am I reading this right?  nargs == 172569784 ??  nresults and errfunc
are similarly way too large I think.

Is the API checking turned on?

James