2024-03-28 17:30 CET

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0001160Spring engineGeneralpublic2008-11-16 17:59
Reporterimbaczek 
Assigned Tozerver 
PrioritynormalSeveritycrashReproducibilityalways
StatusresolvedResolutionfixed 
Product Version 
Target VersionFixed in Version0.77b5+svn 
Summary0001160: errors in lua scripts can cause spring crashes (uncaught throw in luaD_throw?)
DescriptionIW b41v3 seems to trigger this a lot.
Additional Informationexample stacktrace:
rts/System/SpringApp.cpp:91
UNTRANSLATED: C:\WINDOWS\system32\msvcrt.dll(raise+0x14d) [0x77C352DA]
UNTRANSLATED: C:\WINDOWS\system32\msvcrt.dll(abort+0xe) [0x77C36BC1]
e:/projects/libogg-1.1/src/bitwise.c:447 [oggpackB_get_buffer]
e:/projects/libogg-1.1/src/bitwise.c:447 [oggpackB_get_buffer]
e:/projects/libogg-1.1/src/bitwise.c:447 [oggpackB_get_buffer]
rts/lib/lua/src/ldo.cpp:100 [luaD_throw(lua_State*, int)]
rts/lib/lua/src/ldebug.cpp:612 [luaG_errormsg(lua_State*)]
rts/lib/lua/src/ldebug.cpp:621 [luaG_runerror(lua_State*, char const*, ...)]
rts/lib/lua/src/ldebug.cpp:562 [luaG_typeerror(lua_State*, lua_TValue const*, char const*)]
rts/lib/lua/src/lvm.cpp:152 [luaV_gettable(lua_State*, lua_TValue const*, lua_TValue*, lua_TValue*)]
rts/lib/lua/src/lvm.cpp:466 [luaV_execute(lua_State*, int)]
rts/lib/lua/src/ldo.cpp:377 [luaD_call(lua_State*, lua_TValue*, int)]
rts/lib/lua/src/lapi.cpp:818 [f_call]
rts/lib/lua/src/ldo.cpp:119 [luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*)]
rts/lib/lua/src/ldo.cpp:462 [luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, int, int)]
rts/lib/lua/src/lapi.cpp:839 [lua_pcall(lua_State*, int, int, int)]
rts/Lua/LuaHandle.h:344 [CLuaHandle::SetActiveHandle(CLuaHandle*)]
rts/Lua/LuaHandle.cpp:191
rts/Lua/LuaHandleSynced.cpp:718
rts/Game/Game.cpp:3121
rts/System/Sync/SyncChecker.h:43 [CSyncChecker::GetChecksum()]
rts/Game/Game.cpp:3580
rts/Game/Game.cpp:2475
rts/System/SpringApp.cpp:870
rts/System/SpringApp.cpp:1069
rts/System/Main.cpp:60 [Run(int, char**)]
rts/System/Main.cpp:122 [WinMain@16]
Action.cpp:0
/src/mingw-runtime-3.13-20070825-1/crt1.c:237 [__mingw_CRTStartup]
/src/mingw-runtime-3.13-20070825-1/crt1.c:271
UNTRANSLATED: C:\WINDOWS\system32\kernel32.dll(RegisterWaitForInputIdle+0x49) [0x7C816FD7]
--
profile=default sys=windows auto=yes rev=6740 file=http://forums.imperialwinter.com/index.php?action=dlattach;topic=170.0;attach=735 buildsys=scons tag=spring_0.77b4
TagsNo tags attached.
Checked infolog.txt for Errors
Attached Files

-Relationships
has duplicate 0001195resolvedzerver Access violation (0xc0000005), Address: 0x00a680fa 
+Relationships

-Notes

~0003072

zerver (reporter)

I have encountered this couple of times with my multithreading version.

http://planetspring.free.fr/spring/stacktrace/%5Bgmlsim%5Dgmltest_spring_stktrc_R7041_1226713973.txt
http://planetspring.free.fr/spring/stacktrace/%5Bgmlsim%5Dgmltest_spring_stktrc_R6990_1226242544.txt
http://planetspring.free.fr/spring/stacktrace/%5Bgmlsim%5Dgmltest_spring_stktrc_R6981_1225984944.txt
http://planetspring.free.fr/spring/stacktrace/%5Bgmlsim%5Dgmltest_spring_stktrc_R6936_1225558029.txt
http://planetspring.free.fr/spring/stacktrace/%5Bgmlsim%5Dgmltest_spring_stktrc_R6936_1225482991.txt

I thought it was multithreading-related (bad synchronization), but after seeing your stacktrace I'm not so sure anymore.

All my stacktraces seem so point to settable/gettable, but this could be coincidence. I guess we are missing a LUAI_TRY somewhere?

~0003073

zerver (reporter)

This one is really weird. It seems that if you throw an exception - ANY exception - inside luaD_rawrunprotected, it instantly crashes with GCC. The same code works fine with MSVC.

~0003074

imbaczek (reporter)

is that bibim's 4.2.1 or tdragon's 4.3.2? or both? probably have to switch lua exceptions to explicit setjmp/longjmp, it's possible to #define a macro for that.

~0003075

zerver (reporter)

It's both.

Yeah, I'll make a macro to disable the LUA try...catch thing for GCC 4.X

~0003076

zerver (reporter)

Disabled LUA try/catch for GCC 4.X
+Notes

-Issue History
Date Modified Username Field Change
2008-10-19 21:26 imbaczek New Issue
2008-10-20 18:24 imbaczek Additional Information Updated
2008-11-06 19:27 Auswaschbar Relationship added has duplicate 0001195
2008-11-15 16:06 zerver Note Added: 0003072
2008-11-16 14:39 zerver Note Added: 0003073
2008-11-16 15:03 imbaczek Note Added: 0003074
2008-11-16 16:24 zerver Note Added: 0003075
2008-11-16 17:59 zerver Note Added: 0003076
2008-11-16 17:59 zerver Status new => resolved
2008-11-16 17:59 zerver Fixed in Version => 0.77b5+svn
2008-11-16 17:59 zerver Resolution open => fixed
2008-11-16 17:59 zerver Assigned To => zerver
+Issue History