URL:
<http://gna.org/bugs/?11171>
Summary: Segfault while restoring game
Project: Battle for Wesnoth
Submitted by: dfranke
Submitted on: Wednesday 02/27/2008 at 16:26
Category: Bug
Severity: 3 - Normal
Priority: 5 - Normal
Item Group: None
Status: None
Privacy: Public
Assigned to: None
Originator Email:
Open/Closed: Open
Discussion Lock: Any
Release: 1.3.19
Operating System: Linux
_______________________________________________________
Details:
Steps to reproduce:
1. Delete all cache and savegame files.
2. Start wesnoth, join the multiplayer lobby.
3. Click on several games but do not join any (this seems to actually be
important!).
4. Leave the lobby.
5. Start a local game. I tested this with team survival with one player.
6. Play to the beginning of turn 3.
7. Select "back to turn 2".
I assume this is the result of a double free() or similar; I doubt the place
it crashed is the location of the bug, but here's the backtrace:
Backtrace:
#0 0x00002b4e07780879 in malloc_usable_size () from /lib/libc.so.6
No symbol table info available.
#1 0x00002b4e07782789 in free () from /lib/libc.so.6
No symbol table info available.
#2 0x00002b4e0778416d in malloc () from /lib/libc.so.6
No symbol table info available.
#3 0x00002b4e077a3d13 in opendir () from /lib/libc.so.6
No symbol table info available.
#4 0x0000000000759fa3 in get_user_data_dir () at filesystem.cpp:653
home_str = 0x7fffa4786f4e "/home/dfranke"
home = {static npos = 18446744073709551615, _M_dataplus =
{<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data
fields>}, <No data fields>}, _M_p = 0x70bde18 "/home/dfranke"}}
dir_path = {static npos = 18446744073709551615, _M_dataplus =
{<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data
fields>}, <No data fields>},
_M_p = 0x7b08478 "/home/dfranke/.wesnoth"}}
dir = (DIR *) 0x7fffa4784388
#5 0x000000000075b2f0 in get_saves_dir () at filesystem.cpp:469
dir_path = {static npos = 18446744073709551615, _M_dataplus =
{<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data
fields>}, <No data fields>}, _M_p = 0x7fffa47843c0 "�Dx��\177"}}
#6 0x0000000000574bfd in read_save_file ([EMAIL PROTECTED],
[EMAIL PROTECTED], error_log=0x7fffa4784810) at gamestatus.cpp:765
modified_name = {static npos = 18446744073709551615, _M_dataplus =
{<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data
fields>}, <No data fields>},
_M_p = 0x6ca5758 "6p_-_Team_Survival-Auto-Save2"}}
file_stream = {stream = 0x7fffa4784497}
#7 0x000000000041d99b in (anonymous namespace)::game_controller::load_game
(this=0x7fffa4785980) at game.cpp:733
error_log = {static npos = 18446744073709551615, _M_dataplus =
{<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data
fields>}, <No data fields>}, _M_p = 0x2b4e07475df8 ""}}
campaign_xtra_defines = {<std::_Vector_base<std::basic_string<char,
std::char_traits<char>, std::allocator<char>
>,std::allocator<std::basic_string<char, std::char_traits<char>,
std::allocator<char> > > >> = {
_M_impl = {<std::allocator<std::basic_string<char,
std::char_traits<char>, std::allocator<char> > >> =
{<__gnu_cxx::new_allocator<std::basic_string<char, std::char_traits<char>,
std::allocator<char> > >>
= {<No data fields>}, <No data fields>}, _M_start = 0x10000000001, _M_finish
= 0x7fffa4785994, _M_end_of_storage = 0x2aaaaad00e20}}, <No data fields>}
calls = 32767
cfg = {values = {_M_t = {
_M_impl = {<std::allocator<std::_Rb_tree_node<std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
t_string> > >> = {<__gnu_cxx::new_allocator<std::_Rb_tree_node<std::
pair<const std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, t_string> > >> = {<No data fields>}, <No data
fields>}, _M_key_compare = {<> = {<No data fields>}, <No data fields>},
_M_header = {_M_color = std::_S_red, _M_parent = 0x0, _M_left =
0x7fffa4784758, _M_right = 0x7fffa4784758}, _M_node_count = 0}}}, children =
{_M_t = {
_M_impl = {<std::allocator<std::_Rb_tree_node<std::pair<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::vector<config*, std::allocator<config*> > > > >> = {<__gnu_cxx:
:new_allocator<std::_Rb_tree_node<std::pair<const std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, std::vector<config*,
std::allocator<config*> > > > >> = {<No data fields>}, <No data fields>},
_M_key_compare = {<> = {<No data fields>}, <No data fields>}, _M_header =
{_M_color = std::_S_red, _M_parent = 0x0, _M_left = 0x7fffa4784788, _M_right
= 0x7fffa4784788}, _M_node_count = 0}}}, ordered_children =
{<std::_Vector_base<config::child_pos,std::allocator<config::child_pos> >> =
{
_M_impl = {<std::allocator<config::child_pos>> =
{<__gnu_cxx::new_allocator<config::child_pos>> = {<No data fields>}, <No data
fields>}, _M_start = 0x0, _M_finish = 0x0,
_M_end_of_storage = 0x0}}, <No data fields>}}
campaign_define = (const string &) @0x0: Cannot access memory at
address 0x0
_______________________________________________________
Reply to this item at:
<http://gna.org/bugs/?11171>
_______________________________________________
Message sent via/by Gna!
http://gna.org/
_______________________________________________
Wesnoth-bugs mailing list
[email protected]
https://mail.gna.org/listinfo/wesnoth-bugs