lua-users home
lua-l archive

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


Looks like you compiled Lua statically inside both lua5.1.exe and
lpeg.dll, now you have two Lua runtimes, which is *bad*. You should
recompile both lua5.1.exe and lpeg.dll to link with lua5.1.dll.

--
Fabio Mascarenhas


On Tue, Feb 15, 2011 at 4:34 PM, Andre Arpin <arpin@kingston.net> wrote:
> lpeg 10.1 lua 5.1.4 window 7
>
> test 1:
> test.lua (as received)
>
> unhandle exception
>  gkey(mp)->value = key->value; gkey(mp)->tt = key->tt;
> 669775C4  mov         eax,dword ptr [key]
> 669775C7  mov         ecx,dword ptr [eax]
> 669775C9  mov         edx,dword ptr [eax+4]
> 669775CC  mov         eax,dword ptr [mp]
> 669775CF  mov         dword ptr [eax+10h],ecx <= cursor
>
> line in test.lua require 'lpeg'
> line in errro is in strict.lua
>    mt.__declared[n] = true
>
> ---------------------------------------
>
> test 2: remove require 'strict'
>
> same error at line 78 in test.lua
>
>  assert(m.locale(t, m) == t)
>
> --------------------------------------
>
> test.3
>
> re-introduce strict adding this line to strict.lua
> if #mt.__declared == 0 then mt.__declared = {}  end
> before
>    mt.__declared[n] = true
>  same error as test.2 at lien 78 of test.lua
> ----------------------------------------
>
> stack trace (from test 3):
>
>        lpeg.dll!newkey(lua_State * L=0x00584cd0, Table * t=0x00168d80, const
> lua_TValue * key=0x003dde48)  Line 426 + 0xb bytes      C
>        lpeg.dll!luaH_set(lua_State * L=0x00584cd0, Table * t=0x00168d80,
> const lua_TValue * key=0x003dde48)  Line 504 + 0x11 bytes       C
>        lpeg.dll!luaV_settable(lua_State * L=0x00584cd0, const lua_TValue *
> t=0x0016d0e8, lua_TValue * key=0x003dde48, lua_TValue * val=0x0016d0f8)  Line
> 140 + 0x11 bytes        C
>        lpeg.dll!lua_setfield(lua_State * L=0x00584cd0, int idx=-2, const char
> * k=0x620baf10)  Line 665 + 0x1b bytes  C
>        lpeg.dll!createcat(lua_State * L=0x00584cd0, const char *
> catname=0x620baf10, int (int)* catf=0x61d90a70)  Line 2272 + 0x11 bytes C
>        lpeg.dll!locale_l(lua_State * L=0x00584cd0)  Line 2285 + 0x14 bytes
>        C
>        lua5.1.exe!luaD_precall(lua_State * L=0x00584cd0, lua_TValue *
> func=0x0016d0d8, int nresults=0)  Line 319 + 0x16 bytes C
>        lua5.1.exe!luaV_execute(lua_State * L=0x00584cd0, int nexeccalls=1)
> Line 587 + 0x14 bytes   C
>        lua5.1.exe!luaD_call(lua_State * L=0x00584cd0, lua_TValue *
> func=0x005812d0, int nResults=-1)  Line 377 + 0xb bytes C
>        lua5.1.exe!f_call(lua_State * L=0x00584cd0, void * ud=0x003dedb0)
> Line 800 + 0x16 bytes   C
>        lua5.1.exe!luaD_rawrunprotected(lua_State * L=0x00584cd0, void
> (lua_State *, void *)* f=0x013b52c0, void * ud=0x003dedb0)  Line 118 + 0x1f
> bytes   C
>        lua5.1.exe!luaD_pcall(lua_State * L=0x00584cd0, void (lua_State *,
> void *)* func=0x013b52c0, void * u=0x003dedb0, int old_top=64, int ef=48)
> Line 463 + 0x11 bytes   C
>        lua5.1.exe!lua_pcall(lua_State * L=0x00584cd0, int nargs=0, int
> nresults=-1, int errfunc=2)  Line 821 + 0x20 bytes      C
>        lua5.1.exe!docall(lua_State * L=0x00584cd0, int narg=0, int clear=0)
> Line 102 + 0x1e bytes   C
>        lua5.1.exe!handle_script(lua_State * L=0x00584cd0, char * *
> argv=0x00584c50, int n=1)  Line 250 + 0xf bytes C
>        lua5.1.exe!pmain(lua_State * L=0x00584cd0)  Line 362 + 0x11 bytes
>        C
>        lua5.1.exe!luaD_precall(lua_State * L=0x00584cd0, lua_TValue *
> func=0x005812a0, int nresults=0)  Line 319 + 0x16 bytes C
>        lua5.1.exe!luaD_call(lua_State * L=0x00584cd0, lua_TValue *
> func=0x005812a0, int nResults=0)  Line 376 + 0x11 bytes C
>        lua5.1.exe!f_Ccall(lua_State * L=0x00584cd0, void * ud=0x003df76c)
> Line 846 + 0x15 bytes   C
>        lua5.1.exe!luaD_rawrunprotected(lua_State * L=0x00584cd0, void
> (lua_State *, void *)* f=0x013b53c0, void * ud=0x003df76c)  Line 118 + 0x1f
> bytes   C
>        lua5.1.exe!luaD_pcall(lua_State * L=0x00584cd0, void (lua_State *,
> void *)* func=0x013b53c0, void * u=0x003df76c, int old_top=16, int ef=0)  Line
> 463 + 0x11 bytes        C
>        lua5.1.exe!lua_cpcall(lua_State * L=0x00584cd0, int (lua_State *)*
> func=0x013b1240, void * ud=0x003df86c)  Line 856 + 0x21 bytes   C
>        lua5.1.exe!main(int argc=2, char * * argv=0x00584c50)  Line 387 + 0x12
> bytes   C
>        lua5.1.exe!__tmainCRTStartup()  Line 582 + 0x19 bytes   C
>        lua5.1.exe!mainCRTStartup()  Line 399   C
>        kernel32.dll!75453677()
>        [Frames below may be incorrect and/or missing, no symbols loaded for
> kernel32.dll]
>        ntdll.dll!77629f02()
>        ntdll.dll!77629ed5()
>
> Will be away for 2 days but I am willing to run others test if it could help.
>
> Andre
>
>
>
>
>