2025-07-19 21:37 CEST

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0001489Spring engineLuapublic2009-07-04 13:02
ReporterSirMaverick 
Assigned ToKloot 
PrioritynormalSeveritycrashReproducibilityalways
StatusresolvedResolutionfixed 
Product Version0.79.1.0+git 
Target VersionFixed in Version0.79.1.0+git 
Summary0001489: reading FeatureDef crashes spring
DescriptionSpring 0.79.1.2 crashes with CA r5100 (test) and r4761 (stable). Does not crash with BA 6.95.

I just read FeatureDefs like in http://springrts.com/wiki/Lua_FeatureDefs
See the widget.
Additional Information0x083720e5 in ModelHeight (L=0xa890b28, data=0xa979f68) at rts/Lua/LuaFeatureDefs.cpp:337
337 case DRAWTYPE_MODEL: { height = LoadModel(fd)->height; break; }
TagsNo tags attached.
Checked infolog.txt for Errors
Attached Files
  • ? file icon featuredef.lua (381 bytes) 2009-07-04 05:03
  • txt file icon backtrace.txt (7,463 bytes) 2009-07-04 05:04 -
    0x083720e5 in ModelHeight (L=0xa890b28, data=0xa979f68) at rts/Lua/LuaFeatureDefs.cpp:337
    337                     case DRAWTYPE_MODEL:  { height = LoadModel(fd)->height;  break; }
    
    backtrace:
    #0  0x083720e5 in ModelHeight (L=0xa890b28, data=0xa979f68) at rts/Lua/LuaFeatureDefs.cpp:337
    #1  0x08372e03 in FeatureDefIndex (L=0xa890b28) at rts/Lua/LuaFeatureDefs.cpp:205
    #2  0x084aafa3 in luaD_precall (L=0xa890b28, func=0xd18ce38, nresults=1) at rts/lib/lua/src/ldo.cpp:319
    #3  0x084ab12c in luaD_call (L=0xa890b28, func=0xd18ce38, nResults=1) at rts/lib/lua/src/ldo.cpp:376
    #4  0x084b1680 in callTMres (L=0xa890b28, res=0xd18ce30, f=0xb71e544, p1=0xd18ce18, p2=0xd18ce30) at rts/lib/lua/src/lvm.cpp:115
    #5  0x084b210c in luaV_gettable (L=0xa890b28, t=0xd18ce18, key=0xd18ce30, val=0xd18ce30) at rts/lib/lua/src/lvm.cpp:152
    #6  0x084b065f in lua_gettable (L=0xa890b28, idx=1) at rts/lib/lua/src/lapi.cpp:560
    #7  0x083c324f in LuaUtils::Next (paramMap=@0x8b0eb70, L=0xa890b28) at rts/Lua/LuaUtils.cpp:453
    #8  0x08372850 in Next (L=0xa890b28) at rts/Lua/LuaFeatureDefs.cpp:288
    #9  0x084aafa3 in luaD_precall (L=0xa890b28, func=0xd18ce10, nresults=2) at rts/lib/lua/src/ldo.cpp:319
    #10 0x084ab12c in luaD_call (L=0xa890b28, func=0xd18ce10, nResults=2) at rts/lib/lua/src/ldo.cpp:376
    #11 0x084b484f in luaV_execute (L=0xa890b28, nexeccalls=1) at rts/lib/lua/src/lvm.cpp:710
    #12 0x084ab148 in luaD_call (L=0xa890b28, func=0xd18cdc0, nResults=-1) at rts/lib/lua/src/ldo.cpp:377
    #13 0x084b003a in f_call (L=0xa890b28, ud=0xbfdc6524) at rts/lib/lua/src/lapi.cpp:821
    #14 0x084aa89f in luaD_rawrunprotected (L=0xa890b28, f=0x84b0010 <f_call>, ud=0xbfdc6524) at rts/lib/lua/src/ldo.cpp:116
    #15 0x084aa90d in luaD_pcall (L=0xa890b28, func=0x84b0010 <f_call>, u=0xbfdc6524, old_top=2864, ef=0) at rts/lib/lua/src/ldo.cpp:463
    #16 0x084afe4a in lua_pcall (L=0xa890b28, nargs=1, nresults=-1, errfunc=0) at rts/lib/lua/src/lapi.cpp:842
    #17 0x084c4dd2 in luaB_pcall (L=0xa890b28) at rts/lib/lua/src/lbaselib.cpp:377
    #18 0x084aafa3 in luaD_precall (L=0xa890b28, func=0xd18cdb8, nresults=-1) at rts/lib/lua/src/ldo.cpp:319
    #19 0x084b420b in luaV_execute (L=0xa890b28, nexeccalls=1) at rts/lib/lua/src/lvm.cpp:614
    #20 0x084ab148 in luaD_call (L=0xa890b28, func=0xd18cd98, nResults=-1) at rts/lib/lua/src/ldo.cpp:377
    #21 0x084b003a in f_call (L=0xa890b28, ud=0xbfdc69c4) at rts/lib/lua/src/lapi.cpp:821
    #22 0x084aa89f in luaD_rawrunprotected (L=0xa890b28, f=0x84b0010 <f_call>, ud=0xbfdc69c4) at rts/lib/lua/src/ldo.cpp:116
    #23 0x084aa90d in luaD_pcall (L=0xa890b28, func=0x84b0010 <f_call>, u=0xbfdc69c4, old_top=2824, ef=0) at rts/lib/lua/src/ldo.cpp:463
    #24 0x084afe4a in lua_pcall (L=0xa890b28, nargs=1, nresults=-1, errfunc=0) at rts/lib/lua/src/lapi.cpp:842
    #25 0x084c4dd2 in luaB_pcall (L=0xa890b28) at rts/lib/lua/src/lbaselib.cpp:377
    #26 0x084aafa3 in luaD_precall (L=0xa890b28, func=0xd18cd90, nresults=-1) at rts/lib/lua/src/ldo.cpp:319
    #27 0x084b420b in luaV_execute (L=0xa890b28, nexeccalls=1) at rts/lib/lua/src/lvm.cpp:614
    #28 0x084ab148 in luaD_call (L=0xa890b28, func=0xd18cd70, nResults=-1) at rts/lib/lua/src/ldo.cpp:377
    #29 0x084b003a in f_call (L=0xa890b28, ud=0xbfdc6e64) at rts/lib/lua/src/lapi.cpp:821
    #30 0x084aa89f in luaD_rawrunprotected (L=0xa890b28, f=0x84b0010 <f_call>, ud=0xbfdc6e64) at rts/lib/lua/src/ldo.cpp:116
    #31 0x084aa90d in luaD_pcall (L=0xa890b28, func=0x84b0010 <f_call>, u=0xbfdc6e64, old_top=2784, ef=0) at rts/lib/lua/src/ldo.cpp:463
    #32 0x084afe4a in lua_pcall (L=0xa890b28, nargs=1, nresults=-1, errfunc=0) at rts/lib/lua/src/lapi.cpp:842
    #33 0x084c4dd2 in luaB_pcall (L=0xa890b28) at rts/lib/lua/src/lbaselib.cpp:377
    #34 0x084aafa3 in luaD_precall (L=0xa890b28, func=0xc351800, nresults=-1) at rts/lib/lua/src/ldo.cpp:319
    #35 0x084b420b in luaV_execute (L=0xa890b28, nexeccalls=1) at rts/lib/lua/src/lvm.cpp:614
    #36 0x084ab148 in luaD_call (L=0xa890b28, func=0xc3517e0, nResults=-1) at rts/lib/lua/src/ldo.cpp:377
    #37 0x084b003a in f_call (L=0xa890b28, ud=0xbfdc7304) at rts/lib/lua/src/lapi.cpp:821
    #38 0x084aa89f in luaD_rawrunprotected (L=0xa890b28, f=0x84b0010 <f_call>, ud=0xbfdc7304) at rts/lib/lua/src/ldo.cpp:116
    #39 0x084aa90d in luaD_pcall (L=0xa890b28, func=0x84b0010 <f_call>, u=0xbfdc7304, old_top=2744, ef=0) at rts/lib/lua/src/ldo.cpp:463
    [...]
    #543 0x084aa90d in luaD_pcall (L=0xa890b28, func=0x84b0010 <f_call>, u=0xbfdd9664, old_top=224, ef=0) at rts/lib/lua/src/ldo.cpp:463
    #544 0x084afe4a in lua_pcall (L=0xa890b28, nargs=1, nresults=-1, errfunc=0) at rts/lib/lua/src/lapi.cpp:842
    #545 0x084c4dd2 in luaB_pcall (L=0xa890b28) at rts/lib/lua/src/lbaselib.cpp:377
    #546 0x084aafa3 in luaD_precall (L=0xa890b28, func=0xce63d18, nresults=-1) at rts/lib/lua/src/ldo.cpp:319
    #547 0x084b420b in luaV_execute (L=0xa890b28, nexeccalls=1) at rts/lib/lua/src/lvm.cpp:614
    #548 0x084ab148 in luaD_call (L=0xa890b28, func=0xce63cf8, nResults=-1) at rts/lib/lua/src/ldo.cpp:377
    #549 0x084b003a in f_call (L=0xa890b28, ud=0xbfdd9b04) at rts/lib/lua/src/lapi.cpp:821
    #550 0x084aa89f in luaD_rawrunprotected (L=0xa890b28, f=0x84b0010 <f_call>, ud=0xbfdd9b04) at rts/lib/lua/src/ldo.cpp:116
    #551 0x084aa90d in luaD_pcall (L=0xa890b28, func=0x84b0010 <f_call>, u=0xbfdd9b04, old_top=184, ef=0) at rts/lib/lua/src/ldo.cpp:463
    #552 0x084afe4a in lua_pcall (L=0xa890b28, nargs=1, nresults=-1, errfunc=0) at rts/lib/lua/src/lapi.cpp:842
    #553 0x084c4dd2 in luaB_pcall (L=0xa890b28) at rts/lib/lua/src/lbaselib.cpp:377
    #554 0x084aafa3 in luaD_precall (L=0xa890b28, func=0xce63cf0, nresults=-1) at rts/lib/lua/src/ldo.cpp:319
    #555 0x084b420b in luaV_execute (L=0xa890b28, nexeccalls=4) at rts/lib/lua/src/lvm.cpp:614
    #556 0x084ab148 in luaD_call (L=0xa890b28, func=0xce63c48, nResults=1) at rts/lib/lua/src/ldo.cpp:377
    #557 0x084b003a in f_call (L=0xa890b28, ud=0xbfdd9fa4) at rts/lib/lua/src/lapi.cpp:821
    #558 0x084aa89f in luaD_rawrunprotected (L=0xa890b28, f=0x84b0010 <f_call>, ud=0xbfdd9fa4) at rts/lib/lua/src/ldo.cpp:116
    #559 0x084aa90d in luaD_pcall (L=0xa890b28, func=0x84b0010 <f_call>, u=0xbfdd9fa4, old_top=8, ef=0) at rts/lib/lua/src/ldo.cpp:463
    #560 0x084afe4a in lua_pcall (L=0xa890b28, nargs=3, nresults=1, errfunc=0) at rts/lib/lua/src/lapi.cpp:842
    #561 0x083a4544 in CLuaHandle::RunCallInTraceback (this=0xa3a79d8, hs=@0x8b0f3b8, inArgs=3, outArgs=1, errfuncIndex=0) at rts/Lua/LuaHandle.cpp:206
    #562 0x083a4680 in CLuaHandle::RunCallIn (this=0xa3a79d8, hs=@0x8b0f3b8, inArgs=3, outArgs=1) at rts/Lua/LuaHandle.cpp:230
    #563 0x083b1cef in CLuaHandle::RunCallInUnsynced (this=0xa3a79d8, hs=@0x8b0f3b8, inArgs=3, outArgs=1) at rts/Lua/LuaHandle.cpp:239
    #564 0x083a7d6e in CLuaHandle::MouseRelease (this=0xa3a79d8, x=872, y=688, button=1) at rts/Lua/LuaHandle.cpp:1529
    #565 0x083e6fd9 in CEventHandler::MouseRelease (this=0x8b0ff40, x=872, y=688, button=1) at rts/System/EventHandler.cpp:468
    #566 0x0839d92d in LuaInputReceiver::MouseRelease (this=0xc133620, x=872, y=688, button=1) at rts/Lua/LuaInputReceiver.cpp:54
    #567 0x088b7361 in CMouseHandler::MouseRelease (this=0x9e7a460, x=872, y=688, button=1) at rts/Game/UI/MouseHandler.cpp:308
    #568 0x083ce697 in CDefaultMouseInput::HandleSDLMouseEvent (this=0x9b796c0, event=@0xbfdda48c) at rts/System/MouseInput.cpp:264
    #569 0x083e0fdf in SpringApp::Run (this=0xbfdda5b0, argc=1, argv=0xbfdda694) at rts/System/SpringApp.cpp:1019
    #570 0x0840fbf4 in Run (argc=1, argv=0xbfdda694) at rts/System/Main.cpp:93
    #571 0x0840fc57 in main (argc=1, argv=0xbfdda694) at rts/System/Main.cpp:110
    
    
    txt file icon backtrace.txt (7,463 bytes) 2009-07-04 05:04 +

-Relationships
+Relationships

-Notes

~0003715

SirMaverick (reporter)

Added longer backtrace. Skipped repeating parts.

It happens also with Spring 0.79.1.1.

~0003717

Kloot (developer)

The problem is that none of your chicken units have corpse definitions (empty DEAD tables). However, the inner pairs iteration triggers Spring to load the corpse model (unitname_dead) for certain properties. Since the chickens don't have any, the result is a crash.
+Notes

-Issue History
Date Modified Username Field Change
2009-07-04 05:03 SirMaverick New Issue
2009-07-04 05:03 SirMaverick File Added: featuredef.lua
2009-07-04 05:04 SirMaverick File Added: backtrace.txt
2009-07-04 05:05 SirMaverick Note Added: 0003715
2009-07-04 12:43 Kloot Note Added: 0003717
2009-07-04 13:02 Kloot Status new => resolved
2009-07-04 13:02 Kloot Fixed in Version => 0.79.1.0+git
2009-07-04 13:02 Kloot Resolution open => fixed
2009-07-04 13:02 Kloot Assigned To => Kloot
+Issue History