Revolution-Random Crash in Fifth Scenario

The place to post your WML questions and answers.

Moderators: Forum Moderators, Developers

Forum rules
  • Please use [code] BBCode tags in your posts for embedding WML snippets.
  • To keep your code readable so that others can easily help you, make sure to indent it following our conventions.

Revolution-Random Crash in Fifth Scenario

Postby CleebMeister » August 9th, 2017, 1:26 am

I'm making a campaign and it works fine up until the fifth scenario. On any given turn, generally around turns 4-8, the entire game will crash while the AI are up. I ran it in terminal and got this crash report.
wesnoth: /build/wesnoth-1.12-BTrJSk/wesnoth-1.12-1.12.6/src/ai/testing/../../unit_map.hpp:176: unit_map::iterator_base<iter_types>::value_type* unit_map::iterator_base<iter_types>::operator->() const [with iter_types = unit_map::const_iter_types; unit_map::iterator_base<iter_types>::pointer = const unit*; unit_map::iterator_base<iter_types>::value_type = const unit]: Assertion `valid()' failed.
Aborted (core dumped)

I thought it was happening when a certain unit was being recruited and that was why it was happening during the AI's turn and at random turns each time, but I deleted all of the recruit lists and it still happened. I've been working on it for a while now and still can't figure anything out. Here's the file, sorry if it's a simple mistake but if you could help me out that'd be great.
Code: Select all
[scenario]
id="05_Revolution.cfg-work" 
map_data="{~add-ons/Revolution/maps/05_Revolution_map.map}"
name="The Drakes"
random_starting_time=no
victory_when_enemies_defeated=no
next_scenario=06_Revolution.cfg-work
[event]
        name=prestart
        [objectives]
            side=1
            [objective]
                description= _ "Kill all of the drakes"
                condition=win
            [/objective]
            [objective]
                description= _ "Death of Any of The Brothers"
                condition=lose
            [/objective]
            [objective]
                description= _ "Death of Tris, Gomalsil, or Aldros"
                condition=lose
            [/objective]
            [objective]
                description= _ "Death of the Dwarvish King"
                condition=lose
            [/objective]
            [gold_carryover]
                bonus=no
            [/gold_carryover]
        [/objectives]
    [/event]
    [event]
  name=side 4 turn 7
  {EARTHQUAKE (
        [terrain]
            x=0
            y=17
            terrain=Uh^Dr
        [/terrain]
        [terrain]
            x=45
            y=17
            terrain=Uh^Dr
        [/terrain]
        ) }
[/event]
[event]
  name=side 4 turn 7
         [unit]
     type=Troll
     name=Grug
     id=Troll-1
     x=1
     y=17
     side=4
    [/unit]
    [unit]
     type=Troll
     name=Pont
     id=Troll-2
     x=1
     y=18
     side=4
    [/unit]
    [unit]
     type=Troll Rocklobber
     name=Purg
     id=Troll-3
     x=44
     y=17
     side=4
    [/unit]
    [unit]
     type=Troll
     name=Ung
     id=Troll-3
     x=44
     y=16
     side=4
    [/unit]
    [message]
     message="Grug gonna smash puny Dwarves!"
     id=Troll-1
    [/message]
        [message]
     message="Oh no we`re doomed!"
     id=Billy
   [/message]
         [set_variable]
        name=spawn_trigger
        value=0
         [/set_variable]
    [event]
     name=side 4 turn
     first_time_only=no
            [if]
          [variable]
               name=side_number
               equals=4
          [/variable]
          [variable]
               name=turn_number
               less_than_equal_to=12
          [/variable]
          [then]
         [set_variable]
        name=spawn_trigger
        add=1
         [/set_variable]
               [if]
                    [variable]
                         name=spawn_trigger
                         equals=2
                    [/variable]
                    [then]
                         [unit]
           type=Troll Rocklobber
           side=4
           x=1
           y=17
           id=Troll Rocklobber
           name=Troll Rocklobber
           [/unit]
           [unit]
           type=Troll
           side=4
           x=44
           y=16
           id=Troll
           name=Troll
           [/unit]
           {CLEAR_VARIABLE spawn_trigger}
           [/then]
           [/if]
           [/then]
           [/if]
    [/event]
    [event]
     name=side 4 turn
     first_time_only=no
            [if]
          [variable]
               name=side_number
               equals=4
          [/variable]
          [variable]
               name=turn_number
               less_than_equal_to=12
          [/variable]
          [then]
               [if]
                    [variable]
                         name=spawn_trigger
                         equals=1
                    [/variable]
                    [then]
                         [unit]
           type=Troll Rocklobber
           side=4
           x=44
           y=16
           id=Troll Rocklobber
           name=Troll Rocklobber
           [/unit]
           [unit]
           type=Troll
           side=4
           x=1
           y=17
           id=Troll
           name=Troll
           [/unit]
                      [/then]
           [/if]
          [/then]
       [/if]
    [/event]
    [event]
     name=side turn
     first_time_only=no
            [if]
          [variable]
               name=side_number
               equals=4
          [/variable]
          [variable]
               name=turn_number
               greater_than=12
          [/variable]
          [variable]
               name=turn_number
               less_than=16
          [/variable]
          [then]
                         [unit]
           type=Troll Whelp
           side=4
           x=44
           y=16
           id=Troll Whelp
           name=Troll Whelp
           [/unit]
           [unit]
           type=Troll Whelp
           side=4
           x=1
           y=17
           id=Troll Whelp
           name=Troll Whelp
           [/unit]
          [/then]
           [/if]
    [/event]   
