View Issue Details

IDProjectCategoryView StatusLast Update
0001077Spring engineGeneralpublic2008-10-09 23:07
Reporterimbaczek Assigned ToKloot  
PrioritynormalSeveritycrashReproducibilityalways
Status resolvedResolutionfixed 
Product Version0.77b2 
Summary0001077: LosHandler crash 77b2
Descriptionmore to come, THIS WIP6a

this was a synced crash - that is, everybody crashed at the same time.
Additional Information/home/spring/src/winTag_spring_0.77b2/rts/Sim/Misc/LosHandler.cpp:257
/home/spring/src/winTag_spring_0.77b2/rts/Sim/Misc/LosHandler.cpp:198
/home/spring/src/winTag_spring_0.77b2/rts/Sim/MoveTypes/TAAirMoveType.cpp:908
/home/spring/src/winTag_spring_0.77b2/rts/Sim/Units/Unit.cpp:747
/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/include/c++/bits/stl_list.h:142
/home/spring/src/winTag_spring_0.77b2/rts/Sim/Units/UnitHandler.cpp:286
/home/spring/src/winTag_spring_0.77b2/rts/Game/Game.cpp:3163
/home/spring/src/winTag_spring_0.77b2/rts/System/Sync/SyncChecker.h:43
/home/spring/src/winTag_spring_0.77b2/rts/Game/Game.cpp:3553
/home/spring/src/winTag_spring_0.77b2/rts/Game/Game.cpp:2478
/home/spring/src/winTag_spring_0.77b2/rts/System/SpringApp.cpp:870
/home/spring/src/winTag_spring_0.77b2/rts/System/SpringApp.cpp:1068
/home/spring/src/winTag_spring_0.77b2/rts/System/Main.cpp:60
/home/spring/src/winTag_spring_0.77b2/rts/System/Main.cpp:122
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
/home/ron/devel/debian/mingw32-runtime/mingw32-runtime-3.13/build_dir/src/mingw-runtime-3.13-20070825-1/crt1.c:271
TagsNo tags attached.
Attached Files
infolog.txt (Attachment missing)
20081009_003129_unnamed_0.77b2.sdf (Attachment missing)
Checked infolog.txt for Errors

Activities

imbaczek

2008-10-09 00:53

reporter   ~0002706

replay crashes reliably.

Kloot

2008-10-09 01:10

developer   ~0002708

Hmm, I get a different trace (one which makes no sense though):

#0 CAirMoveType::UpdateLanded (this=0xe365290) at rts/System/Sync/SyncedPrimitive.h:101
#1 0x082f5cc4 in CAirMoveType::Update (this=0xe365290) at rts/Sim/MoveTypes/AirMoveType.cpp:267
#2 0x083a949a in CUnit::Update (this=0xbf2d120) at rts/Sim/Units/Unit.cpp:527
0000003 0x083a14bb in CUnitHandler::Update (this=0x99bc9f0) at rts/Sim/Units/UnitHandler.cpp:276
0000004 0x0818f0a9 in CGame::SimFrame (this=0x897be80) at rts/Game/Game.cpp:3160
0000005 0x0819f782 in CGame::ClientReadNet (this=0x897be80) at rts/Game/Game.cpp:3550
#6 0x081a3343 in CGame::Update (this=0x897be80) at rts/Game/Game.cpp:2477
#7 0x084311db in SpringApp::Update (this=0xbfc94bb0) at rts/System/SpringApp.cpp:870
#8 0x08437835 in SpringApp::Run (this=0xbfc94bb0, argc=2, argv=0xbfc94c94) at rts/System/SpringApp.cpp:1068
#9 0x08455cb3 in Run (argc=2, argv=0xbfc94c94) at rts/System/Main.cpp:95
0000010 0x08455d02 in main (argc=Cannot access memory at address 0xf0000000
) at rts/System/Main.cpp:111

Kloot

2008-10-09 01:18

developer   ~0002709

Better trace now:

