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

Reply via email to