[/event]
    [music]
   append=yes
   ms_after=0
   ms_before=12000
   name=underground.ogg
    [/music]
    [music]
   append=yes
   ms_after=0
   ms_before=12000
   name=heroes_rite.ogg
    [/music]
      [event]
        name=start
            [message]
                id=Dwarvish Lord-2
                message= _ "Tris, you got here just in the nick of time.  Take that keep to the bottom left of me."
            [/message]
            [message]
                id=Tris
                message= _ "Yes sir. Come on, Caleb, lets go."
            [/message]
        [/event]
{INDOORS}
[side]
   type=Caleb Ruffian
        id=Caleb
        name=Caleb
        unrenamable=yes
        profile=portraits/humans/ruffian.png
        side=1
        canrecruit=yes
        controller=human
        recruit=Slave, Slave Woodsman, Rufian, Thug, Footpad, Poacher, Dwarvish Guardsman, Dwarvish Scout, Dwarvish Fighter, Dwarvish Thunderer
        {GOLD 340 300 260}
        income=2
        team_name=brothers
        user_team_name=Brothers
        x=24
        y=33
   [unit]
      canrecruit=yes
      extra_recruit=""
      id="Billy"
      name="Billy"
      type="Billy Ruffian"
      unrenamable=yes
      x=23
      y=33
   [/unit]
   [unit]
      canrecruit=yes
      extra_recruit=""
      id="Travis"
      name="Travis"
      type="Travis Ruffian"
      unrenamable=yes
      x=22
      y=33
   [/unit]
   [unit]
      canrecruit=yes
      extra_recruit=""
      id="Treyce"
      name="Treyce"
      type="Treyce Ruffian"
      unrenamable=yes
      x=23
      y=32
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Dwarvish Fighter-26"
      name="Gomatus"
      type="Dwarvish Fighter"
      unrenamable=no
      x=21
      y=32
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Dwarvish Fighter-27"
      name="Dulamaing"
      type="Dwarvish Fighter"
      unrenamable=no
      x=25
      y=32
   [/unit]
   [unit]
      [modifications]
                {TRAIT_LOYAL}
                [/modifications]
                {IS_LOYAL}
      extra_recruit=""
      id="Aldros"
      name="Aldros"
      type="Dwarvish Stalwart"
      unrenamable=no
      x=21
      y=33
   [/unit]
   [unit]
      [modifications]
                {TRAIT_LOYAL}
                [/modifications]
                {IS_LOYAL}
      extra_recruit=""
      id="Tris"
      name="Tris"
      type="Dwarvish Sentinel"
      unrenamable=yes
      x=22
      y=32
   [/unit]
   [unit]
      [modifications]
                {TRAIT_LOYAL}
                [/modifications]
                {IS_LOYAL}
      extra_recruit=""
      id="Gomalsil"
      name="Gomalsil"
      type="Dwarvish Sentinel"
      unrenamable=no
      x=24
      y=32
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Bandit-32"
      name="Rhubry"
      type="Bandit"
      unrenamable=no
      x=25
      y=33
   [/unit]
