View Issue Details

IDProjectCategoryView StatusLast Update
0001113Spring engineGeneralpublic2008-10-12 16:32
Reporterel_matarife Assigned ToKloot  
PrioritynormalSeveritycrashReproducibilityhave not tried
Status resolvedResolutionfixed 
Product Version0.77b3 
Summary0001113: Movemath crash for all player in game .77B3
DescriptionAll players in my game crashed, I believe when someone was running a /take command. This is BA Chickens 1.36 on a metal map, so the replay will be very slow.
Additional Information********************

A post hinting that Lua gadget code can precipitate this crash:
http://spring.clan-sy.com/phpbb/viewtopic.php?p=311760#p311760

Steps to reproduce:
1. start a BA Chickens game (v1.36)
2. /cheat
3. /give 5 armbull
4. /give 5 chickenr1 1
5. <crash>

The Lobber (chickenr1) is replaced via Lua by an "enraged Lobber" (chickenr2) when it is hit by something, which causes the inconsistent state.

********************



e:/projects/libogg-1.1/src/bitwise.c:447 [oggpackB_get_buffer]
/home/spring/src/winTag_spring_0.77b3/rts/Sim/MoveTypes/MoveMath/MoveMath.cpp:160
/home/spring/src/winTag_spring_0.77b3/rts/Sim/MoveTypes/MoveMath/MoveMath.cpp:249
/home/spring/src/winTag_spring_0.77b3/rts/Sim/MoveTypes/MoveMath/MoveMath.cpp:136
/home/spring/src/winTag_spring_0.77b3/rts/Sim/Path/PathFinder.cpp:388
/home/spring/src/winTag_spring_0.77b3/rts/Sim/Path/PathFinder.cpp:316
/home/spring/src/winTag_spring_0.77b3/rts/Sim/Path/PathFinder.cpp:286
/home/spring/src/winTag_spring_0.77b3/rts/Sim/Path/PathFinder.cpp:222
/home/spring/src/winTag_spring_0.77b3/rts/Sim/Path/PathManager.cpp:136
/home/spring/src/winTag_spring_0.77b3/rts/Sim/Path/PathManager.cpp:109
/home/spring/src/winTag_spring_0.77b3/rts/Sim/MoveTypes/GroundMoveType.cpp:1196
/home/spring/src/winTag_spring_0.77b3/rts/Sim/MoveTypes/GroundMoveType.cpp:1305
/home/spring/src/winTag_spring_0.77b3/rts/Sim/MoveTypes/GroundMoveType.cpp:508
/home/spring/src/winTag_spring_0.77b3/rts/Sim/MoveTypes/GroundMoveType.cpp:474
/home/spring/src/winTag_spring_0.77b3/rts/Sim/Units/CommandAI/MobileCAI.cpp:885
/home/spring/src/winTag_spring_0.77b3/rts/Sim/Units/CommandAI/MobileCAI.cpp:665
/home/spring/src/winTag_spring_0.77b3/rts/Sim/Units/CommandAI/CommandAI.cpp:1220
/home/spring/src/winTag_spring_0.77b3/rts/Sim/Units/CommandAI/MobileCAI.cpp:352
/home/spring/src/winTag_spring_0.77b3/rts/Sim/Units/Unit.cpp:745
/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/include/c++/bits/stl_list.h:142 [std::_List_iterator<CUnit*>::operator++()]
/home/spring/src/winTag_spring_0.77b3/rts/Sim/Units/UnitHandler.cpp:286
/home/spring/src/winTag_spring_0.77b3/rts/Game/Game.cpp:3163
/home/spring/src/winTag_spring_0.77b3/rts/System/Sync/SyncChecker.h:43 [CSyncChecker::GetChecksum()]
/home/spring/src/winTag_spring_0.77b3/rts/Game/Game.cpp:3553
/home/spring/src/winTag_spring_0.77b3/rts/Game/Game.cpp:2478
/home/spring/src/winTag_spring_0.77b3/rts/System/SpringApp.cpp:870
/home/spring/src/winTag_spring_0.77b3/rts/System/SpringApp.cpp:1068
/home/spring/src/winTag_spring_0.77b3/rts/System/Main.cpp:60 [Run(int, char**)]
/home/spring/src/winTag_spring_0.77b3/rts/System/Main.cpp:122 [WinMain@16]
Action.cpp:0
/home/ron/devel/debian/mingw32-runtime/mingw32-runtime-3.13/build_dir/src/mingw-runtime-3.13-20070825-1/crt1.c:237 [__mingw_CRTStartup]
/home/ron/devel/debian/mingw32-runtime/mingw32-runtime-3.13/build_dir/src/mingw-runtime-3.13-20070825-1/crt1.c:271
UNTRANSLATED: C:\Windows\system32\kernel32.dll(BaseThreadInitThunk+0x12) [0x768B4911]
UNTRANSLATED: C:\Windows\system32\ntdll.dll(RtlInitializeExceptionChain+0x63) [0x7713E4B6]
UNTRANSLATED: C:\Windows\system32\ntdll.dll(RtlInitializeExceptionChain+0x36) [0x7713E489]