spring: rts/Sim/Misc/LosHandler.h:129: bool CLosHandler::InLos(float3, int): Assertion `static_cast<unsigned>(square) < losMap[allyTeam].size()' failed.

Program received signal SIGABRT, Aborted.
[Switching to Thread -1233180960 (LWP 19828)]
0xffffe410 in __kernel_vsyscall ()

#0 0xffffe410 in __kernel_vsyscall ()
#1 0xb7676875 in raise () from /lib/tls/i686/cmov/libc.so.6
#2 0xb7678201 in abort () from /lib/tls/i686/cmov/libc.so.6
0000003 0xb766fb6e in __assert_fail () from /lib/tls/i686/cmov/libc.so.6
0000004 0x085141b5 in LuaSyncedRead::GetPositionLosState (L=0x8c395d0) at rts/Sim/Misc/LosHandler.h:129
0000005 0x0828169f in luaD_precall (L=0x8c395d0, func=0xd6a1978, nresults=2) at rts/lib/lua/src/ldo.cpp:319
#6 0x0826c032 in luaV_execute (L=0x8c395d0, nexeccalls=2) at rts/lib/lua/src/lvm.cpp:616
#7 0x082819e0 in luaD_call (L=0x8c395d0, func=0xd6a18c8, nResults=0) at rts/lib/lua/src/ldo.cpp:377
#8 0x08277761 in f_call (L=0x8c395d0, ud=0xbfba5028) at rts/lib/lua/src/lapi.cpp:817
#9 0x0828124a in luaD_rawrunprotected (L=0x8c395d0, f=0x8277740 <f_call>, ud=0xbfba5028) at rts/lib/lua/src/ldo.cpp:116
0000010 0x082812cf in luaD_pcall (L=0x8c395d0, func=0x8277740 <f_call>, u=0xbfba5028, old_top=8, ef=0) at rts/lib/lua/src/ldo.cpp:461
#11 0x082775dd in lua_pcall (L=0x8c395d0, nargs=0, nresults=0, errfunc=0) at rts/lib/lua/src/lapi.cpp:838
0000012 0x0852f280 in CLuaHandle::RunCallIn (this=0x8c39488, hs=@0x874f680, inArgs=0, outArgs=0) at rts/Lua/LuaHandle.cpp:187
0000013 0x08530875 in CLuaHandle::DrawWorld (this=0x8c39488) at rts/Lua/LuaHandle.cpp:206
0000014 0x0845e57a in CEventHandler::DrawWorld (this=0x874d420) at rts/System/EventHandler.cpp:388
#15 0x0818c4df in CGame::DrawWorld (this=0x88d0850) at rts/Game/Game.cpp:2568
#16 0x08193248 in CGame::Draw (this=0x88d0850) at rts/Game/Game.cpp:2760
#17 0x08431232 in SpringApp::Update (this=0xbfba52c0) at rts/System/SpringApp.cpp:880
#18 0x08437835 in SpringApp::Run (this=0xbfba52c0, argc=2, argv=0xbfba53a4) at rts/System/SpringApp.cpp:1068
#19 0x08455cb3 in Run (argc=2, argv=0xbfba53a4) at rts/System/Main.cpp:95
0000020 0x08455d02 in main (argc=Cannot access memory at address 0x4d74
) at rts/System/Main.cpp:111

Kloot

2008-10-09 02:52

developer   ~0002711

Last edited: 2008-10-09 03:00

Some further details:

[CLosHandler::InLos(float3)] pos.x: nan, pos.z: nan, square: -2147483648, at: 0

spring: rts/Sim/Misc/LosHandler.h:134: bool CLosHandler::InLos(float3, int): Assertion `static_cast<unsigned>(square) < losMap[allyTeam].size()' failed.

No idea where it comes from yet.


edit:

[LuaSyncedRead::GetPositionLosState()] pos: <nan, 131.258499, nan>

Auswaschbar

2008-10-09 02:54

reporter   ~0002712

Last edited: 2008-10-09 02:55

#2 0x00007fde0af2d49f in __assert_fail () from /lib/libc.so.6
No symbol table info available.
0000003 0x00000000006728b6 in CQuadField::GetQuad (this=0x3b92c20, i=-2147483648) at /home/karl/spring/trunk/rts/Sim/Misc/QuadField.h:58
        __PRETTY_FUNCTION__ = "const CQuadField::Quad& CQuadField::GetQuad(int) const"
0000004 0x000000000066b9a4 in CGameHelper::TestNeutralCone (this=0x16a93a0, from=@0xdcf6fc0, dir=@0x7fff164b4140, length=nan(0x400000), spread=0.0557534359,
    owner=0xbbc5380) at /home/karl/spring/trunk/rts/Game/GameHelper.cpp:837
        quad = (const CQuadField::Quad &) @0x7fc00000004b40f0: <error reading variable>
        qi = (int *) 0x7fff164b30f0
        quads = {snip}
        endQuad = (int *) 0x7fff164b30f4
