2025-07-20 09:24 CEST

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0005088Spring engineGeneralpublic2016-02-26 14:55
Reporterabma 
Assigned Tohokomoko 
PrioritynormalSeveritycrashReproducibilityhave not tried
StatusresolvedResolutionfixed 
Product Version100.0+git 
Target Version101.0Fixed in Version 
Summary0005088: endless loop in CGround::LineGroundCol
Descriptionhappened after /cheat /give all /give all 1
Additional Information(gdb) bt full
#0 0x000000000067cd65 in LineGroundSquareCol (ys=0, xs=669, to=..., from=..., normalmap=0x7fb471401010, heightmap=0x311ef80) at rts/Map/Ground.cpp:94
        cornerVertex = {static binder = {class_ = 0x22299e0, base = 0x0, flags = creg::CF_None, memberRegistrator = 0xde0610 <float3::memberRegistrator>, name = 0xbde3db "float3",
            size = 12, alignment = 4, hasVTable = false, isCregStruct = true, constructor = 0x8534e0 <float3::_ConstructInstance(void*)>,
            destructor = 0x853500 <float3::_DestructInstance(void*)>, nextBinder = 0xde0420 <itype2<unsigned short>::binder>}, static memberRegistrator = 0xde0620 <float3mreg>,
          static creg_hasVTable = false, static creg_isStruct = true, static CMP_EPS = 9,99999975e-05, static NORMALIZE_EPS = 9,99999996e-13, static maxxpos = 10239,
          static maxzpos = 5119, {{x = 5352, y = 182,177734, z = 0}, {r = 5352, g = 182,177734, b = 0}, {x1 = 5352, y1 = 182,177734, x2 = 0}, {s = 5352, t = 182,177734, p = 0}, {
              xstart = 5352, ystart = 182,177734, xend = 0}, {xyz = {5352, 182,177734, 0}}}}
        faceNormalTL = <optimized out>
        ys = 0
        from = @0x7ffe8ade0b20: {static binder = {class_ = 0x22299e0, base = 0x0, flags = creg::CF_None, memberRegistrator = 0xde0610 <float3::memberRegistrator>,
            name = 0xbde3db "float3", size = 12, alignment = 4, hasVTable = false, isCregStruct = true, constructor = 0x8534e0 <float3::_ConstructInstance(void*)>,
            destructor = 0x853500 <float3::_DestructInstance(void*)>, nextBinder = 0xde0420 <itype2<unsigned short>::binder>}, static memberRegistrator = 0xde0620 <float3mreg>,
          static creg_hasVTable = false, static creg_isStruct = true, static CMP_EPS = 9,99999975e-05, static NORMALIZE_EPS = 9,99999996e-13, static maxxpos = 10239,
          static maxzpos = 5119, {{x = 5359,5, y = 103,084106, z = 4521,604}, {r = 5359,5, g = 103,084106, b = 4521,604}, {x1 = 5359,5, y1 = 103,084106, x2 = 4521,604}, {s = 5359,5,
              t = 103,084106, p = 4521,604}, {xstart = 5359,5, ystart = 103,084106, xend = 4521,604}, {xyz = {5359,5, 103,084106, 4521,604}}}}
        normalmap = 0x7fb471401010
        heightmap = 0x311ef80
        xs = 669
        to = @0x7ffe8ade0b10: {static binder = {class_ = 0x22299e0, base = 0x0, flags = creg::CF_None, memberRegistrator = 0xde0610 <float3::memberRegistrator>,
            name = 0xbde3db "float3", size = 12, alignment = 4, hasVTable = false, isCregStruct = true, constructor = 0x8534e0 <float3::_ConstructInstance(void*)>,
            destructor = 0x853500 <float3::_DestructInstance(void*)>, nextBinder = 0xde0420 <itype2<unsigned short>::binder>}, static memberRegistrator = 0xde0620 <float3mreg>,
          static creg_hasVTable = false, static creg_isStruct = true, static CMP_EPS = 9,99999975e-05, static NORMALIZE_EPS = 9,99999996e-13, static maxxpos = 10239,
          static maxzpos = 5119, {{x = -nan(0x7fe8d6), y = -nan(0x7fe8d6), z = -nan(0x7fe8d6)}, {r = -nan(0x7fe8d6), g = -nan(0x7fe8d6), b = -nan(0x7fe8d6)}, {x1 = -nan(0x7fe8d6),
              y1 = -nan(0x7fe8d6), x2 = -nan(0x7fe8d6)}, {s = -nan(0x7fe8d6), t = -nan(0x7fe8d6), p = -nan(0x7fe8d6)}, {xstart = -nan(0x7fe8d6), ystart = -nan(0x7fe8d6),
              xend = -nan(0x7fe8d6)}, {xyz = {-nan(0x7fe8d6), -nan(0x7fe8d6), -nan(0x7fe8d6)}}}}
        inMap = true