[/side]
[side]
   controller=ai
   gold=0
   hidden=no
   income=0
        id=Dwarvish Lord-2
        name=King Analsil
        type=Dwarvish Lord
        unrenamable=no
        x=22
        y=17
   recruit=Dwarvish Guardsman, Dwarvish Scout, Dwarvish Fighter, Dwarvish Thunderer
   side=2
   team_name=brothers
   user_team_name=Dwarves
   [village]
      x=12
      y=19
   [/village]
   [village]
      x=14
      y=13
   [/village]
   [village]
      x=21
      y=7
   [/village]
   [village]
      x=24
      y=30
   [/village]
   [village]
      x=28
      y=7
   [/village]
   [village]
      x=32
      y=26
   [/village]
   [village]
      x=33
      y=18
   [/village]
   [village]
      x=37
      y=15
   [/village]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Dwarvish Steelclad-49"
      name="Pelthaing"
      type="Dwarvish Steelclad"
      unrenamable=no
      x=21
      y=17
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Dwarvish Steelclad-50"
      name="Trithaus"
      type="Dwarvish Steelclad"
      unrenamable=no
      x=21
      y=18
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Dwarvish Steelclad-51"
      name="Glalus"
      type="Dwarvish Steelclad"
      unrenamable=no
      x=22
      y=18
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Dwarvish Steelclad-52"
      name="Glaithlos"
      type="Dwarvish Steelclad"
      unrenamable=no
      x=23
      y=18
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Dwarvish Steelclad-53"
      name="Trithsil"
      type="Dwarvish Steelclad"
      unrenamable=no
      x=23
      y=17
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Dwarvish Steelclad-54"
      name="Glas"
      type="Dwarvish Steelclad"
      unrenamable=no
      x=22
      y=16
   [/unit]
   [unit]
      canrecruit=yes
      extra_recruit=""
      id="Dwarvish Dragonguard-55"
      name="Aigcatlomain"
      type="Dwarvish Dragonguard"
      unrenamable=no
      x=27
      y=11
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Dwarvish Thunderguard-56"
      name="Gomalos"
      type="Dwarvish Thunderguard"
      unrenamable=no
      x=26
      y=10
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Dwarvish Thunderguard-57"
      name="Augatsol"
      type="Dwarvish Thunderguard"
      unrenamable=no
      x=26
      y=11
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Dwarvish Thunderguard-58"
      name="Dulamaithis"
      type="Dwarvish Thunderguard"
      unrenamable=no
      x=28
      y=11
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Dwarvish Thunderguard-59"
      name="Augdrus"
      type="Dwarvish Thunderguard"
      unrenamable=no
      x=28
      y=10
   [/unit]
   [unit]
      canrecruit=yes
      extra_recruit=""
      id="Dwarvish Arcanister-60"
      name="Dulaithil"
      type="Dwarvish Arcanister"
      unrenamable=no
      x=17
      y=11
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Dwarvish Runesmith-63"
      name="Aigatas"
      type="Dwarvish Runesmith"
      unrenamable=no
      x=17
      y=12
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Dwarvish Runesmith-64"
      name="Aigdurus"
      type="Dwarvish Runesmith"
      unrenamable=no
      x=16
      y=11
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Dwarvish Runemaster-66"
      name="Glaithaol"
      type="Dwarvish Runemaster"
      unrenamable=no
      x=17
      y=10
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Dwarvish Runesmith-67"
      name="Aigatsil"
      type="Dwarvish Runesmith"
      unrenamable=no
      x=18
      y=10
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Dwarvish Runesmith-68"
      name="Dulamthas"
      type="Dwarvish Runesmith"
      unrenamable=no
      x=18
      y=11
   [/unit]
   [unit]
      canrecruit=yes
      extra_recruit=""
      id="Dwarvish Sentinel-69"
      name="Anththcatlos"
      type="Dwarvish Sentinel"
      unrenamable=no
      x=27
      y=24
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Dwarvish Stalwart-71"
      name="Dulatil"
      type="Dwarvish Stalwart"
      unrenamable=no
      x=28
      y=24
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Dwarvish Stalwart-72"
      name="Aigatus"
      type="Dwarvish Stalwart"
      unrenamable=no
      x=28
      y=23
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Dwarvish Stalwart-73"
      name="Dulthalamdro"
      type="Dwarvish Stalwart"
      unrenamable=no
      x=26
      y=24
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Dwarvish Stalwart-74"
      name="Aigaling"
      type="Dwarvish Stalwart"
      unrenamable=no
      x=27
      y=23
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Dwarvish Pathfinder-80"
      name="Althlos"
      type="Dwarvish Pathfinder"
      unrenamable=no
      x=17
      y=23
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Dwarvish Pathfinder-81"
      name="Aldurithaith"
      type="Dwarvish Pathfinder"
      unrenamable=no
      x=18
      y=23
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Dwarvish Thunderer-143"
      name="Peldrus"
      type="Dwarvish Thunderer"
      unrenamable=no
      x=41
      y=7
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Dwarvish Fighter-145"
      name="Alaithsil"
      type="Dwarvish Fighter"
      unrenamable=no
      x=30
      y=30
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Dwarvish Fighter-147"
      name="Augalsil"
      type="Dwarvish Fighter"
      unrenamable=no
      x=39
      y=26
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Dwarvish Thunderer-148"
      name="Pelaithaas"
      type="Dwarvish Thunderer"
      unrenamable=no
      x=31
      y=30
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Dwarvish Fighter-149"
      name="Augating"
      type="Dwarvish Fighter"
      unrenamable=no
      x=42
      y=7
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Dwarvish Fighter-150"
      name="Alcating"
      type="Dwarvish Fighter"
      unrenamable=no
      x=39
      y=6
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Dwarvish Scout-151"
      name="Trithatas"
      type="Dwarvish Scout"
      unrenamable=no
      x=38
      y=5
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Dwarvish Fighter-152"
      name="Nardring"
      type="Dwarvish Fighter"
      unrenamable=no
      x=9
      y=25
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Dwarvish Steelclad-161"
      name="Peldrlos"
      type="Dwarvish Steelclad"
      unrenamable=no
      x=20
      y=31
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Dwarvish Fighter-179"
      name="Aigcatil"
      type="Dwarvish Fighter"
      unrenamable=no
      x=26
      y=22
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Dwarvish Fighter-180"
      name="Aigalomaithi"
      type="Dwarvish Fighter"
      unrenamable=no
      x=37
      y=25
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Dwarvish Fighter-181"
      name="Alcatus"
      type="Dwarvish Fighter"
      unrenamable=no
      x=38
      y=26
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Dwarvish Fighter-182"
      name="Gomaithalol"
      type="Dwarvish Fighter"
      unrenamable=no
      x=10
      y=23
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Dwarvish Fighter-183"
      name="Tris"
      type="Dwarvish Fighter"
      unrenamable=no
      x=9
      y=23
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Dwarvish Fighter-184"
      name="Pelaithil"
      type="Dwarvish Fighter"
      unrenamable=no
      x=10
      y=24
   [/unit]