[ 45840] Spring 0.77b3 has crashed.
[ 45840] Exception: Access violation (0xc0000005)
[ 45840] Exception Address: 0x00c59c80
[ 45840] DLL information:
[ 45840] 0x00400000 spring
[ 45840] 0x77100000 ntdll
[ 45840] 0x76870000 kernel32
[ 45840] 0x76ed0000 ADVAPI32
[ 45840] 0x75b10000 RPCRT4
[ 45840] 0x6ca40000 dsound
[ 45840] 0x76790000 msvcrt
[ 45840] 0x766f0000 USER32
[ 45840] 0x75a40000 GDI32
[ 45840] 0x76ac0000 ole32
[ 45840] 0x733c0000 WINMM
[ 45840] 0x772b0000 OLEAUT32
[ 45840] 0x731d0000 OLEACC
[ 45840] 0x74be0000 POWRPROF
[ 45840] 0x73f80000 GLU32
[ 45840] 0x6be50000 OPENGL32
[ 45840] 0x6d180000 DDRAW
[ 45840] 0x6dd40000 DCIMAN32
[ 45840] 0x76d40000 SETUPAPI
[ 45840] 0x70bf0000 dwmapi
[ 45840] 0x76950000 IMAGEHLP
[ 45840] 0x6fbc0000 mingwm10
[ 45840] 0x75be0000 SHELL32
[ 45840] 0x75990000 SHLWAPI
[ 45840] 0x74090000 WSOCK32
[ 45840] 0x76840000 WS2_32
[ 45840] 0x75980000 NSI
[ 45840] 0x6ed80000 glew32
[ 45840] 0x10000000 SDL
[ 45840] 0x7c340000 MSVCR71
[ 45840] 0x00250000 DevIL
[ 45840] 0x66fc0000 freetype6
[ 45840] 0x61b80000 zlib1
[ 45840] 0x003e0000 ILU
[ 45840] 0x71400000 ShimEng
[ 45840] 0x757b0000 apphelp
[ 45840] 0x6e700000 AcLayers
[ 45840] 0x75830000 USERENV
[ 45840] 0x75810000 Secur32
[ 45840] 0x73140000 WINSPOOL
[ 45840] 0x753a0000 MPR
[ 45840] 0x77340000 IMM32
[ 45840] 0x76c10000 MSCTF
[ 45840] 0x76980000 LPK
[ 45840] 0x77230000 USP10
[ 45840] 0x00e90000 avgrsstx
[ 45840] 0x74630000 comctl32
[ 45840] 0x73190000 uxtheme
[ 45840] 0x76fa0000 CLBCatQ
[ 45840] 0x69500000 nvoglv32
[ 45840] 0x74f30000 mswsock
[ 45840] 0x74bc0000 wshtcpip
[ 45840] 0x74940000 MMDevApi
[ 45840] 0x74a30000 WINTRUST
[ 45840] 0x752a0000 CRYPT32
[ 45840] 0x75400000 MSASN1
[ 45840] 0x711e0000 AUDIOSES
[ 45840] 0x71140000 audioeng
[ 45840] 0x758e0000 PSAPI
[ 45840] 0x74af0000 AVRT
[ 45840] 0x727a0000 dbghelp
[ 45840] Stacktrace:
[ 45840] (0) C:\Program Files\Spring\spring.exe [0x00C59C80]
[ 45840] (1) C:\Program Files\Spring\spring.exe [0x00585BE0]
[ 45840] (2) C:\Program Files\Spring\spring.exe [0x00585CCF]
[ 45840] (3) C:\Program Files\Spring\spring.exe [0x005860BC]
[ 45840] (4) C:\Program Files\Spring\spring.exe [0x0055BB93]
[ 45840] (5) C:\Program Files\Spring\spring.exe [0x0055BEEF]
[ 45840] (6) C:\Program Files\Spring\spring.exe [0x0055C25C]
[ 45840] (7) C:\Program Files\Spring\spring.exe [0x0055C466]
[ 45840] (8) C:\Program Files\Spring\spring.exe [0x0056689F]
[ 45840] (9) C:\Program Files\Spring\spring.exe [0x00566D54]
[ 45840] (10) C:\Program Files\Spring\spring.exe [0x0057D26B]
[ 45840] (11) C:\Program Files\Spring\spring.exe [0x0057D409]
[ 45840] (12) C:\Program Files\Spring\spring.exe [0x0057D628]
[ 45840] (13) C:\Program Files\Spring\spring.exe [0x00575B7D]
[ 45840] (14) C:\Program Files\Spring\spring.exe [0x0044BB68]
[ 45840] (15) C:\Program Files\Spring\spring.exe [0x0044AC98]
[ 45840] (16) C:\Program Files\Spring\spring.exe [0x0047662F]
[ 45840] (17) C:\Program Files\Spring\spring.exe [0x0044E738]
[ 45840] (18) C:\Program Files\Spring\spring.exe [0x0043E62F]
[ 45840] (19) C:\Program Files\Spring\spring.exe [0x0044136A]
[ 45840] (20) C:\Program Files\Spring\spring.exe [0x0081DCE3]
[ 45840] (21) C:\Program Files\Spring\spring.exe [0x008499EC]
[ 45840] (22) C:\Program Files\Spring\spring.exe [0x0084ED3D]
[ 45840] (23) C:\Program Files\Spring\spring.exe [0x005B95DB]
[ 45840] (24) C:\Program Files\Spring\spring.exe [0x005C5770]
[ 45840] (25) C:\Program Files\Spring\spring.exe [0x005B84CD]
[ 45840] (26) C:\Program Files\Spring\spring.exe [0x005B86C9]
[ 45840] (27) C:\Program Files\Spring\spring.exe [0x00A313A1]
[ 45840] (28) C:\Program Files\Spring\spring.exe [0x004010A7]
[ 45840] (29) C:\Program Files\Spring\spring.exe [0x00401123]
[ 45840] (30) C:\Windows\system32\kernel32.dll(BaseThreadInitThunk+0x12) [0x768B4911]
[ 45840] (31) C:\Windows\system32\ntdll.dll(RtlInitializeExceptionChain+0x63) [0x7713E4B6]
[ 45840] (32) C:\Windows\system32\ntdll.dll(RtlInitializeExceptionChain+0x36) [0x7713E489]
TagsNo tags attached.
Attached Files
20081011_144838_unnamed_0.77b3.sdf (Attachment missing)
infolog take crash.txt (Attachment missing)
Checked infolog.txt for Errors