#1 CGround::LineGroundCol (from=..., to=..., synced=synced@entry=true) at rts/Map/Ground.cpp:327
        nextx = <optimized out>
        nextz = <optimized out>
        xn = <optimized out>
        zn = <optimized out>
        endReached = <optimized out>
        beyondEnd = <optimized out>
        testposx = 1
        testposz = 1
        curx = 669
        curz = 0
        rdsx = -nan(0x7fe8d6)
        rdsz = -nan(0x7fe8d6)
        pfrom = <optimized out>
        skippedDist = 0
        dx = -nan(0x7fe8d6)
        dz = -nan(0x7fe8d6)
        dirx = -1
        dirz = -1
        fsx = 669
        fsz = 565
        tsx = 0
        tsz = 0
        keepgoing = true
#2 0x00000000004f7c12 in TraceRay::TraceRay (start=..., dir=..., length=length@entry=-nan(0x7fe8d6), avoidFlags=avoidFlags@entry=-17, owner=0x1b88a760, hitUnit=@0x7ffe8ade0d40: 0x0,
    hitFeature=@0x7ffe8ade0d48: 0x0, hitColQuery=<optimized out>) at rts/Game/TraceRay.cpp:267
        groundLength = <optimized out>
        ignoreEnemies = 239
        ignoreAllies = true
        ignoreFeatures = true
        ignoreNeutrals = true
---Type <return> to continue, or q <return> to quit---
        ignoreGround = false
        ignoreCloaked = true
        ignoreUnits = <optimized out>
0000003 0x0000000000b5c770 in CWeapon::HaveFreeLineOfFire (this=0x1b8859c0, pos=..., trg=...) at rts/Sim/Weapons/Weapon.cpp:974
        unit = 0x0
        feature = 0x0
        gdst = <optimized out>
        gpos = <optimized out>
        dir = {static binder = {class_ = 0x22299e0, base = 0x0, flags = creg::CF_None, memberRegistrator = 0xde0610 <float3::memberRegistrator>, name = 0xbde3db "float3", size = 12,
            alignment = 4, hasVTable = false, isCregStruct = true, constructor = 0x8534e0 <float3::_ConstructInstance(void*)>,
            destructor = 0x853500 <float3::_DestructInstance(void*)>, nextBinder = 0xde0420 <itype2<unsigned short>::binder>}, static memberRegistrator = 0xde0620 <float3mreg>,
          static creg_hasVTable = false, static creg_isStruct = true, static CMP_EPS = 9,99999975e-05, static NORMALIZE_EPS = 9,99999996e-13, static maxxpos = 10239,
          static maxzpos = 5119, {{x = -nan(0x7fe8d6), y = -nan(0x7fe8d6), z = -nan(0x7fe8d6)}, {r = -nan(0x7fe8d6), g = -nan(0x7fe8d6), b = -nan(0x7fe8d6)}, {x1 = -nan(0x7fe8d6),
              y1 = -nan(0x7fe8d6), x2 = -nan(0x7fe8d6)}, {s = -nan(0x7fe8d6), t = -nan(0x7fe8d6), p = -nan(0x7fe8d6)}, {xstart = -nan(0x7fe8d6), ystart = -nan(0x7fe8d6),
              xend = -nan(0x7fe8d6)}, {xyz = {-nan(0x7fe8d6), -nan(0x7fe8d6), -nan(0x7fe8d6)}}}}
        length = -nan(0x7fe8d6)
        spread = <optimized out>