[/side]
[side]
   controller=ai
   gold=500
   hidden=no
        extra_recruit=
        id=Inferno Drake-89
        name=Verritos Gar
        type=Inferno Drake
        unrenamable=no
        x=2
        y=2
   income=0
   recruit=Drake Glider, Drake Burner, Drake Clasher, Drake Fighter, Drake Warrior, Drake Arbiter, Drake Thrasher, Sky Drake, Fire Drake
   side=3
   team_name=drakes
   user_team_name=Drakes
   [village]
      x=2
      y=28
   [/village]
   [village]
      x=3
      y=5
   [/village]
   [village]
      x=4
      y=20
   [/village]
   [village]
      x=6
      y=4
   [/village]
   [village]
      x=7
      y=2
   [/village]
   [village]
      x=8
      y=32
   [/village]
   [village]
      x=11
      y=6
   [/village]
   [village]
      x=15
      y=33
   [/village]
   [village]
      x=35
      y=24
   [/village]
   [village]
      x=35
      y=33
   [/village]
   [village]
      x=37
      y=2
   [/village]
   [village]
      x=42
      y=4
   [/village]
   [village]
      x=42
      y=29
   [/village]
      [unit]
      canrecruit=no
      extra_recruit=""
      id="Fire Drake-75"
      name="Gashii"
      type="Fire Drake"
      unrenamable=no
      x=17
      y=24
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Drake Clasher-77"
      name="Gakré Ohn"
      type="Drake Clasher"
      unrenamable=no
      x=16
      y=24
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Drake Glider-78"
      name="Mar’Ildin"
      type="Drake Glider"
      unrenamable=no
      x=18
      y=24
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Drake Fighter-79"
      name="Marr"
      type="Drake Fighter"
      unrenamable=no
      x=17
      y=25
   [/unit]
   [unit]
      canrecruit=yes
      extra_recruit=""
      id="Hurricane Drake-82"
      name="Ga’ashé"
      type="Hurricane Drake"
      unrenamable=no
      x=42
      y=32
   [/unit]
   [unit]
      canrecruit=yes
      extra_recruit=""
      id="Drake Flameheart-83"
      name="Gark"
      type="Drake Flameheart"
      unrenamable=no
      x=43
      y=2
   [/unit]
   [unit]
      canrecruit=yes
      extra_recruit=""
      id="Drake Blademaster-86"
      name="Gaké"
      type="Drake Blademaster"
      unrenamable=no
      x=4
      y=31
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Drake Arbiter-90"
      name="Merridda"
      type="Drake Arbiter"
      unrenamable=no
      x=27
      y=10
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Drake Fighter-91"
      name="Veraag"
      type="Drake Fighter"
      unrenamable=no
      x=27
      y=12
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Drake Thrasher-92"
      name="Marradé Ihn"
      type="Drake Thrasher"
      unrenamable=no
      x=16
      y=10
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Drake Fighter-95"
      name="Grid"
      type="Drake Fighter"
      unrenamable=no
      x=20
      y=16
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Drake Fighter-96"
      name="Kerdin Kor"
      type="Drake Fighter"
      unrenamable=no
      x=24
      y=17
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Drake Burner-98"
      name="Verath"
      type="Drake Burner"
      unrenamable=no
      x=20
      y=17
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Drake Burner-99"
      name="Verkan"
      type="Drake Burner"
      unrenamable=no
      x=20
      y=18
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Drake Flare-100"
      name="Gelknick"
      type="Drake Flare"
      unrenamable=no
      x=21
      y=19
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Drake Warrior-101"
      name="Velkan"
      type="Drake Warrior"
      unrenamable=no
      x=23
      y=16
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Drake Glider-103"
      name="Ga’aslan"
      type="Drake Glider"
      unrenamable=no
      x=23
      y=19
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Drake Clasher-113"
      name="Karlan"
      type="Drake Clasher"
      unrenamable=no
      x=21
      y=16
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Drake Arbiter-114"
      name="Kreth"
      type="Drake Arbiter"
      unrenamable=no
      x=18
      y=12
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Drake Arbiter-118"
      name="Marashan"
      type="Drake Arbiter"
      unrenamable=no
      x=29
      y=11
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Drake Thrasher-119"
      name="Grid"
      type="Drake Thrasher"
      unrenamable=no
      x=29
      y=24
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Drake Flare-121"
      name="Kashitt"
      type="Drake Flare"
      unrenamable=no
      x=16
      y=12
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Drake Burner-124"
      name="Kargian Ohn"
      type="Drake Burner"
      unrenamable=no
      x=20
      y=32
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Drake Burner-125"
      name="Gribbel"
      type="Drake Burner"
      unrenamable=no
      x=16
      y=23
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Fire Drake-126"
      name="Verk"
      type="Fire Drake"
      unrenamable=no
      x=19
      y=10
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Fire Drake-127"
      name="Gramo"
      type="Fire Drake"
      unrenamable=no
      x=25
      y=11
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Fire Drake-128"
      name="Vert’lon"
      type="Fire Drake"
      unrenamable=no
      x=26
      y=23
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Drake Flare-130"
      name="Grit"
      type="Drake Flare"
      unrenamable=no
      x=27
      y=25
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Drake Clasher-131"
      name="Vash"
      type="Drake Clasher"
      unrenamable=no
      x=39
      y=27
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Drake Burner-132"
      name="Gegch"
      type="Drake Burner"
      unrenamable=no
      x=40
      y=26
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Drake Fighter-133"
      name="Omada"
      type="Drake Fighter"
      unrenamable=no
      x=31
      y=31
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Drake Fighter-134"
      name="Vera Di’lo"
      type="Drake Fighter"
      unrenamable=no
      x=8
      y=25
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Drake Burner-135"
      name="Garka Kor"
      type="Drake Burner"
      unrenamable=no
      x=39
      y=5
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Drake Burner-136"
      name="Marka Di’lek"
      type="Drake Burner"
      unrenamable=no
      x=42
      y=6
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Drake Glider-137"
      name="Gask"
      type="Drake Glider"
      unrenamable=no
      x=37
      y=6
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Drake Glider-138"
      name="Græt Ih"
      type="Drake Glider"
      unrenamable=no
      x=11
      y=4
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Drake Fighter-139"
      name="Karlan"
      type="Drake Fighter"
      unrenamable=no
      x=6
      y=6
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Drake Burner-154"
      name="Mahn"
      type="Drake Burner"
      unrenamable=no
      x=41
      y=8
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Drake Burner-155"
      name="Gaushar Ohn"
      type="Drake Burner"
      unrenamable=no
      x=29
      y=31
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Drake Burner-156"
      name="Krashenn Ih"
      type="Drake Burner"
      unrenamable=no
      x=19
      y=32
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Drake Burner-157"
      name="Gel"
      type="Drake Burner"
      unrenamable=no
      x=10
      y=25
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Drake Burner-158"
      name="Greth Ih"
      type="Drake Burner"
      unrenamable=no
      x=9
      y=24
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Drake Burner-159"
      name="Kera Kon"
      type="Drake Burner"
      unrenamable=no
      x=38
      y=25
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Drake Clasher-160"
      name="Gar"
      type="Drake Clasher"
      unrenamable=no
      x=30
      y=29
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Drake Warrior-201"
      name="Mor"
      type="Drake Warrior"
      unrenamable=no
      x=22
      y=19
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Drake Warrior-202"
      name="Vlan"
      type="Drake Warrior"
      unrenamable=no
      x=24
      y=18
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Drake Glider-203"
      name="Vashin Gashi"
      type="Drake Glider"
      unrenamable=no
      x=24
      y=16
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Fire Drake-205"
      name="Karritt"
      type="Fire Drake"
      unrenamable=no
      x=22
      y=15
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Drake Warrior-201"
      name="Elchito"
      type="Drake Warrior"
      unrenamable=no
      x=28
      y=22
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Drake Flare-202"
      name="Verk"
      type="Drake Flare"
      unrenamable=no
      x=38
      y=6
   [/unit]
   [unit]
      canrecruit=no
      extra_recruit=""
      id="Fire Drake-204"
      name="Garataké"
      type="Fire Drake"
      unrenamable=no
      x=19
      y=33
   [/unit]