Relationships

related to 0001090 resolvedKloot movemath crash #2 

Activities

Auswaschbar

2008-10-11 23:54

reporter   ~0002798

DOes this repeatable happen when running issuing /take?

Kloot

2008-10-12 02:22

developer   ~0002804

Last edited: 2008-10-12 02:34

Watched the demo, doesn't appear to have anything to do with /take:



Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1233201440 (LWP 17875)]
0xb787b7bd in __dynamic_cast () from /usr/lib/libstdc++.so.6

#0 0xb787b7bd in __dynamic_cast () from /usr/lib/libstdc++.so.6
#1 0x082acd50 in CMoveMath::CrushResistant (this=0xa70adb0, moveData=@0x11e011b8, object=0x12306238) at rts/Sim/MoveTypes/MoveMath/MoveMath.cpp:160
#2 0x082ace3f in CMoveMath::SquareIsBlocked (this=0xa70adb0, moveData=@0x11e011b8, xSquare=569, zSquare=397, fromEst=false) at rts/Sim/MoveTypes/MoveMath/MoveMath.cpp:248
0000003 0x082ad240 in CMoveMath::IsBlocked2 (this=0xa70adb0, moveData=@0x11e011b8, xSquare=567, zSquare=395, fromEst=false) at rts/Sim/MoveTypes/MoveMath/MoveMath.cpp:135
0000004 0x0827c4e3 in CPathFinder::TestSquare (this=0xc560210, moveData=@0x11e011b8, pfDef=@0xbfa0dcb4, parentOpenSquare=0xc569f58, enterDirection=1) at rts/Sim/Path/PathFinder.cpp:383
0000005 0x0827c833 in CPathFinder::DoSearch (this=0xc560210, moveData=@0x11e011b8, pfDef=@0xbfa0dcb4) at rts/Sim/Path/PathFinder.cpp:316
#6 0x0827cba0 in CPathFinder::InitSearch (this=0xc560210, moveData=@0x11e011b8, pfDef=@0xbfa0dcb4) at rts/Sim/Path/PathFinder.cpp:283
#7 0x0827cda3 in CPathFinder::GetPath (this=0xc560210, moveData=@0x11e011b8, startPos=@0xbfa0dd00, pfDef=@0xbfa0dcb4, path=@0xf7ffc60, testMobile=true, exactPath=false, maxNodes=10000, needPath=true)
    at rts/Sim/Path/PathFinder.cpp:219
