URL:
  <http://gna.org/bugs/?10986>

                 Summary: Crash when unstoring unit in wml
                 Project: Battle for Wesnoth
            Submitted by: suokko
            Submitted on: Monday 02/04/2008 at 12:00
                Category: Bug
                Severity: 4 - Important
                Priority: 5 - Normal
              Item Group: Units
                  Status: None
                 Privacy: Public
             Assigned to: boucman
        Originator Email: 
             Open/Closed: Open
         Discussion Lock: Any
                 Release: 1.3.15+svn
        Operating System: ubnutu

    _______________________________________________________

Details:

Steps to reproduce:
1. load attached save
2. Make melee attack with invisible unit near gryphon against gryphon

WML is trying to swap gryphons side to red after hitting it with melee.

This has worked in 1.3.15+svn.

Program received signal SIGSEGV, Segmentation fault.
0x080d931c in std::_Rb_tree<std::string, std::pair<std::string const,
unit_animation::crude_animation>, std::_Select1st<std::pair<std::string
const, unit_animation::crude_animation> >, std::less<std::string>,
std::allocator<std::pair<std::string const, unit_animation::crude_animation>
> >::_M_begin (this=0xffffff54) at
/usr/include/c++/4.1.3/bits/stl_tree.h:466
466           { return
static_cast<_Link_type>(this->_M_impl._M_header._M_parent); }
(gdb) bt
#0  0x080d931c in std::_Rb_tree<std::string, std::pair<std::string const,
unit_animation::crude_animation>, std::_Select1st<std::pair<std::string
const, unit_animation::crude_animation> >, std::less<std::string>,
std::allocator<std::pair<std::string const, unit_animation::crude_animation>
> >::_M_begin (this=0xffffff54) at
/usr/include/c++/4.1.3/bits/stl_tree.h:466
#1  0x08356b49 in std::_Rb_tree<std::string, std::pair<std::string const,
unit_animation::crude_animation>, std::_Select1st<std::pair<std::string
const, unit_animation::crude_animation> >, std::less<std::string>,
std::allocator<std::pair<std::string const, unit_animation::crude_animation>
> >::lower_bound (this=0xffffff54, [EMAIL PROTECTED])
    at /usr/include/c++/4.1.3/bits/stl_tree.h:1367
#2  0x08356bed in std::map<std::string, unit_animation::crude_animation,
std::less<std::string>, std::allocator<std::pair<std::string const,
unit_animation::crude_animation> > >::lower_bound (this=0xffffff54,
[EMAIL PROTECTED])
    at /usr/include/c++/4.1.3/bits/stl_map.h:576
#3  0x08359148 in std::map<std::string, unit_animation::crude_animation,
std::less<std::string>, std::allocator<std::pair<std::string const,
unit_animation::crude_animation> > >::operator[] (this=0xffffff54,
[EMAIL PROTECTED])
    at /usr/include/c++/4.1.3/bits/stl_map.h:345
#4  0x0834f94e in unit_animation::add_anims ([EMAIL PROTECTED],
[EMAIL PROTECTED]) at unit_animation.cpp:531
#5  0x0835104d in unit_animation::fill_initial_animations
([EMAIL PROTECTED], [EMAIL PROTECTED])
    at unit_animation.cpp:292
#6  0x08326db1 in unit::read (this=0xbfeafc34, [EMAIL PROTECTED],
use_traits=false, state=0x0) at unit.cpp:1359
#7  0x083299d0 in unit (this=0xbfeafc34, gamedata=0xbfec84e0,
unitmap=0xbfec32c4, map=0xbfec31f0, game_status=0xbfec31c4, 
    teams=0xbfec31b4, [EMAIL PROTECTED], use_traits=false, state=0x0) at
unit.cpp:199
#8  0x08171d0a in (anonymous namespace)::event_handler::handle_event_command
(this=0xac6d9ec, [EMAIL PROTECTED], 
    [EMAIL PROTECTED], cfg={cfg_ = 0xa69d500}, [EMAIL PROTECTED],
[EMAIL PROTECTED]) at game_events.cpp:2148
#9  0x08176b94 in (anonymous namespace)::event_handler::handle_event
(this=0xac6d9ec, [EMAIL PROTECTED], conf=
      {cfg_ = 0xa69d3b0}) at game_events.cpp:2542
