lua-users home
lua-l archive

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


>Am I reading this right?  nargs == 172569784 ??  nresults and errfunc
>are similarly way too large I think.
>
>Is the API checking turned on?

yup... I've stepped through the code in release and seen those values go from something reasonable to rather unhappy.. but it wasn't clear to me why. I didn't know about the api checking assert... I've just tracked that bit down and will try recompiling with that flag...
  I have noticed that some c++ into lua functions are no longer working after the compile fails, and in least one case I've poked at the lua stack and it said that there was -1 entries... so maybe my interface isn't cleanly handling the some of the errors and messing up the stack state.
thanks
-gedalia

On Sat, Jul 30, 2011 at 10:52 AM, James Graves <james.c.graves.jr@gmail.com> wrote:
 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




--
---------------------------------------------------------------
cel: 917.776.8346                 AIM: gedaliap
http://www.gedalia.net
---------------------------------------------------------------
Fight Entropy!!!  Fight Entropy!!!  Figth Etnropy! !
iFgth Etnrop!y ! giFth tErno!py !  giFt htrEno!p y! --- Well maybe
not...