#8 0x08284b01 in CPathManager::EstimateToDetailed (this=0xbcd0520, path=@0xf7ffc10, startPos=@0xbfa0ddcc) at rts/Sim/Path/PathManager.cpp:257
#9 0x082860a3 in CPathManager::RequestPath (this=0xbcd0520, moveData=0x11e011b8, startPos=@0xbfa0de70, peDef=0x1012b2a8, goalPos=@0xbfa0de64, caller=0x12280700) at rts/Sim/Path/PathManager.cpp:177
0000010 0x082862f1 in CPathManager::RequestPath (this=0xbcd0520, moveData=0x11e011b8, startPos=@0xbfa0decc, goalPos=@0xbfa0dec0, goalRadius=0, caller=0x12280700) at rts/Sim/Path/PathManager.cpp:109
#11 0x082a17b9 in CGroundMoveType::GetNewPath (this=0x12483650) at rts/Sim/MoveTypes/GroundMoveType.cpp:1196
0000012 0x082a1919 in CGroundMoveType::StartEngine (this=0x12483650) at rts/Sim/MoveTypes/GroundMoveType.cpp:1302
0000013 0x082a19e7 in CGroundMoveType::StartMoving (this=0x12483650, moveGoalPos=@0xbfa0df58, goalRadius=8, speed=7.19999981) at rts/Sim/MoveTypes/GroundMoveType.cpp:505
0000014 0x0829b68f in CGroundMoveType::StartMoving (this=0x12483650, pos=@0xbfa0dfa0, goalRadius=8) at rts/Sim/MoveTypes/GroundMoveType.cpp:474
#15 0x08161852 in CMobileCAI::SetGoal (this=0xe70c170, pos=@0xbfa0e024, curPos=@0x12280718, goalRadius=8) at rts/Sim/Units/CommandAI/MobileCAI.cpp:885
#16 0x08165a35 in CMobileCAI::ExecuteFight (this=0xe70c170, c=@0x124f5380) at rts/Sim/Units/CommandAI/MobileCAI.cpp:519
#17 0x0815f87c in CMobileCAI::Execute (this=0x65736163) at rts/Sim/Units/CommandAI/MobileCAI.cpp:364
#18 0x08166bbc in CMobileCAI::SlowUpdate (this=0xe70c170) at rts/Sim/Units/CommandAI/MobileCAI.cpp:351
#19 0x08190f3e in CCommandAI::GiveAllowedCommand (this=0xe70c170, c=@0xbfa0e190, fromSynced=true) at rts/Sim/Units/CommandAI/CommandAI.cpp:702
0000020 0x08161e18 in CMobileCAI::GiveCommandReal (this=0xe70c170, c=@0xbfa0e190, fromSynced=true) at rts/Sim/Units/CommandAI/MobileCAI.cpp:268
#21 0x0838d303 in LuaSyncedCtrl::GiveOrderToUnit (L=0x8b63e18) at rts/Lua/LuaSyncedCtrl.cpp:2366
#22 0x0849acef in luaD_precall (L=0x8b63e18, func=0x123a0638, nresults=0) at rts/lib/lua/src/ldo.cpp:319
#23 0x08484662 in luaV_execute (L=0x8b63e18, nexeccalls=2) at rts/lib/lua/src/lvm.cpp:616
0000024 0x0849b030 in luaD_call (L=0x8b63e18, func=0x123a05b8, nResults=0) at rts/lib/lua/src/ldo.cpp:377
#25 0x08493fb1 in f_call (L=0x8b63e18, ud=0xbfa0e378) at rts/lib/lua/src/lapi.cpp:817
0000026 0x0849a89a in luaD_rawrunprotected (L=0x8b63e18, f=0x8493f90 <f_call>, ud=0xbfa0e378) at rts/lib/lua/src/ldo.cpp:116
0000027 0x0849a91f in luaD_pcall (L=0x8b63e18, func=0x8493f90 <f_call>, u=0xbfa0e378, old_top=8, ef=0) at rts/lib/lua/src/ldo.cpp:461
#28 0x08493e2d in lua_pcall (L=0x8b63e18, nargs=1, nresults=0, errfunc=0) at rts/lib/lua/src/lapi.cpp:838
0000029 0x083d9040 in CLuaHandle::RunCallIn (this=0x8d1a0f0, hs=@0x8753a68, inArgs=1, outArgs=0) at rts/Lua/LuaHandle.cpp:187
#30 0x08434279 in CLuaHandleSynced::GameFrame (this=0x8d1a0f0, frameNumber=44250) at rts/Lua/LuaHandleSynced.cpp:717
#31 0x084a12ec in CGame::SimFrame (this=0x8b1e990) at rts/Game/Game.cpp:3103
#32 0x084b1cf2 in CGame::ClientReadNet (this=0x8b1e990) at rts/Game/Game.cpp:3550
#33 0x084b58c3 in CGame::Update (this=0x8b1e990) at rts/Game/Game.cpp:2477
0000034 0x0808daeb in SpringApp::Update (this=0xbfa0f110) at rts/System/SpringApp.cpp:870
0000035 0x08094145 in SpringApp::Run (this=0xbfa0f110, argc=2, argv=0xbfa0f1f4) at rts/System/SpringApp.cpp:1068
#36 0x0808cce3 in Run (argc=2, argv=0xbfa0f1f4) at rts/System/Main.cpp:95
#37 0x0808cd32 in main (argc=Cannot access memory at address 0x100) at rts/System/Main.cpp:111