#10 0x08164a96 in (anonymous namespace)::event_handler::handle_event_command
(this=0xac6d9ec, [EMAIL PROTECTED], 
    [EMAIL PROTECTED], cfg={cfg_ = 0xa69d250}, [EMAIL PROTECTED],
[EMAIL PROTECTED]) at game_events.cpp:1264
#11 0x08176b94 in (anonymous namespace)::event_handler::handle_event
(this=0xac6d9ec, [EMAIL PROTECTED], conf=
      {cfg_ = 0xa6a0bd0}) at game_events.cpp:2542
#12 0x08164a96 in (anonymous namespace)::event_handler::handle_event_command
(this=0xac6d9ec, [EMAIL PROTECTED], 
    [EMAIL PROTECTED], cfg={cfg_ = 0xa6a0a80}, [EMAIL PROTECTED],
[EMAIL PROTECTED]) at game_events.cpp:1264
#13 0x08176b94 in (anonymous namespace)::event_handler::handle_event
(this=0xac6d9ec, [EMAIL PROTECTED], conf=
      {cfg_ = 0xa6a06d8}) at game_events.cpp:2542
#14 0x08164a96 in (anonymous namespace)::event_handler::handle_event_command
(this=0xac6d9ec, [EMAIL PROTECTED], 
    [EMAIL PROTECTED], cfg={cfg_ = 0xa6a03c0}, [EMAIL PROTECTED],
[EMAIL PROTECTED]) at game_events.cpp:1264
#15 0x08176b94 in (anonymous namespace)::event_handler::handle_event
(this=0xac6d9ec, [EMAIL PROTECTED], conf=
      {cfg_ = 0xa6a0348}) at game_events.cpp:2542
#16 0x08164a96 in (anonymous namespace)::event_handler::handle_event_command
(this=0xac6d9ec, [EMAIL PROTECTED], 
    [EMAIL PROTECTED], cfg={cfg_ = 0xa6a0208}, [EMAIL PROTECTED],
[EMAIL PROTECTED]) at game_events.cpp:1264
---Type <return> to continue, or q <return> to quit---
#17 0x08176b94 in (anonymous namespace)::event_handler::handle_event
(this=0xac6d9ec, [EMAIL PROTECTED], conf=
      {cfg_ = 0xa155f28}) at game_events.cpp:2542
#18 0x08164a96 in (anonymous namespace)::event_handler::handle_event_command
(this=0xac6d9ec, [EMAIL PROTECTED], 
    [EMAIL PROTECTED], cfg={cfg_ = 0xa155d70}, [EMAIL PROTECTED],
[EMAIL PROTECTED]) at game_events.cpp:1264
#19 0x08176b94 in (anonymous namespace)::event_handler::handle_event
(this=0xac6d9ec, [EMAIL PROTECTED], conf=
      {cfg_ = 0x0}) at game_events.cpp:2542
#20 0x08177700 in process_event ([EMAIL PROTECTED], [EMAIL PROTECTED]) at
game_events.cpp:2630
#21 0x08177e2f in game_events::pump () at game_events.cpp:2877
#22 0x08177f33 in game_events::fire ([EMAIL PROTECTED], [EMAIL PROTECTED],
[EMAIL PROTECTED], [EMAIL PROTECTED])
    at game_events.cpp:2823
#23 0x0809d9f1 in attack::fire_event (this=0xbfec1bdc, [EMAIL PROTECTED]) at
actions.cpp:772
#24 0x080a6164 in attack (this=0xbfec1bdc, [EMAIL PROTECTED], [EMAIL PROTECTED],
[EMAIL PROTECTED], attacker=
        {x = 12, y = 11, static null_location = {x = -1000, y = -1000, static
null_location = <same as static member of an already seen type>}}, defender=
        {x = 13, y = 10, static null_location = {x = -1000, y = -1000, static
null_location = <same as static member of an already seen type>}},
attack_with=0, defend_with=0, [EMAIL PROTECTED], [EMAIL PROTECTED],
[EMAIL PROTECTED], 
    update_display=true) at actions.cpp:1026