[/side]
[side]
   controller="ai"
   fog=no
   gold=100
   hidden=no
   income=12
   no_leader=yes
   share_maps=no
   share_view=no
   shroud=no
   hidden=yes
   side=4
   team_name=drakes
   user_team_name="Trolls"
[/side]
  [event]
  name=die
     first_time_only=no
    [filter]
      side=3
    [/filter]
    {IF_DEAD 3 (
        [message]
                speaker=Caleb
                message= _ "That's all of them"
        [/message]
    [endlevel]
      result=victory
      carryover_percentage=0
    [/endlevel]     
     )}
   [/event]
    [event]
        name=last breath
        [filter]
            id=Aldros
        [/filter]
         [message]
                speaker=Tris
                message= _ "You fools."
            [/message]
              [endlevel]
            result=defeat
        [/endlevel]
        [/event]
        [event]
        name=last breath
        [filter]
            id=Dwarvish Lord-2
        [/filter]
            [message]
                speaker=Dwarvish Lord-2
                message= _ "Oof"
            [/message]
            [message]
                speaker=Caleb
                message= _ "No! We can't possibly defeat Wesnoth without the help of the dwarves."
            [/message]
              [endlevel]
            result=defeat
        [/endlevel]
        [/event]
   [event]
        name=last breath
        [filter]
            id=Tris
        [/filter]
         [message]
                speaker=Tris
                message= _ "You fools."
            [/message]
              [endlevel]
            result=defeat
        [/endlevel]
    [/event]
    [event]
        name=last breath
        [filter]
            id=Gomalsil
        [/filter]
         [message]
                speaker=Tris
                message= _ "You fools."
            [/message]
              [endlevel]
            result=defeat
        [/endlevel]
    [/event]
        [event]
        name=last breath
        [filter]
            id=Caleb
        [/filter]
        [message]
                speaker=Caleb
                message= _ "It's all over."
            [/message]
              [endlevel]
            result=defeat
        [/endlevel]
        [/event]
            [event]
        name=last breath
        [filter]
            id=Travis
        [/filter]
         [message]
                speaker=Travis
                message= _ "It's all over."
            [/message]
              [endlevel]
            result=defeat
        [/endlevel]
          [/event]
            [event]
        name=last breath
        [filter]
            id=Treyce
        [/filter]
         [message]
                speaker=Treyce
                message= _ "It's all over."
            [/message]
              [endlevel]
            result=defeat
        [/endlevel]
        [/event]
            [event]
        name=last breath
        [filter]
            id=Billy
        [/filter]
         [message]
                speaker=Billy
                message= _ "It's all over."
            [/message]
        [endlevel]
            result=defeat
        [/endlevel]
        [/event]