(gdb) print gs->frameNum
$1 = 44250
(gdb) frame 1
#1 0x082acd50 in CMoveMath::CrushResistant (this=0xa70adb0, moveData=@0x11e011b8, object=0x12306238) at rts/Sim/MoveTypes/MoveMath/MoveMath.cpp:160
160 object->mass > moveData.crushStrength));
(gdb) print object
$2 = (const class CSolidObject *) 0x12306238
(gdb) print object->blocking
$3 = true
(gdb) print object->mass
$4 = 4000
(gdb) print moveData
$5 = (const MoveData &) @0x11e011b8: {static binder = {class_ = 0x8767d48, base = 0x0, flags = creg::CF_None, memberRegistrator = 0x8724820, name = 0x86044cf "MoveData", size = 72,
    constructor = 0x8291b30 <MoveData::_ConstructInstance(void*)>, destructor = 0x8291ae0 <MoveData::_DestructInstance(void*)>, nextBinder = 0x8724900}, static memberRegistrator = 0x87248d0,
  moveType = MoveData::Ground_Move, moveFamily = MoveData::KBot, terrainClass = MoveData::Mixed, followGround = true, size = 6, depth = 22, maxSlope = 0.412214756, slopeMod = 9.68019676, depthMod = 0.100000001,
  pathType = 21, moveMath = 0xa70adb0, crushStrength = 1400, name = {static npos = 4294967295, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
      _M_p = 0x91962fc "CHICKENHKBOT3"}}, maxSpeed = 3.5999999, maxTurnRate = 0, maxAcceleration = 0, maxBreaking = -0, subMarine = false}