#25 0x0821ede1 in events::mouse_handler::attack_enemy_ (this=0xbfec3094,
attacker={i_ = {_M_node = 0xa73e658}}, defender=
        {i_ = {_M_node = 0xa7ae990}}) at mouse_events.cpp:1444
#26 0x0821f0ea in events::mouse_handler::attack_enemy (this=0xbfec3094,
attacker={i_ = {_M_node = 0xa73e658}}, defender=
        {i_ = {_M_node = 0xa7ae990}}) at mouse_events.cpp:1327
#27 0x082209f3 in events::mouse_handler::left_click (this=0xbfec3094,
[EMAIL PROTECTED], browse=false)
    at mouse_events.cpp:1139
#28 0x08222bc3 in events::mouse_handler::mouse_press (this=0xbfec3094,
[EMAIL PROTECTED], browse=false)
    at mouse_events.cpp:1026
#29 0x082a5501 in play_controller::handle_event (this=0xbfec3068,
[EMAIL PROTECTED]) at play_controller.cpp:705
#30 0x083f73f8 in events::pump () at events.cpp:376
#31 0x082a48ae in play_controller::play_slice (this=0xbfec3068) at
play_controller.cpp:723
#32 0x082b17e5 in playmp_controller::play_human_turn (this=0xbfec3068) at
playmp_controller.cpp:190
#33 0x082b245b in playmp_controller::play_side (this=0xbfec3068,
team_index=1, save=false) at playmp_controller.cpp:93
#34 0x082b579e in playsingle_controller::play_turn (this=0xbfec3068,
save=false) at playsingle_controller.cpp:487
#35 0x082b6e98 in playsingle_controller::play_scenario (this=0xbfec3068,
[EMAIL PROTECTED], [EMAIL PROTECTED], 
    skip_replay=false) at playsingle_controller.cpp:275
#36 0x0829b46f in playmp_scenario ([EMAIL PROTECTED],
[EMAIL PROTECTED], level=0xbfec4ecc, [EMAIL PROTECTED], 
    [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED],
skip_replay=false, [EMAIL PROTECTED])
    at playcampaign.cpp:165
#37 0x0829ec82 in play_game ([EMAIL PROTECTED], [EMAIL PROTECTED],
[EMAIL PROTECTED], [EMAIL PROTECTED], 
---Type <return> to continue, or q <return> to quit---
    [EMAIL PROTECTED], io_type=IO_SERVER, skip_replay=false) at
playcampaign.cpp:381
#38 0x08230378 in enter_connect_mode ([EMAIL PROTECTED],
[EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED], 
    [EMAIL PROTECTED], [EMAIL PROTECTED],
default_controller=mp::CNTR_NETWORK, is_server=false) at multiplayer.cpp:357
#39 0x08230682 in enter_create_mode ([EMAIL PROTECTED],
[EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED], 
    [EMAIL PROTECTED], default_controller=mp::CNTR_NETWORK,
is_server=false) at multiplayer.cpp:382
#40 0x08230f39 in enter_lobby_mode ([EMAIL PROTECTED], [EMAIL PROTECTED],
[EMAIL PROTECTED], [EMAIL PROTECTED], 
    [EMAIL PROTECTED]) at multiplayer.cpp:428
#41 0x0823128a in mp::start_client ([EMAIL PROTECTED], [EMAIL PROTECTED],
[EMAIL PROTECTED], [EMAIL PROTECTED])
    at multiplayer.cpp:476
#42 0x08058857 in (anonymous namespace)::game_controller::play_multiplayer
(this=0xbfec8458) at game.cpp:1527
#43 0x0806baef in play_game (argc=1, argv=0xbfec8e84) at game.cpp:2283
#44 0x0806c083 in main (argc=1, argv=0xbfec8e84) at game.cpp:2338



    _______________________________________________________

File Attachments:


-------------------------------------------------------
Date: Monday 02/04/2008 at 12:00  Name: Crash  Size: 73kB   By: suokko
Crash save
<http://gna.org/bugs/download.php?file_id=3731>

    _______________________________________________________

Reply to this item at:

  <http://gna.org/bugs/?10986>

_______________________________________________
  Message sent via/by Gna!
  http://gna.org/


_______________________________________________
Wesnoth-bugs mailing list
[email protected]
https://mail.gna.org/listinfo/wesnoth-bugs

Reply via email to