[/scenario]
User avatar
CleebMeister
 
Posts: 2
Joined: January 12th, 2016, 1:47 pm

Re: Revolution-Random Crash in Fifth Scenario

Postby Samonella » August 9th, 2017, 2:26 am

I see several places that you give multiple units the same id, which isn't good. If you don't specifically need the id as a way to identify the unit (for it to speak in a message or something) you don't have to specify one (just don't include the id= line, or better yet use {GENERIC_UNIT}). I'm not sure if that's causing the crash, but I would guess it is.
The last few months have been nothing but one big, painful reminder that TIMTLTW.

Creator of Armory Mod, The Rising Underworld, and Vengeance of a Drake: an RPG
Samonella
 
Posts: 281
Joined: January 8th, 2016, 5:41 pm
Location: USA

Re: Revolution-Random Crash in Fifth Scenario

Postby Pentarctagon » August 9th, 2017, 4:19 am

Moved to the WML Workshop.

Also, generally the best way to debug code like this is just remove one piece at a time until it doesn't happen anymore. This makes it easier to pin down, and also reduces the amount of code others have to look through if you post for help.

Also also, anything that makes Wesnoth crash is a bug, so please consider reporting it.
99 little bugs in the code, 99 little bugs
take one down, patch it around
-2,147,483,648 little bugs in the code
User avatar
Pentarctagon
Forum Administrator
 