0000005 0x0000000000b82b8f in CLaserCannon::TryTarget (this=0xdcf6f50, pos=@0x7fff164b41e0, userTarget=false, unit=0xc2c05b0)
    at /home/karl/spring/trunk/rts/Sim/Weapons/LaserCannon.cpp:77
        dir = {<SFloat3> = {x = nan(0x400000), y = nan(0x400000), z = nan(0x400000)}, static binder = {class_ = 0x138f630, base = 0x0,
    flags = creg::CF_None, memberRegistrator = 0x11866c0, name = 0xd41670 "float3", size = 12, constructor = 0xbb390a <float3::_ConstructInstance(void*)>,
    destructor = 0xbb393a <float3::_DestructInstance(void*)>, nextBinder = 0x1186840}, static memberRegistrator = 0x1186738, static maxxpos = 8191,
  static maxzpos = 8191}
        length = nan(0x400000)
        spread = 0.0557534359
#6 0x0000000000ba1d41 in CWeapon::AttackUnit (this=0xdcf6f50, unit=0xc2c05b0, userTarget=false) at /home/karl/spring/trunk/rts/Sim/Weapons/Weapon.cpp:515
        tempTargetPos = {<SFloat3> = {x = 1978.77356, y = 82.43647, z = 4412.19385}, static binder = {class_ = 0x138f630, base = 0x0, flags = creg::CF_None,
    memberRegistrator = 0x11866c0, name = 0xd41670 "float3", size = 12, constructor = 0xbb390a <float3::_ConstructInstance(void*)>,
    destructor = 0xbb393a <float3::_DestructInstance(void*)>, nextBinder = 0x1186840}, static memberRegistrator = 0x1186738, static maxxpos = 8191,
  static maxzpos = 8191}
        appHeight = -7
#7 0x0000000000b033b6 in CUnit::SlowUpdate (this=0xbbc5380) at /home/karl/spring/trunk/rts/Sim/Units/Unit.cpp:892
        w = (class CWeapon *) 0xdcf6f50
        wi = {_M_current = 0xbe13d48}
        oldCloak = false

Kloot

2008-10-09 03:46

developer   ~0002713

Last edited: 2008-10-09 03:47

First nans show up in CWeapon::Update at:



float3 lead = targetUnit->speed*(weaponDef->predictBoost+predictSpeedMod*(1.0f - weaponDef->predictBoost))*predict;

if (weaponDef->leadLimit >= 0.0f && lead.Length() > weaponDef->leadLimit + weaponDef->leadBonus*owner->experience) {
    lead *= (weaponDef->leadLimit + weaponDef->leadBonus*owner->experience) / (lead.Length());
}

targetPos = helper->GetUnitErrorPos(targetUnit, owner->allyteam) + lead;
// targetUnit: 662 (comet, targetUnit->pos: <nan, 81.940002, nan>)
// targetPos: <nan, 62.181381, nan>, lead: <nan, 0.000000, nan>

Kloot

2008-10-09 13:57

developer   ~0002726

one down...

Issue History

Date Modified Username Field Change
2008-10-09 00:40 imbaczek New Issue
2008-10-09 00:40 imbaczek File Added: infolog.txt
2008-10-09 00:42 imbaczek Description Updated
2008-10-09 00:42 imbaczek Additional Information Updated
2008-10-09 00:53 imbaczek File Added: 20081009_003129_unnamed_0.77b2.sdf
2008-10-09 00:53 imbaczek Note Added: 0002706
2008-10-09 01:02 imbaczek Summary another crash 77b2 => LosHandler crash 77b2
2008-10-09 01:10 Kloot Note Added: 0002708
2008-10-09 01:18 Kloot Note Added: 0002709
2008-10-09 02:24 imbaczek Severity minor => crash
2008-10-09 02:52 Kloot Note Added: 0002711
2008-10-09 02:54 Auswaschbar Note Added: 0002712
2008-10-09 02:55 Auswaschbar Note Edited: 0002712
2008-10-09 03:00 Kloot Note Edited: 0002711
2008-10-09 03:46 Kloot Note Added: 0002713
2008-10-09 03:47 Kloot Note Edited: 0002713
2008-10-09 13:57 Kloot Status new => resolved
2008-10-09 13:57 Kloot Resolution open => fixed
2008-10-09 13:57 Kloot Assigned To => Kloot
2008-10-09 13:57 Kloot Note Added: 0002726
2008-10-09 23:07 tvo Product Version => 0.77b2