tdauth / wowr

Warcraft III: Reforged funmap World of Warcraft Reforged.
https://wowreforged.org
8 stars 0 forks source link

Constant crashing in 2.0 after several minutes only with Alliance AI enabled #615

Closed tdauth closed 1 year ago

tdauth commented 2 years ago

Fix the AI scripts or building pathings. Maybe the new portals cause the crash for the Alliance AI.

tdauth commented 2 years ago

After defeating the alliance it crashed after like 30 minutes.

tdauth commented 2 years ago

Find a tool which can analyze replays for the final actions in the replay. The action before the crash might have caused it.

tdauth commented 2 years ago

https://www.hiveworkshop.com/threads/replay-analysis-tool-which-lists-all-final-actions-from-all-computer-players.338509/

tdauth commented 2 years ago

After around 30 minutes, purple was attacking King Deepbeard. Maybe it is some timer after 30 minutes?

tdauth commented 2 years ago

Maybe it is the Statue of Azshara. When I revealed the whole map it was casting constantly to The Burning Legion.

tdauth commented 2 years ago

Not the special buildings. I tested both.

tdauth commented 2 years ago

Got the crash with both special players enabled after 24:40 minutes with warpten cheat. Maybe it is some attack wave. Other player wrote on Discord after 20 minutes.

tdauth commented 2 years ago

Murgol Reaver hat AImove commands shortly before the crash.

tdauth commented 2 years ago

public constant integer AImove=851988

tdauth commented 2 years ago

ACCESS_VIOLATION DBG-OPTIONS DBG-ADDR<00007FF705856873>("Warcraft III.exe") <- DBG-ADDR<00007FF706C96F52>("Warcraft III.exe") <- DBG-ADDR<00007FF705C6B15B>("Warcraft III.exe") DBG-OPTIONS<>

tdauth commented 2 years ago
3093 MB 8578 MB 3622 MB 3442 MB 134209150 MB 3880 MB
tdauth commented 2 years ago

85197 Morgul Slave 852660 same

tdauth commented 2 years ago

The Alliance unloadall Zeppelin.

tdauth commented 2 years ago

851974 Blood Elf Male Citizen

tdauth commented 2 years ago

Finger of Death Eredar Sorcerer on Goldmine and after that and 851974 on eredar sorcerer.

tdauth commented 2 years ago

Maybe:

or the final attack wave of The Alliance:

        call CampaignAttackerEx( 4, 4, 4, BLOOD_ELF_WAGON )
        call CampaignAttackerEx( 4, 4, 4, BLOOD_ELF_BALLISTA )
        call CampaignAttackerEx( 4, 4, 4, BLOOD_ELF_CAGE )

but Blood Elf AI had that before. Maybe just disable random paths. Maybe some timer after 20-30 minutes.

tdauth commented 2 years ago

Maybe we can read the core dump on windows with something like the gdb: https://stackoverflow.com/questions/8305866/how-do-i-analyze-a-programs-core-dump-file-with-gdb-when-it-has-command-line-pa https://www.digitalcitizen.life/view-contents-dump-file/

tdauth commented 2 years ago

Check all AI related changes since 1.9.9:

Maybe it really is the Research Tent. I used the Special Buildings without crashes but when AI uses it it might be different! Compare both AI scripts with their old versions.

tdauth commented 2 years ago

Random Events and Alliance with Burning Legion did already exist. The portals and Water Portals are new. The Alliance can move to different locations now.

Here is the complete 2.0 ChangeLog:

tdauth commented 2 years ago
tdauth commented 2 years ago

Not the Water Portals! I removed them in the beginning: Still a crash!

tdauth commented 2 years ago

Maybe picking a second/third hero. Maybe the AI players think they can pick another hero and it crashes?

tdauth commented 2 years ago

Disabling research tent did not help. Maybe some portals have the wrong target rect and lead to endless paths or incorrect pathing textures/no pathing textures for Goblin buildings in general.

tdauth commented 2 years ago

The portals are all connected. What about reviving dead AI heroes in Altars?