Posts: 2921
Joined: March 22nd, 2009, 10:50 pm
Location: Earth (occasionally)

Re: Revolution-Random Crash in Fifth Scenario

Postby CleebMeister » August 10th, 2017, 12:02 am

Thank you so much for getting back to me so quickly but unfortunately that does not seem to be the problem, I removed the id's of unimportant units and it still crashed. Although this time it did not crash until the twenty fifth turn, so it may have changed something. Also, about the bug report, sorry for not making one, if you haven't already I'll make one soon. Well I'll let you know if I find anything out, thanks again.
User avatar
CleebMeister
 
Posts: 2
Joined: January 12th, 2016, 1:47 pm

Re: Revolution-Random Crash in Fifth Scenario

Postby Pentarctagon » August 10th, 2017, 12:32 am

CleebMeister wrote:Thank you so much for getting back to me so quickly but unfortunately that does not seem to be the problem, I removed the id's of unimportant units and it still crashed. Although this time it did not crash until the twenty fifth turn, so it may have changed something. Also, about the bug report, sorry for not making one, if you haven't already I'll make one soon. Well I'll let you know if I find anything out, thanks again.


It would really be best for you to make it, since you're the one who it's happening to and who knows the details. In this case, I'd also recommend uploading a save file from just before it happens. So, since it happens on the AI's turn, save right before you click End Turn - that way anyone who looks into it can just load up the save, click end turn, and see the crash.
99 little bugs in the code, 99 little bugs
take one down, patch it around
-2,147,483,648 little bugs in the code
User avatar
Pentarctagon
Forum Administrator
 
