URL:
<http://gna.org/bugs/?21402>
Summary: crash - probably due to Eye Guardian AI
Project: Battle for Wesnoth
Submitted by: fluffbeast
Submitted on: Mon 30 Dec 2013 09:13:14 PM GMT
Category: Bug
Severity: 4 - Important
Priority: 5 - Normal
Item Group: Artificial Intelligence
Status: None
Privacy: Public
Assigned to: None
Originator Email:
Open/Closed: Open
Discussion Lock: Any
Release: 1.11.7+dev(5165a20-Clean)
Operating System: Ubuntu 13.04
_______________________________________________________
Details:
What version of the game are you running?
Latest dev branch 1.11.7+dev(5165a20-Clean)
Have you built (from sources) the game by yourself? gcc/g++ version? SDL
library versions?
Built with g++ 4.7.3
SDL 1.2.15
(other SDL versions are probably not important for this bug)
What operating system are you using? What version/release of that operating
system?
Ubuntu 13.04 (GNU/Linux 3.4.0-5-chromebook armv7l)
Can you reproduce the problem? If you can please provide steps to do it.
Yes; it is reproducible.
Load the attached save file and end turn
There appears to be a bug with the AI for the Eye Guardian unit, as seen in
"The South Guard", scenario "TSG-Into_the_Depths", turn 3.
Stack trace:
(gdb) bt
#0 0x003bd084 in std::_Rb_tree<std::string, std::pair<std::string const,
std::vector<config*, std::allocator<config*> > >,
std::_Select1st<std::pair<std::string const, std::vector<config*,
std::allocator<config*> > > >, std::less<std::string>,
std::allocator<std::pair<std::string const, std::vector<config*,
std::allocator<config*> > > >
>::_M_lower_bound(std::_Rb_tree_node<std::pair<std::string const,
std::vector<config*, std::allocator<config*> > > >*,
std::_Rb_tree_node<std::pair<std::string const, std::vector<config*,
std::allocator<config*> > > >*, std::string const&) [clone .isra.242] ()
#1 0x003c3340 in std::_Rb_tree<std::string, std::pair<std::string const,
std::vector<config*, std::allocator<config*> > >,
std::_Select1st<std::pair<std::string const, std::vector<config*,
std::allocator<config*> > > >, std::less<std::string>,
std::allocator<std::pair<std::string const, std::vector<config*,
std::allocator<config*> > > > >::find(std::string const&) ()
#2 0x003becfa in config::child(std::string const&, int) ()
#3 0x0014bccc in attack_type::get_special_bool(std::string const&, bool)
const ()
#4 0x0019804a in battle_context_unit_stats::battle_context_unit_stats(unit
const&, map_location const&, int, bool, unit const&, map_location const&,
attack_type const*, unit_map const&) ()
#5 0x0019917c in battle_context::choose_attacker_weapon(unit const&, unit
const&, unit_map const&, map_location const&, map_location const&, double,
int*, combatant const*) ()
#6 0x0019934e in battle_context::battle_context(unit_map const&, map_location
const&, map_location const&, int, int, double, combatant const*, unit const*)
()
#7 0x0033620c in ai::attack_analysis::analyze(gamemap const&, unit_map&,
ai::readonly_context const&, std::multimap<map_location, map_location,
std::less<map_location>, std::allocator<std::pair<map_location const,
map_location> > > const&, std::multimap<map_location, map_location,
std::less<map_location>, std::allocator<std::pair<map_location const,
map_location> > > const&, std::multimap<map_location, map_location,
std::less<map_location>, std::allocator<std::pair<map_location const,
map_location> > > const&, double) ()
#8 0x001f45bc in
ai::testing_ai_default::aspect_attacks::do_attack_analysis(map_location
const&, std::multimap<map_location, map_location, std::less<map_location>,
std::allocator<std::pair<map_location const, map_location> > > const&,
std::multimap<map_location, map_location, std::less<map_location>,
std::allocator<std::pair<map_location const, map_location> > > const&,
std::multimap<map_location, map_location, std::less<map_location>,
std::allocator<std::pair<map_location const, map_location> > > const&,
std::multimap<map_location, map_location, std::less<map_location>,
std::allocator<std::pair<map_location const, map_location> > > const&,
std::multimap<map_location, map_location, std::less<map_location>,
std::allocator<std::pair<map_location const, map_location> > > const&,
std::multimap<map_location, map_location, std::less<map_location>,
std::allocator<std::pair<map_location const, map_location> > > const&,
map_location const*, bool*, std::vector<map_location,
std::allocator<map_location> >&, std::vector<ai::attack_analysis,
std::allocator<ai::attack_analysis> >&, ai::attack_analysis&, team const&)
const ()
#9 0x001f54f8 in ai::testing_ai_default::aspect_attacks::analyze_targets()
const ()
#10 0x001f5672 in ai::testing_ai_default::aspect_attacks::recalculate() const
()
#11 0x001ea7ea in ai::typesafe_aspect<std::vector<ai::attack_analysis,
std::allocator<ai::attack_analysis> > >::get_ptr() const ()
#12 0x001ea8ae in ai::composite_aspect<std::vector<ai::attack_analysis,
std::allocator<ai::attack_analysis> > >::recalculate() const ()
#13 0x001ea7ea in ai::typesafe_aspect<std::vector<ai::attack_analysis,
std::allocator<ai::attack_analysis> > >::get_ptr() const ()
#14 0x001cf624 in ai::typesafe_aspect<std::vector<ai::attack_analysis,
std::allocator<ai::attack_analysis> > >::get() const ()
#15 0x003266cc in ai::readonly_context_impl::get_attacks() const ()
#16 0x001ad362 in ai::readonly_context_proxy::get_attacks() const ()
#17 0x001fa398 in ai::testing_ai_default::combat_phase::evaluate() ()
#18 0x0020deda in
ai::testing_ai_default::candidate_action_evaluation_loop::do_play_stage() ()
#19 0x001bcd4c in ai::stage::play_stage() ()
#20 0x001ab910 in ai::ai_composite::play_turn() ()
#21 0x001c8d3c in ai::manager::play_turn(int) ()
#22 0x00100e02 in playsingle_controller::play_ai_turn() ()
#23 0x00101488 in playsingle_controller::play_side(unsigned int, bool) ()
#24 0x00101110 in playsingle_controller::play_turn(bool) ()
#25 0x00102b9c in
playsingle_controller::play_scenario(std::pair<config::const_child_iterator,
config::const_child_iterator> const&, bool) ()
#26 0x000fba2c in playsingle_scenario(config const&, config const*, display&,
game_state&, std::pair<config::const_child_iterator,
config::const_child_iterator> const&, bool, end_level_data&) ()
#27 0x000fc382 in play_game(game_display&, game_state&, config const&,
io_type_t, bool, bool) ()
#28 0x0006044c in
game_controller::launch_game(game_controller::RELOAD_GAME_DATA) ()
#29 0x0003c1d4 in do_gameloop(int, char**) ()
#30 0x0002c56e in main ()
(gdb)
_______________________________________________________
File Attachments:
-------------------------------------------------------
Date: Mon 30 Dec 2013 09:13:15 PM GMT Name: TSG-Into_the_Depths_Turn_3.gz
Size: 87kB By: fluffbeast
<http://gna.org/bugs/download.php?file_id=19573>
_______________________________________________________
Reply to this item at:
<http://gna.org/bugs/?21402>
_______________________________________________
Message sent via/by Gna!
http://gna.org/
_______________________________________________
Wesnoth-bugs mailing list
[email protected]
https://mail.gna.org/listinfo/wesnoth-bugs