(gdb) print object->id
$7 = 8191


(gdb) frame 2
#2 0x082ace3f in CMoveMath::SquareIsBlocked (this=0xa70adb0, moveData=@0x11e011b8, xSquare=569, zSquare=397, fromEst=false) at rts/Sim/MoveTypes/MoveMath/MoveMath.cpp:248
248 if (CrushResistant(moveData, obstacle)) {
(gdb) print obstacle->mobility
$9 = (MoveData *) 0x0
(gdb) print obstacle->id
$10 = 8191

(gdb) print ((CUnit*) obstacle)
$11 = (CUnit *) 0x12306238
(gdb) print ((CUnit*) obstacle)->unitDef
$13 = (const UnitDef *) 0xa307f7c

(gdb) print ((CFeature*) obstacle)
$12 = (CFeature *) 0x12306238
(gdb) print ((CFeature*) obstacle)->def
$14 = (const FeatureDef *) 0x0

(gdb) print ((CUnit*) obstacle)->unitDef->name
$15 = {static npos = 4294967295, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x9b8489c "chickenr1"}}

No real ideas why the dynamic_cast at MoveMath.cpp:160 would suddenly SEGV (nor why obstacle->mobility is null for the chickenr1 which is a mobile unit AFAICS).


EDIT: this is interesting though

(gdb) print ((CUnit*) obstacle)->health
$17 = 1830.15027
(gdb) print ((CUnit*) obstacle)->isDead
$18 = true
(gdb) print ((CUnit*) obstacle)->deathScriptFinished
$19 = true
(gdb) print ((CUnit*) obstacle)->deathCountdown
$20 = 0

So possibly a dangling pointer left on the blocking map.


Even more interestingly:

(gdb) print ((CUnit*) obstacle)->UnBlock()

Program received signal SIGSEGV, Segmentation fault

#0 0xc0200000 in ?? ()
#1 0x0825e244 in CGroundBlockingObjectMap::RemoveGroundBlockingObject (this=0x8f7ccf0, object=0x12306238) at rts/Sim/Misc/GroundBlockingObjectMap.cpp:21
#2 0x082ad965 in CSolidObject::UnBlock (this=0x12306238) at rts/Sim/Objects/SolidObject.cpp:77