Posts: 2921
Joined: March 22nd, 2009, 10:50 pm
Location: Earth (occasionally)

Re: Revolution-Random Crash in Fifth Scenario

Postby gfgtdf » August 10th, 2017, 6:00 pm

A stracktrace of the assertionfailure would also help to debug this one.
Scenario with Robots SP scenario (1.11/1.12), allows you to build your units with components, PYR No preperation turn 1.12 mp-mod that allows you to select your units immideately after the game begins.
gfgtdf
Developer
 
Posts: 899
Joined: February 10th, 2013, 2:25 pm

Re: Revolution-Random Crash in Fifth Scenario

Postby GLEvans2 » September 10th, 2017, 4:58 pm

Was just playing this one yesterday. In the second scenario when crossing the snow line heading north, there is a WML error, and apparently Bragbash the Orc Ruler never gets his additional funding.

I can confirm that the game still crashes, first on turn 6, then on turn 2 in the 5th scenario. Not sure how I can help yet.

Just for interest, I turned on DEBUG mode, and killed all the drakes. The game went 2 turns without drakes before it crashed. I will run it from cli and see if I get anything useful.

For what it's worth, Linuxmint 17.3, Wesnoth 1.12.6, Revolution 0.9.2.
GLEvans2
 
Posts: 1
Joined: September 10th, 2017, 4:37 pm


Return to WML Workshop

Who is online

Users browsing this forum: fmac81, Google [Bot] and 6 guests