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

                 Summary: Exiting quickly the network connection menu then
the game crashes it
                 Project: Wormux
            Submitted by: kurosu
            Submitted on: Wednesday 08/25/2010 at 08:37
                Category: Network
                Severity: 4 - Important
                Priority: 5 - Normal
                  Status: Confirmed
             Assigned to: None
        Originator Email: 
             Open/Closed: Open
                 Release: 
         Discussion Lock: Any

    _______________________________________________________

Details:

It's basically the IndexServer object being freed while some of its code is
being run in another thread.

Here's the valgrind trace:
Thread 3:
Invalid read of size 4
   at 0x4467937: std::_Rb_tree_increment(std::_Rb_tree_node_base*) (in
/usr/lib/libstdc++.so.6.0.10)
   by 0x81D2162: std::_Rb_tree_iterator<std::pair<std::string const, int>
>::operator++() (stl_tree.h:182)
   by 0x81D0DD0: IndexServer::GetServerAddress(std::string&, int&, unsigned&)
(index_server.cpp:219)
   by 0x81D1BA1: IndexServer::Connect(std::string const&)
(index_server.cpp:114)
   by 0x812E40C: RefreshNetInfo(void*) (network_connection_menu.cpp:108)
   by 0x40E1F7A: (within /usr/lib/libSDL-1.2.so.0.11.1)
   by 0x412FC9C: (within /usr/lib/libSDL-1.2.so.0.11.1)
   by 0x47C64BF: start_thread (in /lib/i686/cmov/libpthread-2.7.so)
   by 0x460A84D: clone (in /lib/i686/cmov/libc-2.7.so)
 Address 0x4f10d7c is 12 bytes inside a block of size 24 free'd
   at 0x402272A: operator delete(void*) (vg_replace_malloc.c:342)
   [...]
   by 0x817641E: std::map<std::string, int, std::less<std::string>,
std::allocator<std::pair<std::string const, int> > >::clear()
(stl_map.h:582)
   by 0x81D1BF0: IndexServer::~IndexServer() (index_server.cpp:43)
   by 0x81CDC31: BaseSingleton::ReleaseSingletons() (singleton.cpp:56)
   by 0x810026E: AppWormux::~AppWormux() (main.cpp:91)
   by 0x81003F5: main (main.cpp:433)

Invalid read of size 4
   at 0x446794E: std::_Rb_tree_increment(std::_Rb_tree_node_base*) (in
/usr/lib/libstdc++.so.6.0.10)
   by 0x81D2162: std::_Rb_tree_iterator<std::pair<std::string const, int>
>::operator++() (stl_tree.h:182)
   by 0x81D0DD0: IndexServer::GetServerAddress(std::string&, int&, unsigned&)
(index_server.cpp:219)
   by 0x81D1BA1: IndexServer::Connect(std::string const&)
(index_server.cpp:114)
   by 0x812E40C: RefreshNetInfo(void*) (network_connection_menu.cpp:108)
   by 0x40E1F7A: (within /usr/lib/libSDL-1.2.so.0.11.1)
   by 0x412FC9C: (within /usr/lib/libSDL-1.2.so.0.11.1)
   by 0x47C64BF: start_thread (in /lib/i686/cmov/libpthread-2.7.so)
   by 0x460A84D: clone (in /lib/i686/cmov/libc-2.7.so)
 Address 0x4f10d74 is 4 bytes inside a block of size 24 free'd
   at 0x402272A: operator delete(void*) (vg_replace_malloc.c:342)
   [...]
   by 0x817641E: std::map<std::string, int, std::less<std::string>,
std::allocator<std::pair<std::string const, int> > >::clear()
(stl_map.h:582)
   by 0x81D1BF0: IndexServer::~IndexServer() (index_server.cpp:43)
   by 0x81CDC31: BaseSingleton::ReleaseSingletons() (singleton.cpp:56)
   by 0x810026E: AppWormux::~AppWormux() (main.cpp:91)
   by 0x81003F5: main (main.cpp:433)