0000004 0x0000000000b6020b in CWeapon::TryTarget (this=this@entry=0x1b8859c0, trg=...) at rts/Sim/Weapons/Weapon.cpp:992
No locals.
0000005 0x0000000000b60cca in CWeapon::Attack (this=0x1b8859c0, newTarget=...) at rts/Sim/Weapons/Weapon.cpp:541
        newTarget = @0x1b88aca8: {static binder = {class_ = 0x2227ac0, base = 0x0, flags = creg::CF_None, memberRegistrator = 0xe01690 <SWeaponTarget::memberRegistrator>,
            name = 0xbc8a4e "SWeaponTarget", size = 40, alignment = 8, hasVTable = false, isCregStruct = true, constructor = 0xb72190 <SWeaponTarget::_ConstructInstance(void*)>,
            destructor = 0xb721d0 <SWeaponTarget::_DestructInstance(void*)>, nextBinder = 0xe014c0 <CWeapon::binder>}, static memberRegistrator = 0xe016a0 <SWeaponTargetmreg>,
          static creg_hasVTable = false, static creg_isStruct = true, type = Target_Unit, isUserTarget = false, isManualFire = false, unit = 0x23c41e80, intercept = 0x0, groundPos = {
            static binder = {class_ = 0x22299e0, base = 0x0, flags = creg::CF_None, memberRegistrator = 0xde0610 <float3::memberRegistrator>, name = 0xbde3db "float3", size = 12,
              alignment = 4, hasVTable = false, isCregStruct = true, constructor = 0x8534e0 <float3::_ConstructInstance(void*)>,
              destructor = 0x853500 <float3::_DestructInstance(void*)>, nextBinder = 0xde0420 <itype2<unsigned short>::binder>}, static memberRegistrator = 0xde0620 <float3mreg>,
            static creg_hasVTable = false, static creg_isStruct = true, static CMP_EPS = 9,99999975e-05, static NORMALIZE_EPS = 9,99999996e-13, static maxxpos = 10239,
            static maxzpos = 5119, {{x = 0, y = 0, z = 0}, {r = 0, g = 0, b = 0}, {x1 = 0, y1 = 0, x2 = 0}, {s = 0, t = 0, p = 0}, {xstart = 0, ystart = 0, xend = 0}, {xyz = {0, 0,
                  0}}}}}
        this = 0x1b8859c0
#6 0x0000000000b2466f in CUnit::AttackUnit (this=0x1b88a760, targetUnit=targetUnit@entry=0x23c41e80, isUserTarget=<optimized out>, wantManualFire=<optimized out>,
    fpsMode=fpsMode@entry=false) at rts/Sim/Units/Unit.cpp:1723
        w = <optimized out>
        __for_range = std::vector of length 1, capacity 1 = {0x1b8859c0}
        newTarget = {static binder = {class_ = 0x2227ac0, base = 0x0, flags = creg::CF_None, memberRegistrator = 0xe01690 <SWeaponTarget::memberRegistrator>,
            name = 0xbc8a4e "SWeaponTarget", size = 40, alignment = 8, hasVTable = false, isCregStruct = true, constructor = 0xb72190 <SWeaponTarget::_ConstructInstance(void*)>,
            destructor = 0xb721d0 <SWeaponTarget::_DestructInstance(void*)>, nextBinder = 0xe014c0 <CWeapon::binder>}, static memberRegistrator = 0xe016a0 <SWeaponTargetmreg>,
          static creg_hasVTable = false, static creg_isStruct = true, type = Target_Unit, isUserTarget = false, isManualFire = false, unit = 0x23c41e80, intercept = 0x0, groundPos = {
            static binder = {class_ = 0x22299e0, base = 0x0, flags = creg::CF_None, memberRegistrator = 0xde0610 <float3::memberRegistrator>, name = 0xbde3db "float3", size = 12,
              alignment = 4, hasVTable = false, isCregStruct = true, constructor = 0x8534e0 <float3::_ConstructInstance(void*)>,
              destructor = 0x853500 <float3::_DestructInstance(void*)>, nextBinder = 0xde0420 <itype2<unsigned short>::binder>}, static memberRegistrator = 0xde0620 <float3mreg>,
            static creg_hasVTable = false, static creg_isStruct = true, static CMP_EPS = 9,99999975e-05, static NORMALIZE_EPS = 9,99999996e-13, static maxxpos = 10239,
            static maxzpos = 5119, {{x = 0, y = 0, z = 0}, {r = 0, g = 0, b = 0}, {x1 = 0, y1 = 0, x2 = 0}, {s = 0, t = 0, p = 0}, {xstart = 0, ystart = 0, xend = 0}, {xyz = {0, 0,
                  0}}}}}
        ret = false