TheFatController

2008-10-12 13:37

reporter   ~0002812

The issue was this code:

    local bx, by, bz = GetUnitPosition(unitID)
    local h = Spring.GetUnitHeading(unitID)
    Spring.MoveCtrl.Enable(unitID)
    Spring.MoveCtrl.SetNoBlocking(unitID, true)
    local newUnitID = CreateUnit("chickenr2", bx, by, bz, "n", unitTeam)
    Spring.SetUnitNoDraw(newUnitID,true)
    Spring.MoveCtrl.Enable(newUnitID)
    Spring.MoveCtrl.SetHeading(newUnitID, h)
    Spring.MoveCtrl.Disable(newUnitID)
    SetUnitExperience(newUnitID, expMod)
    Spring.SetUnitNoDraw(newUnitID,false)
    DestroyUnit(unitID, false, true)
    gadget:UnitIdle(newUnitID, unitDefID, unitTeam)

It crashed spring 100% of the time, and by commenting each part out I boiled it down to this line:

    Spring.MoveCtrl.SetNoBlocking(unitID, true)

When commented out the crashes stopped, I couldn't recreate this issue in a new gadget using similar code but its recreatable in older BA chicken defense versions.

The new code that works fine is:

    local bx, by, bz = GetUnitPosition(unitID)
    local h = Spring.GetUnitHeading(unitID)
    SetUnitBlocking(unitID, false)
    local newUnitID = CreateUnit("chickenr2", bx, by, bz, "n", unitTeam)
    Spring.SetUnitNoDraw(newUnitID,true)
    Spring.MoveCtrl.Enable(newUnitID)
    Spring.MoveCtrl.SetHeading(newUnitID, h)
    Spring.MoveCtrl.Disable(newUnitID)
    SetUnitExperience(newUnitID, expMod)
    Spring.SetUnitNoDraw(newUnitID,false)
    DestroyUnit(unitID, false, true)
    gadget:UnitIdle(newUnitID, UnitDefNames["chickenr2"].id, unitTeam)


Strange as this worked in the last spring version, a fix would be cool for stability :)

Kloot

2008-10-12 13:57

developer   ~0002813

Thank you! Fix is on its way.

Kloot

2008-10-12 16:31

developer   ~0002816

For reference, this crash was ultimately caused by a missing ...

Spring.MoveCtrl.Disable(unitID)

... prior to calling ...

Spring.DestroyUnit(unitID, false, true)

... so the CUnit destructor makes sure movectrl is always disabled now.

Issue History

Date Modified Username Field Change
2008-10-11 22:44 el_matarife New Issue
2008-10-11 22:44 el_matarife File Added: 20081011_144838_unnamed_0.77b3.sdf
2008-10-11 22:45 el_matarife File Added: infolog take crash.txt
2008-10-11 22:47 imbaczek Summary Mysterious crash for all player in game .77B3 => Movemath crash for all player in game .77B3
2008-10-11 22:47 imbaczek Additional Information Updated
2008-10-11 23:01 Kloot Relationship added related to 0001090
2008-10-11 23:54 Auswaschbar Note Added: 0002798
2008-10-12 02:22 Kloot Note Added: 0002804
2008-10-12 02:31 Kloot Note Edited: 0002804
2008-10-12 02:34 Kloot Note Edited: 0002804
2008-10-12 11:21 Kloot Status new => assigned
2008-10-12 11:21 Kloot Assigned To => Kloot
2008-10-12 11:53 Kloot Additional Information Updated
2008-10-12 11:56 Kloot Additional Information Updated
2008-10-12 13:23 Kloot Additional Information Updated
2008-10-12 13:37 TheFatController Note Added: 0002812
2008-10-12 13:57 Kloot Note Added: 0002813
2008-10-12 16:31 Kloot Note Added: 0002816
2008-10-12 16:32 Kloot Status assigned => resolved
2008-10-12 16:32 Kloot Resolution open => fixed