Invalid read of size 4
   at 0x4467970: std::_Rb_tree_increment(std::_Rb_tree_node_base*) (in
/usr/lib/libstdc++.so.6.0.10)
   by 0x81D2162: std::_Rb_tree_iterator<std::pair<std::string const, int>
>::operator++() (stl_tree.h:182)
   by 0x81D0DD0: IndexServer::GetServerAddress(std::string&, int&, unsigned&)
(index_server.cpp:219)
   by 0x81D1BA1: IndexServer::Connect(std::string const&)
(index_server.cpp:114)
   by 0x812E40C: RefreshNetInfo(void*) (network_connection_menu.cpp:108)
   by 0x40E1F7A: (within /usr/lib/libSDL-1.2.so.0.11.1)
   by 0x412FC9C: (within /usr/lib/libSDL-1.2.so.0.11.1)
   by 0x47C64BF: start_thread (in /lib/i686/cmov/libpthread-2.7.so)
   by 0x460A84D: clone (in /lib/i686/cmov/libc-2.7.so)
 Address 0x4f10d7c is 12 bytes inside a block of size 24 free'd
   at 0x402272A: operator delete(void*) (vg_replace_malloc.c:342)
   [...]
   by 0x817641E: std::map<std::string, int, std::less<std::string>,
std::allocator<std::pair<std::string const, int> > >::clear()
(stl_map.h:582)
   by 0x81D1BF0: IndexServer::~IndexServer() (index_server.cpp:43)
   by 0x81CDC31: BaseSingleton::ReleaseSingletons() (singleton.cpp:56)
   by 0x810026E: AppWormux::~AppWormux() (main.cpp:91)
   by 0x81003F5: main (main.cpp:433)

Invalid read of size 4
   at 0x449FEAE: std::string::assign(std::string const&) (in
/usr/lib/libstdc++.so.6.0.10)
   by 0x449FF93: std::string::operator=(std::string const&) (in
/usr/lib/libstdc++.so.6.0.10)
   by 0x81D0E4C: IndexServer::GetServerAddress(std::string&, int&, unsigned&)
(index_server.cpp:223)
   by 0x81D1BA1: IndexServer::Connect(std::string const&)
(index_server.cpp:114)
   by 0x812E40C: RefreshNetInfo(void*) (network_connection_menu.cpp:108)
   by 0x40E1F7A: (within /usr/lib/libSDL-1.2.so.0.11.1)
   by 0x412FC9C: (within /usr/lib/libSDL-1.2.so.0.11.1)
   by 0x47C64BF: start_thread (in /lib/i686/cmov/libpthread-2.7.so)
   by 0x460A84D: clone (in /lib/i686/cmov/libc-2.7.so)
 Address 0xfffffffc is not stack'd, malloc'd or (recently) free'd

Process terminating with default action of signal 11 (SIGSEGV)
 Access not within mapped region at address 0xFFFFFFFC
   at 0x449FEAE: std::string::assign(std::string const&) (in
/usr/lib/libstdc++.so.6.0.10)
   by 0x449FF93: std::string::operator=(std::string const&) (in
/usr/lib/libstdc++.so.6.0.10)
   by 0x81D0E4C: IndexServer::GetServerAddress(std::string&, int&, unsigned&)
(index_server.cpp:223)
   by 0x81D1BA1: IndexServer::Connect(std::string const&)
(index_server.cpp:114)
   by 0x812E40C: RefreshNetInfo(void*) (network_connection_menu.cpp:108)
   by 0x40E1F7A: (within /usr/lib/libSDL-1.2.so.0.11.1)
   by 0x412FC9C: (within /usr/lib/libSDL-1.2.so.0.11.1)
   by 0x47C64BF: start_thread (in /lib/i686/cmov/libpthread-2.7.so)
   by 0x460A84D: clone (in /lib/i686/cmov/libc-2.7.so)




    _______________________________________________________

Reply to this item at:

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

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


_______________________________________________
Wormux-gna mailing list
[email protected]
https://mail.gna.org/listinfo/wormux-gna

Reply via email to