Follow-up Comment #3, bug #24022 (project wesnoth):
Only that there's an access violation reading a memory location. The crash
happens while destroying the fake_unit_ptr, but the access violation happens
inside the std libraries, which I find hard to read.
Hopefull I got the mark-up correct, here's the call stack from MSVC:
wesnoth.exe!std::_Iterator_base12::_Adopt(const std::_Container_base12 *
_Parent) Line 165 C++
wesnoth.exe!std::_Deque_const_iterator<std::_Deque_val<std::_Deque_simple_types<unit
const *> > >::_Setcont(const std::_Deque_val<std::_Deque_simple_types<unit
const *> > * _Pdeque) Line 513 C++
wesnoth.exe!std::_Deque_const_iterator<std::_Deque_val<std::_Deque_simple_types<unit
const *> >
>::_Deque_const_iterator<std::_Deque_val<std::_Deque_simple_types<unit const
*> > >(unsigned int _Off, const std::_Container_base12 * _Pdeque) Line
305 C++
wesnoth.exe!std::_Deque_iterator<std::_Deque_val<std::_Deque_simple_types<unit
const *> > >::_Deque_iterator<std::_Deque_val<std::_Deque_simple_types<unit
const *> > >(unsigned int _Off, const std::_Container_base12 * _Pdeque) Line
590 C++
wesnoth.exe!std::deque<unit const *,std::allocator<unit const *> >::end() Line
1311 C++
wesnoth.exe!fake_unit_manager::remove_temporary_unit(const unit * u) Line
46 C++
wesnoth.exe!fake_unit_ptr::remove_from_fake_unit_manager() Line 130 C++
wesnoth.exe!fake_unit_ptr::~fake_unit_ptr() Line 106 C++
wesnoth.exe!wb::recruit::~recruit() Line 99 C++
[External Code]
wesnoth.exe!boost::detail::sp_ms_deleter<wb::recruit>::destroy() Line 61
C++
wesnoth.exe!boost::detail::sp_ms_deleter<wb::recruit>::operator()(wb::recruit
* __formal) Line 92 C++
wesnoth.exe!boost::detail::sp_counted_impl_pd<wb::recruit
*,boost::detail::sp_ms_deleter<wb::recruit> >::dispose() Line 154 C++
wesnoth.exe!boost::detail::sp_counted_base::release() Line 103 C++
wesnoth.exe!boost::detail::shared_count::~shared_count() Line 471 C++
[External Code]
wesnoth.exe!boost::detail::allocator::destroy<boost::shared_ptr<wb::action>
>(const boost::shared_ptr<wb::action> * p) Line 175 C++
wesnoth.exe!boost::multi_index::detail::index_base<boost::shared_ptr<wb::action>,boost::multi_index::indexed_by<boost::multi_index::random_access<boost::multi_index::tag<wb::side_actions_container::chronological,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>
>,boost::multi_index::hashed_non_unique<boost::multi_index::tag<wb::side_actions_container::by_unit,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>,boost::multi_index::const_mem_fun<wb::action,unsigned
int,{wb::action::get_unit_id,0}>,boost::mpl::na,boost::mpl::na>,boost::multi_index::hashed_non_unique<boost::multi_index::tag<wb::side_actions_container::by_hex,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>,boost::multi_index::const_mem_fun<wb::action,map_location,{wb::action::`vcall'{32}',0}>,boost::mpl::na,boost::mpl::na>,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>,std::allocator<boost::shared_ptr<wb::action>
>
>::delete_node_(boost::multi_index::detail::index_node_base<boost::shared_ptr<wb::action>,std::allocator<boost::shared_ptr<wb::action>
> > * x) Line 166 C++
wesnoth.exe!boost::multi_index::multi_index_container<boost::shared_ptr<wb::action>,boost::multi_index::indexed_by<boost::multi_index::random_access<boost::multi_index::tag<wb::side_actions_container::chronological,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>
>,boost::multi_index::hashed_non_unique<boost::multi_index::tag<wb::side_actions_container::by_unit,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>,boost::multi_index::const_mem_fun<wb::action,unsigned
int,{wb::action::get_unit_id,0}>,boost::mpl::na,boost::mpl::na>,boost::multi_index::hashed_non_unique<boost::multi_index::tag<wb::side_actions_container::by_hex,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>,boost::multi_index::const_mem_fun<wb::action,map_location,{wb::action::`vcall'{32}',0}>,boost::mpl::na,boost::mpl::na>,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>,std::allocator<boost::shared_ptr<wb::action>
>
>::delete_node_(boost::multi_index::detail::random_access_index_node<boost::multi_index::detail::hashed_index_node<boost::multi_index::detail::hashed_index_node<boost::multi_index::detail::index_node_base<boost::shared_ptr<wb::action>,std::allocator<boost::shared_ptr<wb::action>
>
>,boost::multi_index::detail::hashed_non_unique_tag>,boost::multi_index::detail::hashed_non_unique_tag>
> * x) Line 767 C++
wesnoth.exe!boost::multi_index::detail::index_base<boost::shared_ptr<wb::action>,boost::multi_index::indexed_by<boost::multi_index::random_access<boost::multi_index::tag<wb::side_actions_container::chronological,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>
>,boost::multi_index::hashed_non_unique<boost::multi_index::tag<wb::side_actions_container::by_unit,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>,boost::multi_index::const_mem_fun<wb::action,unsigned
int,{wb::action::get_unit_id,0}>,boost::mpl::na,boost::mpl::na>,boost::multi_index::hashed_non_unique<boost::multi_index::tag<wb::side_actions_container::by_hex,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>,boost::multi_index::const_mem_fun<wb::action,map_location,{wb::action::`vcall'{32}',0}>,boost::mpl::na,boost::mpl::na>,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>,std::allocator<boost::shared_ptr<wb::action>
>
>::final_delete_node_(boost::multi_index::detail::random_access_index_node<boost::multi_index::detail::hashed_index_node<boost::multi_index::detail::hashed_index_node<boost::multi_index::detail::index_node_base<boost::shared_ptr<wb::action>,std::allocator<boost::shared_ptr<wb::action>
>
>,boost::multi_index::detail::hashed_non_unique_tag>,boost::multi_index::detail::hashed_non_unique_tag>
> * x) Line 261 C++
wesnoth.exe!boost::multi_index::detail::random_access_index<boost::multi_index::detail::nth_layer<1,boost::shared_ptr<wb::action>,boost::multi_index::indexed_by<boost::multi_index::random_access<boost::multi_index::tag<wb::side_actions_container::chronological,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>
>,boost::multi_index::hashed_non_unique<boost::multi_index::tag<wb::side_actions_container::by_unit,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>,boost::multi_index::const_mem_fun<wb::action,unsigned
int,{wb::action::get_unit_id,0}>,boost::mpl::na,boost::mpl::na>,boost::multi_index::hashed_non_unique<boost::multi_index::tag<wb::side_actions_container::by_hex,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>,boost::multi_index::const_mem_fun<wb::action,map_location,{wb::action::`vcall'{32}',0}>,boost::mpl::na,boost::mpl::na>,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>,std::allocator<boost::shared_ptr<wb::action>
> >,boost::mpl::vector1<wb::side_actions_container::chronological>
>::delete_all_nodes_() Line 808 C++
wesnoth.exe!boost::multi_index::multi_index_container<boost::shared_ptr<wb::action>,boost::multi_index::indexed_by<boost::multi_index::random_access<boost::multi_index::tag<wb::side_actions_container::chronological,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>
>,boost::multi_index::hashed_non_unique<boost::multi_index::tag<wb::side_actions_container::by_unit,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>,boost::multi_index::const_mem_fun<wb::action,unsigned
int,{wb::action::get_unit_id,0}>,boost::mpl::na,boost::mpl::na>,boost::multi_index::hashed_non_unique<boost::multi_index::tag<wb::side_actions_container::by_hex,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>,boost::multi_index::const_mem_fun<wb::action,map_location,{wb::action::`vcall'{32}',0}>,boost::mpl::na,boost::mpl::na>,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>,std::allocator<boost::shared_ptr<wb::action>
> >::delete_all_nodes_() Line 773 C++
wesnoth.exe!boost::multi_index::multi_index_container<boost::shared_ptr<wb::action>,boost::multi_index::indexed_by<boost::multi_index::random_access<boost::multi_index::tag<wb::side_actions_container::chronological,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>
>,boost::multi_index::hashed_non_unique<boost::multi_index::tag<wb::side_actions_container::by_unit,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>,boost::multi_index::const_mem_fun<wb::action,unsigned
int,{wb::action::get_unit_id,0}>,boost::mpl::na,boost::mpl::na>,boost::multi_index::hashed_non_unique<boost::multi_index::tag<wb::side_actions_container::by_hex,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>,boost::multi_index::const_mem_fun<wb::action,map_location,{wb::action::`vcall'{32}',0}>,boost::mpl::na,boost::mpl::na>,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>,std::allocator<boost::shared_ptr<wb::action>
>
>::~multi_index_container<boost::shared_ptr<wb::action>,boost::multi_index::indexed_by<boost::multi_index::random_access<boost::multi_index::tag<wb::side_actions_container::chronological,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>
>,boost::multi_index::hashed_non_unique<boost::multi_index::tag<wb::side_actions_container::by_unit,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>,boost::multi_index::const_mem_fun<wb::action,unsigned
int,{wb::action::get_unit_id,0}>,boost::mpl::na,boost::mpl::na>,boost::multi_index::hashed_non_unique<boost::multi_index::tag<wb::side_actions_container::by_hex,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>,boost::multi_index::const_mem_fun<wb::action,map_location,{wb::action::`vcall'{32}',0}>,boost::mpl::na,boost::mpl::na>,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>,std::allocator<boost::shared_ptr<wb::action>
> >() Line 297 C++
[External Code]
wesnoth.exe!boost::checked_delete<wb::side_actions>(wb::side_actions * x) Line
34 C++
wesnoth.exe!boost::detail::sp_counted_impl_p<wb::side_actions>::dispose() Line
78 C++
wesnoth.exe!boost::detail::sp_counted_base::release() Line 103 C++
wesnoth.exe!boost::detail::shared_count::~shared_count() Line 471 C++
[External Code]
wesnoth.exe!team::~team() Line 303 C++
[External Code]
wesnoth.exe!game_board::~game_board() Line 53 C++
wesnoth.exe!game_state::~game_state() Line 96 C++
[External Code]
wesnoth.exe!boost::checked_delete<game_state>(game_state * x) Line 34 C++
wesnoth.exe!boost::scoped_ptr<game_state>::~scoped_ptr<game_state>() Line
82 C++
wesnoth.exe!play_controller::~play_controller() Line 215 C++
wesnoth.exe!playsingle_controller::~playsingle_controller() Line 118 C++
[External Code]
[Frames below may be incorrect and/or missing, no symbols loaded for
vcruntime140d.dll]
wesnoth.exe!throw_quit_game_exception() Line 119 C++
wesnoth.exe!hotkey::execute_command(display & disp, const
hotkey::hotkey_command & command, hotkey::command_executor * executor, int
index) Line 708 C++
wesnoth.exe!hotkey::key_event_execute(display & disp, const SDL_KeyboardEvent
& event, hotkey::command_executor * executor) Line 594 C++
wesnoth.exe!hotkey::key_event(display & disp, const SDL_KeyboardEvent & event,
hotkey::command_executor * executor) Line 538 C++
wesnoth.exe!controller_base::handle_event(const SDL_Event & event) Line
59 C++
wesnoth.exe!events::pump() Line 431 C++
wesnoth.exe!controller_base::play_slice(bool is_delay_enabled) Line 217 C++
wesnoth.exe!play_controller::play_slice_catch() Line 1073 C++
wesnoth.exe!playsingle_controller::play_human_turn() Line 443 C++
wesnoth.exe!playsingle_controller::play_side_impl() Line 360 C++
wesnoth.exe!play_controller::play_side() Line 1163 C++
wesnoth.exe!play_controller::play_turn() Line 1202 C++
wesnoth.exe!playsingle_controller::play_scenario_main_loop() Line 169 C++
wesnoth.exe!playsingle_controller::play_scenario(const config & level) Line
228 C++
wesnoth.exe!campaign_controller::playsingle_scenario(end_level_data &
end_level) Line 200 C++
wesnoth.exe!campaign_controller::play_game() Line 288 C++
wesnoth.exe!game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA reload)
Line 1099 C++
wesnoth.exe!do_gameloop(const
std::vector<std::basic_string<char,std::char_traits<char>,std::allocator<char>
>,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char>
> > > & args) Line 820 C++
wesnoth.exe!SDL_main(int argc, char * * argv) Line 970 C++
[External Code]
_______________________________________________________
Reply to this item at:
<http://gna.org/bugs/?24022>
_______________________________________________
Message sent via/by Gna!
http://gna.org/
_______________________________________________
Wesnoth-bugs mailing list
[email protected]
https://mail.gna.org/listinfo/wesnoth-bugs