#7 0x0000000000b03d2a in CMobileCAI::ExecuteAttack (this=0x1b884bf0, c=...) at rts/Sim/Units/CommandAI/MobileCAI.cpp:700
        tgtErrPos = {static binder = {class_ = 0x22299e0, base = 0x0, flags = creg::CF_None, memberRegistrator = 0xde0610 <float3::memberRegistrator>, name = 0xbde3db "float3",
            size = 12, alignment = 4, hasVTable = false, isCregStruct = true, constructor = 0x8534e0 <float3::_ConstructInstance(void*)>,
            destructor = 0x853500 <float3::_DestructInstance(void*)>, nextBinder = 0xde0420 <itype2<unsigned short>::binder>}, static memberRegistrator = 0xde0620 <float3mreg>,
          static creg_hasVTable = false, static creg_isStruct = true, static CMP_EPS = 9,99999975e-05, static NORMALIZE_EPS = 9,99999996e-13, static maxxpos = 10239,
          static maxzpos = 5119, {{x = <optimized out>, y = 3,70962524, z = 3675,55933}, {r = <optimized out>, g = 3,70962524, b = 3675,55933}, {x1 = <optimized out>, y1 = 3,70962524,
              x2 = 3675,55933}, {s = <optimized out>, t = 3,70962524, p = 3675,55933}, {xstart = <optimized out>, ystart = 3,70962524, xend = 3675,55933}, {xyz = {<optimized out>,
                3,70962524, 3675,55933}}}}
        tgtPosDir = <optimized out>
        radius = <optimized out>
#8 0x0000000000b277c5 in CUnit::SlowUpdate (this=0x1b88a760) at rts/Sim/Units/Unit.cpp:1106
---Type <return> to continue, or q <return> to quit---
No locals.
#9 0x0000000000b42790 in CUnitHandler::Update (this=0x4d0fde0) at rts/Sim/Units/UnitHandler.cpp:266
        unit = 0x1b88a760
        myScopedTimerFromMakro = {<BasicTimer> = {<boost::noncopyable_::noncopyable> = {<No data fields>}, hash = 1580, starttime = {static binder = {class_ = 0x22283c0, base = 0x0,
                flags = creg::CF_None, memberRegistrator = 0xddd110 <spring_time::memberRegistrator>, name = 0xbd5e72 "spring_time", size = 8, alignment = 8, hasVTable = false,
                isCregStruct = true, constructor = 0x811fd0 <spring_time::_ConstructInstance(void*)>, destructor = 0x811fe0 <spring_time::_DestructInstance(void*)>,
                nextBinder = 0xddd020 <CRectangleOptimizer::binder>}, static memberRegistrator = 0xddd190 <spring_timemreg>, static creg_hasVTable = false,
              static creg_isStruct = true, x = 3025262157834, static xs = 1455341650254929027}, nameIterator = {first = 1580, second = "Unit::SlowUpdate"}}, autoShowGraph = false,
          it = {first = 1580, second = 1}}
        n = 12
0000010 0x00000000004af609 in CGame::SimFrame (this=this@entry=0x27e36b0) at rts/Game/Game.cpp:1468
        myScopedTimerFromMakro = {<BasicTimer> = {<boost::noncopyable_::noncopyable> = {<No data fields>}, hash = 796, starttime = {static binder = {class_ = 0x22283c0, base = 0x0,
                flags = creg::CF_None, memberRegistrator = 0xddd110 <spring_time::memberRegistrator>, name = 0xbd5e72 "spring_time", size = 8, alignment = 8, hasVTable = false,
                isCregStruct = true, constructor = 0x811fd0 <spring_time::_ConstructInstance(void*)>, destructor = 0x811fe0 <spring_time::_DestructInstance(void*)>,
                nextBinder = 0xddd020 <CRectangleOptimizer::binder>}, static memberRegistrator = 0xddd190 <spring_timemreg>, static creg_hasVTable = false,
              static creg_isStruct = true, x = 3025256501508, static xs = 1455341650254929027}, nameIterator = {first = 796, second = "SimFrame"}}, autoShowGraph = false, it = {
            first = 796, second = 1}}
#11 0x00000000005a3bea in CGame::ClientReadNet (this=this@entry=0x27e36b0) at rts/Net/NetCommands.cpp:507
        packet = {px = 0x7fb481793e90, pn = {pi_ = 0x7fb481793ed0}}
        inbuf = <optimized out>
        dataLength = 1
        packetCode = 2 '\002'
        msgProcEndTime = <optimized out>
        __FUNCTION__ = "ClientReadNet"
