[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: RE: Hook procedure problem
- From: "Zulfiqar Malik" <zulfiqar.malik@...>
- Date: Wed, 15 Feb 2006 13:51:57 +0500
I can't see how its got anything to do with try/throw? (or am I missing
something over here?). I don't throw any exceptions and neither do I catch
any (although that can be done, I am using C++). I just want to know why the
VM crashes when I try to do a lua_dofile(...) from a lua hook procedure?
-----Original Message-----
From: lua-bounces@bazar2.conectiva.com.br
[mailto:lua-bounces@bazar2.conectiva.com.br] On Behalf Of D Burgess
Sent: Tuesday, February 14, 2006 5:17 PM
To: Lua list
Subject: Re: Hook procedure problem
are you using setjmp/longjmp or try/throw? C or C++?
Db
On 2/14/06, Zulfiqar Malik <zulfiqar.malik@itrango.com> wrote:
>
>
>
> I mailed this scenario a month or so earlier but got no replies. Now the
> problem is haunting me again and I need urgent help.
>
> Coming to the point, I have an in-house debugger integrated in visual
studio
> that I use to debug our game scripts. Its an embedded debugger that uses
lua
> hooks for debugging purposes (uses LUA_MASKLINE | LUA_MASKCALL |
> LUA_MASKRET). The problem arises when I am in the middle of a debugging
> session (i.e. inside the hook procedure), executing the code step by step,
> when a particular line of lua code calls a C function which in turns calls
> lua_dofile(.) on another script file. In such a scenario, the application
> crashes! The entire call stack that is accessible to me is give in the
end.
> I can't seem to figure out the problem. Can someone help me out please? Is
> there something that I am doing wrong or is it a lua bug? Thanks in
advance.
>
>
>
> ntdll.dll!7c901230()
>
> ntdll.dll!7c96c943()
>
> ntdll.dll!7c96cd80()
>
> ntdll.dll!7c96df66()
>
> ntdll.dll!7c94a5d0()
>
> ntdll.dll!7c9268ad()
>
> msvcr71.dll!free(void * pBlock=0x01365f58) Line 103 C
>
> MJ Game.exe!_luaM_realloc() + 0x1d
>
> MJ Game.exe!_luaC_sweep() + 0x11f
>
> MJ Game.exe!_luaC_sweep() + 0x7d
>
> MJ Game.exe!_luaC_sweep() + 0x188
>
> MJ Game.exe!_luaC_sweep() + 0x28
>
> MJ Game.exe!_luaC_collectgarbage() + 0x16
>
> MJ Game.exe!_luaV_execute() + 0x37c
>
> MJ Game.exe!_luaD_call() + 0x4b
>
> MJ Game.exe!_lua_pcall() + 0x75
>
> MJ Game.exe!_luaD_rawrunprotected() + 0x3a
>
> MJ Game.exe!_luaD_pcall() + 0x41
>
> MJ Game.exe!_lua_pcall() + 0x55
>
> MJ Game.exe!_lua_dofile() + 0x3a
>
> MJ Game.exe!_lua_dofile() + 0x17
>
> MJ Game.exe!cHSExecuteScript(lua_State * L=0x013c8be8) Line 3892 +
> 0x10 C++
>
> MJ Game.exe!_luaD_precall() + 0x160
>
> MJ Game.exe!_luaV_execute() + 0x9fd
>
> MJ Game.exe!_luaD_call() + 0x4b
>
> MJ Game.exe!_lua_pcall() + 0x75
>
> MJ Game.exe!_luaD_rawrunprotected() + 0x3a
>
> MJ Game.exe!_luaD_pcall() + 0x41
>
> MJ Game.exe!_lua_pcall() + 0x55
>
> MJ Game.exe!_lua_dofile() + 0x3a
>
> MJ Game.exe!_lua_dofile() + 0x17
>
> MJ Game.exe!cHSExecuteScript(lua_State * L=0x013c8be8) Line 3892 +
> 0x10 C++
>
> MJ Game.exe!_luaD_precall() + 0x160
>
> MJ Game.exe!_luaV_execute() + 0x9fd
>
> MJ Game.exe!_luaD_call() + 0x4b
>
> MJ Game.exe!_lua_pcall() + 0x75
>
> MJ Game.exe!_luaD_rawrunprotected() + 0x3a
>
> MJ Game.exe!_luaD_pcall() + 0x41
>
> MJ Game.exe!_lua_pcall() + 0x55
>
> MJ Game.exe!_lua_dofile() + 0x3a
>
> MJ Game.exe!_lua_dofile() + 0x17
>
> MJ Game.exe!cHSExecuteScript(lua_State * L=0x013c8be8) Line 3892 +
> 0x10 C++
>
> MJ Game.exe!_luaD_precall() + 0x160
>
> MJ Game.exe!_luaV_execute() + 0x9fd
>
> MJ Game.exe!_luaD_call() + 0x4b
>
> MJ Game.exe!_lua_pcall() + 0x75
>
> MJ Game.exe!_luaD_rawrunprotected() + 0x3a
>
> MJ Game.exe!_luaD_pcall() + 0x41
>
> MJ Game.exe!_lua_pcall() + 0x55
>
> MJ Game.exe!_lua_dofile() + 0x3a
>
> MJ Game.exe!_lua_dofile() + 0x17
>
> MJ Game.exe!cHSExecuteScript(lua_State * L=0x013c8be8) Line 3892 +
> 0x10 C++
>
> > Helios_1_0.dll!_luaD_precall() + 0x160
>
> Helios_1_0.dll!_luaV_execute() + 0x9fd
>
> Helios_1_0.dll!_luaD_call() + 0x4b
>
> Helios_1_0.dll!_lua_pcall() + 0x75
>
> Helios_1_0.dll!_luaD_rawrunprotected() + 0x3a
>
> Helios_1_0.dll!_luaD_pcall() + 0x41
>
> Helios_1_0.dll!_lua_pcall() + 0x55
>
> Helios_1_0.dll!_lua_dofile() + 0x3a
>
> Helios_1_0.dll!_lua_dofile() + 0x17
>
> Helios_1_0.dll!HCScriptManager::ExecFile(const char
> * pszFileName=0x00471f04) Line 76 + 0x10 C++
>
> MJ Game.exe!GameAppCB(HCWnd * poWnd=0x00000000, unsigned int
> uiMsg=1000, int wParam=1244496, int lParam=0) Line 1490 + 0x14 C++
>
> MJ Game.exe!GameLoop() Line 1786 C++
>
> MJ Game.exe!SDL_main(int argc=1, char * * argv=0x0012fee0) Line
639
> C++
>
> MJ Game.exe!_main() + 0xd9 C
>
> MJ Game.exe!_WinMain@16() + 0x1cc C
>
> MJ Game.exe!WinMainCRTStartup() Line 390 + 0x1b C
>
> kernel32.dll!7c816d4f()
>
> ntdll.dll!7c915b4f()
>
> kernel32.dll!7c8399f3()
>
>
>
> Regards,
>
> Zulfiqar Inayat Malik.