tdauth commented 2 years ago

The Goblin Town Hall was chosen as Altar to revive a hero! However, there was none for The Burning Legion or The Alliance.

tdauth commented 2 years ago

Item Crafting for AI was enabled for The Alliance.

tdauth commented 2 years ago

Exclude Gaia everywhere!

tdauth commented 2 years ago

No Crash for 40 minutes without Burning Legion and The Alliance.

See https://www.hiveworkshop.com/threads/list-of-warcraft-iii-crashes.194706/ Do we use the Orb ability for Attack Ground? Forked Lightning with 0 as its Stats - Area of Effect will freeze the game. for the Naga hero?

tdauth commented 2 years ago

Crashes again without Burning Legion etc. Maybe some raw codes are wrong (Research Tent, Research Tent upgrades, Freelancer AI!!!).

tdauth commented 2 years ago

Changes in the Freelancer AI script (only hero abilities not hero ids):


    constant integer TRANSMUTE                                       = 'ANtm'
    constant integer HEALING_SPRAY                                   = 'ANhs'
    constant integer ACID_BOMB                                       = 'ANab'
    constant integer CHEMICAL_RAGE                                   = 'ANcr'

    constant integer TINKER                                          = 'Ntin'

    constant integer ROBO_GOBLIN                                     = 'ANrg'
    constant integer CLUSTER_ROCKETS                                 = 'ANcs'
    constant integer ENGINEERING                                     = 'ANeg'
    constant integer POCKET_FACTORY                                  = 'ANsy'

    constant integer BREWMASTER                                      = 'Npbm'

    constant integer STORM_EARTH_AND_FIRE                            = 'ANef'
    constant integer BREATH_OF_FIRE                                  = 'ANbf'
    constant integer DRUNKEN_HAZE                                    = 'ANdh'
    constant integer DRUNKEN_BRAWLER                                 = 'ANdb'

    constant integer FIRELORD                                        = 'Nfir'

    constant integer VOLCANO                                         = 'ANvc'
    constant integer INCINERATE                                      = 'ANic'
    constant integer SOUL_BURN                                       = 'ANso'
    constant integer SUMMON_LAVA_SPAWN                               = 'ANlm'

skilling:

    elseif (curHero == ALCHEMIST) then
        if (skillUlti) then
            return TRANSMUTE
        elseif (mod == 0) then
            return HEALING_SPRAY
        elseif (mod == 1) then
            return ACID_BOMB
        elseif (mod == 2) then
            return CHEMICAL_RAGE
        endif
    elseif (curHero == TINKER) then
        if (skillUlti) then
            return ROBO_GOBLIN
        elseif (mod == 0) then
            return CLUSTER_ROCKETS
        elseif (mod == 1) then
            return ENGINEERING
        elseif (mod == 2) then
            return POCKET_FACTORY
        endif
    elseif (curHero == BREWMASTER) then
        if (skillUlti) then
            return STORM_EARTH_AND_FIRE
        elseif (mod == 0) then
            return BREATH_OF_FIRE
        elseif (mod == 1) then
            return DRUNKEN_HAZE
        elseif (mod == 2) then
            return DRUNKEN_BRAWLER
        endif
    elseif (curHero == FIRELORD) then
        if (skillUlti) then
            return VOLCANO
        elseif (mod == 0) then
            return INCINERATE
        elseif (mod == 1) then
            return SOUL_BURN
        elseif (mod == 2) then
            return SUMMON_LAVA_SPAWN
        endif
    endif

and

call SetBuildUpgr( 1000, UPG_CHEAP_EVOLUTION )
tdauth commented 2 years ago

Apparently The Allianced caused the crashes.

tdauth commented 2 years ago

The Alliance AI script had the Power Generator twice in it.

tdauth commented 2 years ago

Compare to https://github.com/tdauth/wowr/blob/b3195a497a2a65bd4abfb6bd44fbfef881899dc2/ai/TheAlliance.ai or the second after this one. It did not crash here. Now it is crashing again.

tdauth commented 1 year ago

Closed because of #1690.