0000012 0x00000000004b71b9 in CGame::Update (this=0x27e36b0) at rts/Game/Game.cpp:960
No locals.
0000013 0x0000000000834718 in SpringApp::Update (this=this@entry=0x7ffe8ade1bc0) at rts/System/SpringApp.cpp:973
        ret = 1
        cputimer = {<BasicTimer> = {<boost::noncopyable_::noncopyable> = {<No data fields>}, hash = 1455344675, starttime = {static binder = {class_ = 0x22283c0, base = 0x0,
                flags = creg::CF_None, memberRegistrator = 0xddd110 <spring_time::memberRegistrator>, name = 0xbd5e72 "spring_time", size = 8, alignment = 8, hasVTable = false,
                isCregStruct = true, constructor = 0x811fd0 <spring_time::_ConstructInstance(void*)>, destructor = 0x811fe0 <spring_time::_DestructInstance(void*)>,
                nextBinder = 0xddd020 <CRectangleOptimizer::binder>}, static memberRegistrator = 0xddd190 <spring_timemreg>, static creg_hasVTable = false,
              static creg_isStruct = true, x = 484976034, static xs = 1455341650254929027}, nameIterator = {first = 1139, second = "SwapBuffers"}}, autoShowGraph = false, it = {
            first = 1139, second = 0}}
0000014 0x000000000083a0f8 in SpringApp::Run (this=this@entry=0x7ffe8ade1bc0) at rts/System/SpringApp.cpp:1009
        __FUNCTION__ = "Run"
#15 0x000000000080ddc4 in Run (argc=argc@entry=1, argv=argv@entry=0x7ffe8ade1f18) at rts/System/Main.cpp:48
        app = {cmdline = {px = 0x22186c0, pn = {pi_ = 0x2207c40}}, clientSetup = {px = 0x22b07e0, pn = {pi_ = 0x24f9970}}}
        ret = -1
        err = <optimized out>
#16 0x0000000000468c04 in main (argc=1, argv=0x7ffe8ade1f18) at rts/System/Main.cpp:107
TagsNo tags attached.
Checked infolog.txt for Errors
Attached Files

-Relationships
duplicate of 0005105resolvedhokomoko Spring froze 
related to 0005095closedabma desync in validationtest 
+Relationships

-Notes

~0015756

abma (administrator)

Last edited: 2016-02-13 07:40

View 2 revisions

spring 100.0.1-1157-g3c601b1

sorry, no demo, was at frame >100k

was a release build -> possible an assert would fail in a debug build

~0015759

Kloot (developer)

Last edited: 2016-02-13 12:32

View 2 revisions

these probably have something to do with it:

    rdsx = -nan(0x7fe8d6)
    rdsz = -nan(0x7fe8d6)

CWeapon::HaveFreeLineOfFire (this=0x1b8859c0, pos=..., trg=...) at rts/Sim/Weapons/Weapon.cpp:974
        unit = 0x0
        feature = 0x0
        gdst = <optimized out>
        gpos = <optimized out>
        dir = {... {{x = -nan(0x7fe8d6), y = -nan(0x7fe8d6), z = -nan(0x7fe8d6)}, ...}
        length = -nan(0x7fe8d6)

~0015760

hokomoko (developer)

length comes from the length of the vector here: https://github.com/spring/spring/blob/develop/rts/Sim/Weapons/Weapon.cpp#L958
so if we're going back either pos or aimFromPos were nan?

which game was it?

~0015761

abma (administrator)

Balanced Annihilation V9.31

~0015762

hokomoko (developer)

AFAIK it isn't working with current engine (didn't update lua code) so that may be a reason.

~0015875

abma (administrator)

other report has a replay, closing this one

~0015900

hokomoko (developer)

Fix 8e997c3520784016c8a9a24434b60e847020b1a3 committed to develop branch: Fix 0005105 0005088, repo: spring changeset id: 6677
+Notes

-Issue History
Date Modified Username Field Change
2016-02-13 07:29 abma New Issue
2016-02-13 07:39 abma Note Added: 0015756
2016-02-13 07:40 abma Note Edited: 0015756 View Revisions
2016-02-13 12:28 Kloot Note Added: 0015759
2016-02-13 12:32 Kloot Note Edited: 0015759 View Revisions
2016-02-13 13:03 hokomoko Note Added: 0015760
2016-02-13 14:18 abma Note Added: 0015761
2016-02-13 14:31 hokomoko Note Added: 0015762
2016-02-17 01:31 abma Relationship added related to 0005095
2016-02-23 17:29 Kloot Relationship added duplicate of 0005105
2016-02-24 01:53 abma Note Added: 0015875
2016-02-24 01:53 abma Status new => closed
2016-02-24 01:53 abma Assigned To => abma
2016-02-24 01:53 abma Resolution open => duplicate
2016-02-26 14:55 hokomoko Changeset attached => spring develop 8e997c35
2016-02-26 14:55 hokomoko Note Added: 0015900
2016-02-26 14:55 hokomoko Assigned To abma => hokomoko
2016-02-26 14:55 hokomoko Status closed => resolved
2016-02-26 14:55 hokomoko Resolution duplicate => fixed
+Issue History