Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Segfault in ConnectionReceiveThread::getFromBuffers -> Connection::getPeerIDs -> std::list<u16> ctor #2982

Closed
kwolekr opened this issue Aug 1, 2015 · 2 comments
Labels
Bug Issues that were confirmed to be a bug

Comments

@kwolekr
Copy link
Contributor

kwolekr commented Aug 1, 2015

VanessaE has reported this crash:

"default:fence_wood"
2015-07-14 19:58:11: ACTION[ServerThread]: nico2xd digs default:cobble at (-1982,7,278)
2015-07-14 19:58:12: ACTION[ServerThread]: wendy digs default:stone_with_coal at (-1899,-839,195)
2015-07-14 19:58:12: ACTION[ServerThread]: UjE digs default:stone_with_diamond at (-1852,-9350,331)
2015-07-14 19:58:12: ACTION[ServerThread]: wendy digs default:stone_with_coal at (-1899,-839,196)
2015-07-14 19:58:12: ACTION[ServerThread]: UjE digs default:stone at (-1852,-9349,331)
2015-07-14 19:58:13: ACTION[ServerThread]: UjE digs default:stone at (-1851,-9351,332)
2015-07-14 19:58:13: ACTION[ServerThread]: CHAT: <KaylonYT> i wanna see it
2015-07-14 19:58:13: ACTION[ServerThread]: kristin damaged by 1 hp at (-1987.39,-0.5,270.641)
2015-07-14 19:58:13: ACTION[ServerThread]: UjE digs default:stone at (-1852,-9351,332)
2015-07-14 19:58:14: ACTION[ServerThread]: UjE digs default:stone_with_diamond at (-1851,-9351,331)
2015-07-14 19:58:14: ACTION[ServerThread]: UjE digs default:stone at (-1851,-9351,330)
2015-07-14 19:58:14: ACTION[ServerThread]: wendy digs default:stone_with_coal at (-1899,-839,197)
2015-07-14 19:58:15: ACTION[ServerThread]: wendy digs default:stone_with_coal at (-1899,-840,196)
2015-07-14 19:58:15: ACTION[ServerThread]: UjE digs default:stone at (-1850,-9351,332)
2015-07-14 19:58:15: ACTION[ServerThread]: UjE digs default:stone at (-1850,-9351,331)
2015-07-14 19:58:15: ACTION[ServerThread]: CHAT: <pinkie> I'll be right back melody15
2015-07-14 19:58:15: ACTION[ServerThread]: Nase damaged by 6 hp at (-1897.56,20.948,348.41)
2015-07-14 19:58:15: ACTION[ServerThread]: nico2xd digs default:cobble at (-1982,7,277)
2015-07-14 19:58:16: ACTION[ServerThread]: Server: Player with the name "Admin" tried to connect from 82.169.67.199 but it was disallowed for the following reason: That is a clearly false, misleading, or otherwise disallowed username. Please choose a unique username and try again.
[New Thread 0x7ffff0920700 (LWP 27980)]
[New Thread 0x7fffe9b7c700 (LWP 28054)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff2945700 (LWP 27943)]
0x000000000061164a in __gnu_cxx::new_allocator<unsigned short>::construct (this=0x7ffff2944777, __p=0x7fffe4498aa0, __val=@0x3634303703d11110: <error reading variable>) at /usr/include/c++/4.7/ext/new_allocator.h:120
120       { ::new((void *)__p) _Tp(__val); }

Thread 7 (Thread 0x7fffe9b7c700 (LWP 28054)):
#0  0x00007ffff7294344 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
No symbol table info available.
#1  0x00007ffff6e72163 in ?? () from /usr/lib/x86_64-linux-gnu/libleveldb.so.1
No symbol table info available.
#2  0x00007ffff728fb50 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
No symbol table info available.
#3  0x00007ffff5eb795d in clone () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#4  0x0000000000000000 in ?? ()
No symbol table info available.

Thread 6 (Thread 0x7ffff0920700 (LWP 27980)):
#0  0x00007ffff7296490 in sem_wait () from /lib/x86_64-linux-gnu/libpthread.so.0
No symbol table info available.
#1  0x00000000005eff66 in Event::wait (this=0xc355d0) at /home/minetest/minetest_core/src/jthread/pthread/jevent.cpp:58
        sem_wait_retval = 0
        __PRETTY_FUNCTION__ = "void Event::wait()"
#2  0x000000000073eb16 in EmergeThread::Thread (this=0xc35530) at /home/minetest/minetest_core/src/emerge.cpp:442
        allow_generate = true
        data = {vmanip = 0x0, seed = 0, blockpos_min = {X = 0, Y = 0, Z = 0}, blockpos_max = {X = 0, Y = 0, Z = 0}, blockpos_requested = {X = 0, Y = 0, Z = 0}, transforming_liquid = {m_set = {_M_t = {_M_impl = {<std::allocator<std::_Rb_tree_node<irr::core::vector3d<short> > >> = {<__gnu_cxx::new_allocator<std::_Rb_tree_node<irr::core::vector3d<short> > >> = {<No data fields>}, <No data fields>}, _M_key_compare = {<std::binary_function<irr::core::vector3d<short>, irr::core::vector3d<short>, bool>> = {<No data fields>}, <No data fields>}, _M_header = {_M_color = std::_S_red, _M_parent = 0x0, _M_left = 0x7ffff091fb10, _M_right = 0x7ffff091fb10}, _M_node_count = 0}}}, m_queue = {c = {<std::_Deque_base<irr::core::vector3d<short>, std::allocator<irr::core::vector3d<short> > >> = {_M_impl = {<std::allocator<irr::core::vector3d<short> >> = {<__gnu_cxx::new_allocator<irr::core::vector3d<short> >> = {<No data fields>}, <No data fields>}, _M_map = 0x7fffcc387120, _M_map_size = 8, _M_start = {_M_cur = 0x7fffcdc8a750, _M_first = 0x7fffcdc8a750, _M_last = 0x7fffcdc8a94e, _M_node = 0x7fffcc387138}, _M_finish = {_M_cur = 0x7fffcdc8a750, _M_first = 0x7fffcdc8a750, _M_last = 0x7fffcdc8a94e, _M_node = 0x7fffcc387138}}}, <No data fields>}}}, nodedef = 0x0}
        block = 0x7fffcdb49cc0
        modified_blocks = {_M_t = {_M_impl = {<std::allocator<std::_Rb_tree_node<std::pair<irr::core::vector3d<short> const, MapBlock*> > >> = {<__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<irr::core::vector3d<short> const, MapBlock*> > >> = {<No data fields>}, <No data fields>}, _M_key_compare = {<std::binary_function<irr::core::vector3d<short>, irr::core::vector3d<short>, bool>> = {<No data fields>}, <No data fields>}, _M_header = {_M_color = std::_S_red, _M_parent = 0x7fffcdf85c90, _M_left = 0x7fffcdf85c90, _M_right = 0x7fffcdf85c90}, _M_node_count = 1}}}
        __debug_stacker = {m_stack = 0xfbcf70, m_overflowed = false}
        __PRETTY_FUNCTION__ = "virtual void* EmergeThread::Thread()"
        last_tried_pos = {X = -117, Y = -2, Z = 18}
        flags = 1 '\001'
        p = {X = -117, Y = -2, Z = 18}
#3  0x00000000005f0815 in JThread::TheThread (param=0xc35530) at /home/minetest/minetest_core/src/jthread/pthread/jthread.cpp:157
        jthread = 0xc35530
#4  0x00007ffff728fb50 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
No symbol table info available.
#5  0x00007ffff5eb795d in clone () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#6  0x0000000000000000 in ?? ()
No symbol table info available.

Thread 5 (Thread 0x7ffff1533700 (LWP 27964)):
#0  0x00007ffff7296581 in sem_timedwait () from /lib/x86_64-linux-gnu/libpthread.so.0
No symbol table info available.
#1  0x00000000005f032d in JSemaphore::Wait (this=0xc2fb88, time_ms=100000000) at /home/minetest/minetest_core/src/jthread/pthread/jsemaphore.cpp:126
        waittime = {tv_sec = 1436996564, tv_nsec = 147835000}
        now = {tv_sec = 1436896564, tv_usec = 147835}
        __PRETTY_FUNCTION__ = "bool JSemaphore::Wait(unsigned int)"
        sem_wait_retval = 32767
#2  0x0000000000761c1b in MutexedQueue<CurlFetchThread::Request>::pop_front (this=0xc2fb10, wait_time_max_ms=100000000) at /home/minetest/minetest_core/src/util/container.h:231
No locals.
#3  0x00000000007608a2 in CurlFetchThread::waitForRequest (this=0xc2fa90, timeout=100000000) at /home/minetest/minetest_core/src/httpfetch.cpp:548
        req = {type = 3959516944, fetch_request = {url = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0xc2fbb0 "\020o\001\354\377\177"}}, caller = 140737152904984, request_id = 140737242148048, timeout = 140737152904984, connect_timeout = 7740376, multipart = 248, post_fields = {_M_t = {_M_impl = {<std::allocator<std::_Rb_tree_node<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >> = {<__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >> = {<No data fields>}, <No data fields>}, _M_key_compare = {<std::binary_function<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool>> = {<No data fields>}, <No data fields>}, _M_header = {_M_color = 4048760064, _M_parent = 0x7630e8, _M_left = 0x7ffff1532d20, _M_right = 0x7ffff1532d30}, _M_node_count = 140737152904976}}}, post_data = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x7ffff1533700 ""}}, extra_headers = {<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 = 0x7ffff1532d40, _M_finish = 0x761db5, _M_end_of_storage = 0x7fffec016f10}}, <No data fields>}, useragent = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0xc2fbb0 "\020o\001\354\377\177"}}}, event = 0x7fffec016f10}
#4  0x0000000000760e22 in CurlFetchThread::Thread (this=0xc2fa90) at /home/minetest/minetest_core/src/httpfetch.cpp:679
        still_ongoing = 0
        __debug_stacker = {m_stack = 0xfb94c0, m_overflowed = false}
        __PRETTY_FUNCTION__ = "virtual void* CurlFetchThread::Thread()"
        pool = {handles = {<std::_List_base<void*, std::allocator<void*> >> = {_M_impl = {<std::allocator<std::_List_node<void*> >> = {<__gnu_cxx::new_allocator<std::_List_node<void*> >> = {<No data fields>}, <No data fields>}, _M_node = {_M_next = 0x7fffcc65ecb0, _M_prev = 0x7fffcc65ecb0}}}, <No data fields>}}
        mres = CURLM_OK
#5  0x00000000005f0815 in JThread::TheThread (param=0xc2fa90) at /home/minetest/minetest_core/src/jthread/pthread/jthread.cpp:157
        jthread = 0xc2fa90
#6  0x00007ffff728fb50 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
No symbol table info available.
#7  0x00007ffff5eb795d in clone () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#8  0x0000000000000000 in ?? ()
No symbol table info available.

Thread 4 (Thread 0x7ffff1d34700 (LWP 27963)):
#0  0x00007ffff5e56970 in free () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#1  0x00007ffff66beb20 in std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
No symbol table info available.
#2  0x00000000006f125d in RemoteClient::GetNextBlocks (this=0x7fffe4f73860, env=0xec9790, emerge=0xc34f40, dtime=0, dest=...) at /home/minetest/minetest_core/src/clientiface.cpp:85
        player = 0x7fffccaddbb0
        playerspeed = {X = 1.19673941e+34, Y = 4.59163468e-41, Z = -2.09171247e+30}
        center = {X = -5157, Y = 197, Z = 0}
        __debug_stacker = {m_stack = 0xc5e850, m_overflowed = false}
        playerspeeddir = {X = 1.19673941e+34, Y = 4.59163468e-41, Z = 1.19673941e+34}
        d_max_gen = 14600
        __PRETTY_FUNCTION__ = "void RemoteClient::GetNextBlocks(ServerEnvironment*, EmergeManager*, float, std::vector<PrioritySortedBlockTransfer>&)"
        playerpos = {X = -2.09162542e+30, Y = 4.59163468e-41, Z = 1.02457871e-38}
        playerpos_predicted = {X = 0, Y = 0, Z = 1.07349426e+35}
        camera_dir = {X = 1.81757828e-38, Y = 0, Z = 1.07349426e+35}
        new_nearest_unsent_d = 32767
        camera_pos = {X = 1.19673941e+34, Y = 4.59163468e-41, Z = 1.19673941e+34}
        max_simul_sends_usually = 0
        d_max = -3629
        max_d_increment_at_time = 0
        nearest_emerged_d = 32767
        nearest_sent_d = 2724
        d = 0
        center_nodepos = {X = 13056, Y = -3629, Z = 32767}
        d_start = 0
        max_simul_sends_setting = 32767
        num_blocks_selected = 8463720
        full_d_max = -6921
        nearest_emergefull_d = -453560056
#3  0x000000000080b101 in Server::SendBlocks (this=0x7fffffffe050, dtime=0) at /home/minetest/minetest_core/src/server.cpp:2175
        client = 0x7fffe4f73860
        i = {_M_current = 0x7fff79a565f0}
        sp = {m_profiler = 0xbfb380, m_name = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x7fff78056e98 "Server: selecting blocks for sending"}}, m_timer = 0x7fff79637830, m_type = SPT_ADD}
        clients = {<std::_Vector_base<unsigned short, std::allocator<unsigned short> >> = {_M_impl = {<std::allocator<unsigned short>> = {<__gnu_cxx::new_allocator<unsigned short>> = {<No data fields>}, <No data fields>}, _M_start = 0x7fff79a565c0, _M_finish = 0x7fff79a565fe, _M_end_of_storage = 0x7fff79a56600}}, <No data fields>}
        __debug_stacker = {m_stack = 0xc5e850, m_overflowed = false}
        __PRETTY_FUNCTION__ = "void Server::SendBlocks(float)"
        queue = {<std::_Vector_base<PrioritySortedBlockTransfer, std::allocator<PrioritySortedBlockTransfer> >> = {_M_impl = {<std::allocator<PrioritySortedBlockTransfer>> = {<__gnu_cxx::new_allocator<PrioritySortedBlockTransfer>> = {<No data fields>}, <No data fields>}, _M_start = 0x0, _M_finish = 0x0, _M_end_of_storage = 0x0}}, <No data fields>}
        total_sending = 80
        envlock = {mutex = @0x7fffffffe158}
        sp = {m_profiler = 0xbfb380, m_name = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x7fff783d5018 "Server: sel and send blocks to clients"}}, m_timer = 0x7fff783ea490, m_type = SPT_ADD}
#4  0x0000000000801f95 in Server::AsyncRunStep (this=0x7fffffffe050, initial_step=false) at /home/minetest/minetest_core/src/server.cpp:524
        __debug_stacker = {m_stack = 0xc5e850, m_overflowed = false}
        __PRETTY_FUNCTION__ = "void Server::AsyncRunStep(bool)"
        dtime = 0
        map_timer_and_unload_dtime = 2.92000008
#5  0x00000000007febc4 in ServerThread::Thread (this=0xc34eb0) at /home/minetest/minetest_core/src/server.cpp:107
        __debug_stacker = {m_stack = 0xc5e850, m_overflowed = false}
        __PRETTY_FUNCTION__ = "virtual void* ServerThread::Thread()"
#6  0x00000000005f0815 in JThread::TheThread (param=0xc34eb0) at /home/minetest/minetest_core/src/jthread/pthread/jthread.cpp:157
        jthread = 0xc34eb0
#7  0x00007ffff728fb50 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
No symbol table info available.
#8  0x00007ffff5eb795d in clone () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#9  0x0000000000000000 in ?? ()
No symbol table info available.

Thread 3 (Thread 0x7ffff2945700 (LWP 27943)):
#0  0x000000000061164a in __gnu_cxx::new_allocator<unsigned short>::construct (this=0x7ffff2944777, __p=0x7fffe4498aa0, __val=@0x3634303703d11110: <error reading variable>) at /usr/include/c++/4.7/ext/new_allocator.h:120
No locals.
#1  0x000000000060cd22 in std::list<unsigned short, std::allocator<unsigned short> >::_M_create_node (this=0x7ffff29448e0, __x=@0x3634303703d11110: <error reading variable>) at /usr/include/c++/4.7/bits/stl_list.h:485
        __p = 0x7fffe4498a90
#2  0x000000000060892d in std::list<unsigned short, std::allocator<unsigned short> >::_M_insert (this=0x7ffff29448e0, __position=..., __x=@0x3634303703d11110: <error reading variable>) at /usr/include/c++/4.7/bits/stl_list.h:1525
        __tmp = 0x7fffe56e9d60
#3  0x0000000000605a1a in std::list<unsigned short, std::allocator<unsigned short> >::push_back (this=0x7ffff29448e0, __x=@0x3634303703d11110: <error reading variable>) at /usr/include/c++/4.7/bits/stl_list.h:997
No locals.
#4  0x00000000006073be in std::list<unsigned short, std::allocator<unsigned short> >::_M_initialize_dispatch<std::_List_const_iterator<unsigned short> > (this=0x7ffff29448e0, __first=..., __last=...) at /usr/include/c++/4.7/bits/stl_list.h:1466
No locals.
#5  0x000000000060499d in std::list<unsigned short, std::allocator<unsigned short> >::list (this=0x7ffff29448e0, __x=...) at /usr/include/c++/4.7/bits/stl_list.h:582
No locals.
#6  0x00000000006036d0 in con::Connection::getPeerIDs (this=0x7fffffffe180) at /home/minetest/minetest_core/src/network/connection.h:1057
No locals.
#7  0x00000000005fc93a in con::ConnectionReceiveThread::getFromBuffers (this=0x7fffffffe438, peer_id=@0x7ffff2944a8e: 0, dst=...) at /home/minetest/minetest_core/src/network/connection.cpp:2256
        peerids = {<std::_List_base<unsigned short, std::allocator<unsigned short> >> = {_M_impl = {<std::allocator<std::_List_node<unsigned short> >> = {<__gnu_cxx::new_allocator<std::_List_node<unsigned short> >> = {<No data fields>}, <No data fields>}, _M_node = {_M_next = 0x7fffe4b35120, _M_prev = 0x7fffe56e9d60}}}, <No data fields>}
#8  0x00000000005fbafc in con::ConnectionReceiveThread::receive (this=0x7fffffffe438) at /home/minetest/minetest_core/src/network/connection.cpp:2117
        data_left = true
        peer_id = 0
        resultdata = {data = 0x0, m_size = 0, refcount = 0x7fffe5600470}
        received_size = 32767
        peer = {m_peer = 0x0}
        channel = 0x603c37
        sender = {m_addr_family = 2, m_address = {ipv4 = {sin_family = 2, sin_port = 0, sin_addr = {s_addr = 397003532}, sin_zero = "\000\000\000\000\000\000\000"}, ipv6 = {sin6_family = 2, sin6_port = 0, sin6_flowinfo = 397003532, sin6_addr = {__in6_u = {__u6_addr8 = '\000' <repeats 15 times>, __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0}, __u6_addr32 = {0, 0, 0, 0}}}, sin6_scope_id = 0}}, m_port = 55657}
        peer_id = 1
        channelnum = 228 '\344'
        packet_peer_id = 54696
        peer_address = {m_addr_family = 2, m_address = {ipv4 = {sin_family = 2, sin_port = 0, sin_addr = {s_addr = 397003532}, sin_zero = "\000\000\000\000\000\000\000"}, ipv6 = {sin6_family = 2, sin6_port = 0, sin6_flowinfo = 397003532, sin6_addr = {__in6_u = {__u6_addr8 = '\000' <repeats 15 times>, __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0}, __u6_addr32 = {0, 0, 0, 0}}}, sin6_scope_id = 0}}, m_port = 55657}
        strippeddata = {data = 0x7ffff2944ad0 "\340\312>\345\377\177", m_size = 6335824, refcount = 0x7ffff2944c58}
        packet_maxsize = 1500
        packetdata = {data = 0x7fffe511fc60 "", m_size = 1500, refcount = 0x7fffe53ecae0}
        packet_queued = true
        loop_count = 1
#9  0x00000000005fb917 in con::ConnectionReceiveThread::Thread (this=0x7fffffffe438) at /home/minetest/minetest_core/src/network/connection.cpp:2032
        sp = {m_profiler = 0xbfb380, m_name = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x7fffe4d0d5a8 "ConnectionReceive: [con(10/0)]"}}, m_timer = 0x7fffe45844c0, m_type = SPT_AVG}
        __PRETTY_FUNCTION__ = "virtual void* con::ConnectionReceiveThread::Thread()"
        ThreadIdentifier = <incomplete type>
#10 0x00000000005f0815 in JThread::TheThread (param=0x7fffffffe438) at /home/minetest/minetest_core/src/jthread/pthread/jthread.cpp:157
        jthread = 0x7fffffffe438
#11 0x00007ffff728fb50 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
No symbol table info available.
#12 0x00007ffff5eb795d in clone () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#13 0x0000000000000000 in ?? ()
No symbol table info available.

Thread 2 (Thread 0x7ffff3146700 (LWP 27939)):
#0  0x00007ffff66be5a0 in std::string::compare(std::string const&) const () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
No symbol table info available.
#1  0x000000000060a7b7 in std::operator< <char, std::char_traits<char>, std::allocator<char> > (__lhs=..., __rhs=...) at /usr/include/c++/4.7/bits/basic_string.h:2568
No locals.
#2  0x0000000000607707 in std::less<std::string>::operator() (this=0xbfb3d8, __x=..., __y=...) at /usr/include/c++/4.7/bits/stl_function.h:237
No locals.
#3  0x000000000060b3e2 in std::_Rb_tree<std::string, std::pair<std::string const, int>, std::_Select1st<std::pair<std::string const, int> >, std::less<std::string>, std::allocator<std::pair<std::string const, int> > >::equal_range (this=0xbfb3d8, __k=...) at /usr/include/c++/4.7/bits/stl_tree.h:1166
        __x = 0x7fffcc55cbf0
        __y = 0x7fffcc4b94a0
#4  0x0000000000607af3 in std::_Rb_tree<std::string, std::pair<std::string const, int>, std::_Select1st<std::pair<std::string const, int> >, std::less<std::string>, std::allocator<std::pair<std::string const, int> > >::erase (this=0xbfb3d8, __x=...) at /usr/include/c++/4.7/bits/stl_tree.h:1521
        __p = {first = {_M_node = 0x7fffec0fc7d8}, second = {_M_node = 0xbfb380}}
        __old_size = 12415296
#5  0x0000000000604e3d in std::map<std::string, int, std::less<std::string>, std::allocator<std::pair<std::string const, int> > >::erase (this=0xbfb3d8, __x=...) at /usr/include/c++/4.7/bits/stl_map.h:654
No locals.
#6  0x0000000000603b5b in Profiler::remove (this=0xbfb380, name=...) at /home/minetest/minetest_core/src/profiler.h:180
        lock = {mutex = @0xbfb380}
#7  0x00000000005f43a4 in con::Peer::Drop (this=0x7fff79481980) at /home/minetest/minetest_core/src/network/connection.cpp:984
        peerIdentifier1 = <incomplete type>
        peerIdentifier2 = <incomplete type>
        peerprofiler = {m_profiler = 0xaf3145548, m_name = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x7ffff3145500 " U\024\363\377\177"}}, m_timer = 0x30, m_type = 12416112}
#8  0x00000000005ffc5b in con::Connection::deletePeer (this=0x7fffffffe180, peer_id=2769, timeout=false) at /home/minetest/minetest_core/src/network/connection.cpp:2814
        peer = 0x7fff79481980
        peer_address = {m_addr_family = 2, m_address = {ipv4 = {sin_family = 2, sin_port = 0, sin_addr = {s_addr = 3343100242}, sin_zero = "\000\000\000\000\000\000\000"}, ipv6 = {sin6_family = 2, sin6_port = 0, sin6_flowinfo = 3343100242, sin6_addr = {__in6_u = {__u6_addr8 = '\000' <repeats 15 times>, __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0}, __u6_addr32 = {0, 0, 0, 0}}}, sin6_scope_id = 0}}, m_port = 42566}
        e = {type = con::CONNEVENT_PEER_REMOVED, peer_id = 2769, data = {data = 0x0, m_size = 0}, timeout = false, address = {m_addr_family = 2, m_address = {ipv4 = {sin_family = 2, sin_port = 0, sin_addr = {s_addr = 3343100242}, sin_zero = "\000\000\000\000\000\000\000"}, ipv6 = {sin6_family = 2, sin6_port = 0, sin6_flowinfo = 3343100242, sin6_addr = {__in6_u = {__u6_addr8 = '\000' <repeats 15 times>, __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0}, __u6_addr32 = {0, 0, 0, 0}}}, sin6_scope_id = 0}}, m_port = 42566}}
#9  0x00000000005fb355 in con::ConnectionSendThread::sendPackets (this=0x7fffffffe330, dtime=0.00300000003) at /home/minetest/minetest_core/src/network/connection.cpp:1984
        k = {_M_node = 0x7fffec36a4b0}
        peerIds = {<std::_List_base<unsigned short, std::allocator<unsigned short> >> = {_M_impl = {<std::allocator<std::_List_node<unsigned short> >> = {<__gnu_cxx::new_allocator<std::_List_node<unsigned short> >> = {<No data fields>}, <No data fields>}, _M_node = {_M_next = 0x7fffedd6ceb0, _M_prev = 0x7fffed8459e0}}}, <No data fields>}
        pendingDisconnect = {<std::_List_base<unsigned short, std::allocator<unsigned short> >> = {_M_impl = {<std::allocator<std::_List_node<unsigned short> >> = {<__gnu_cxx::new_allocator<std::_List_node<unsigned short> >> = {<No data fields>}, <No data fields>}, _M_node = {_M_next = 0x7fffec36a4b0, _M_prev = 0x7fffec36a4b0}}}, <No data fields>}
        pending_unreliable = {_M_t = {_M_impl = {<std::allocator<std::_Rb_tree_node<std::pair<unsigned short const, bool> > >> = {<__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<unsigned short const, bool> > >> = {<No data fields>}, <No data fields>}, _M_key_compare = {<std::binary_function<unsigned short, unsigned short, bool>> = {<No data fields>}, <No data fields>}, _M_header = {_M_color = std::_S_red, _M_parent = 0x7fffec9f32e0, _M_left = 0x7fffec9f32e0, _M_right = 0x7fffec9f32e0}, _M_node_count = 1}}}
        initial_queuesize = 2
#10 0x00000000005f600b in con::ConnectionSendThread::Thread (this=0x7fffffffe330) at /home/minetest/minetest_core/src/network/connection.cpp:1300
        sp = {m_profiler = 0xbfb380, m_name = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x7fffeded1d48 "ConnectionSend: [con(10/0)]"}}, m_timer = 0x7fffece4a0b0, m_type = SPT_AVG}
        dtime = 0.00300000003
        c = {type = con::CONNCMD_NONE, address = {m_addr_family = 0, m_address = {ipv4 = {sin_family = 0, sin_port = 0, sin_addr = {s_addr = 0}, sin_zero = "\000\000\000\000\000\000\000"}, ipv6 = {sin6_family = 0, sin6_port = 0, sin6_flowinfo = 0, sin6_addr = {__in6_u = {__u6_addr8 = '\000' <repeats 15 times>, __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0}, __u6_addr32 = {0, 0, 0, 0}}}, sin6_scope_id = 0}}, m_port = 0}, peer_id = 0, channelnum = 2 '\002', data = {data = 0x0, m_size = 0}, reliable = false, raw = false}
        __PRETTY_FUNCTION__ = "virtual void* con::ConnectionSendThread::Thread()"
        curtime = 2377619363
        lasttime = 2377619360
        ThreadIdentifier = <incomplete type>
#11 0x00000000005f0815 in JThread::TheThread (param=0x7fffffffe330) at /home/minetest/minetest_core/src/jthread/pthread/jthread.cpp:157
        jthread = 0x7fffffffe330
#12 0x00007ffff728fb50 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
No symbol table info available.
#13 0x00007ffff5eb795d in clone () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#14 0x0000000000000000 in ?? ()
No symbol table info available.

Thread 1 (Thread 0x7ffff7fe0760 (LWP 27936)):
#0  0x00007ffff5e8748d in nanosleep () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#1  0x00007ffff5eb1b74 in usleep () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#2  0x000000000081162a in dedicated_server_loop (server=..., kill=@0xbfb320: false) at /home/minetest/minetest_core/src/server.cpp:3411
        sp = {m_profiler = 0xbfb380, m_name = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x7fff78426b88 "dedicated server sleep"}}, m_timer = 0x7fff7822f630, m_type = SPT_ADD}
        steplen = 0.100000001
        profiler_print_interval = 0
        __debug_stacker = {m_stack = 0xc0e760, m_overflowed = false}
        __PRETTY_FUNCTION__ = "void dedicated_server_loop(Server&, bool&)"
        m_profiler_interval = {m_accumulator = 0}
#3  0x0000000000782dee in run_dedicated_server (game_params=..., cmd_args=...) at /home/minetest/minetest_core/src/main.cpp:846
        __debug_stacker = {m_stack = 0xc0e760, m_overflowed = false}
        bind_addr = {m_addr_family = 2, m_address = {ipv4 = {sin_family = 2, sin_port = 0, sin_addr = {s_addr = 0}, sin_zero = "\000\000\000\000\000\000\000"}, ipv6 = {sin6_family = 2, sin6_port = 0, sin6_flowinfo = 0, sin6_addr = {__in6_u = {__u6_addr8 = '\000' <repeats 15 times>, __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0}, __u6_addr32 = {0, 0, 0, 0}}}, sin6_scope_id = 0}}, m_port = 30005}
        kill = @0xbfb320: false
        bind_str = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0xbd7158 ""}}
        server = {<con::PeerHandler> = {_vptr.PeerHandler = 0x8f94b0}, <MapEventReceiver> = {_vptr.MapEventReceiver = 0x8f9550}, <InventoryManager> = {_vptr.InventoryManager = 0x8f9568}, <IGameDef> = {_vptr.IGameDef = 0x8f95a0}, m_bind_addr = {m_addr_family = 2, m_address = {ipv4 = {sin_family = 2, sin_port = 0, sin_addr = {s_addr = 0}, sin_zero = "\000\000\000\000\000\000\000"}, ipv6 = {sin6_family = 2, sin6_port = 0, sin6_flowinfo = 0, sin6_addr = {__in6_u = {__u6_addr8 = '\000' <repeats 15 times>, __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0}, __u6_addr32 = {0, 0, 0, 0}}}, sin6_scope_id = 0}}, m_port = 30005}, m_path_world = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0xc31148 "/home/minetest/.minetest/worlds/Vanilla_World"}}, m_gamespec = {id = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0xc0db78 "minetest_game"}}, path = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0xc31098 "/home/minetest/.minetest/games/minetest_game"}}, gamemods_path = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0xc30f38 "/home/minetest/.minetest/games/minetest_game/mods"}}, addon_mods_paths = {_M_t = {_M_impl = {<std::allocator<std::_Rb_tree_node<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >> = {<__gnu_cxx::new_allocator<std::_Rb_tree_node<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >> = {<No data fields>}, <No data fields>}, _M_key_compare = {<std::binary_function<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool>> = {<No data fields>}, <No data fields>}, _M_header = {_M_color = std::_S_red, _M_parent = 0xc20e90, _M_left = 0xc20e90, _M_right = 0xc20e90}, _M_node_count = 1}}}, name = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0xc2fdc8 "Minetest"}}, menuicon_path = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0xbd7158 ""}}}, m_simple_singleplayer_mode = false, m_async_fatal_error = {m_value = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0xbd7158 ""}}, m_mutex = {mutex = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 0, __spins = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 39 times>, __align = 0}}}, m_liquid_transform_timer = 0.202959493, m_liquid_transform_every = 1, m_print_info_timer = 0, m_masterserver_timer = 132.109299, m_objectdata_timer = 0, m_emergethread_trigger_timer = 1.20000017, m_savemap_timer = 132.099304, m_map_timer_and_unload_interval = {m_accumulator = 1.955091}, m_env = 0xec9790, m_env_mutex = {mutex = {__data = {__lock = 1, __count = 0, __owner = 27963, __nusers = 1, __kind = 0, __spins = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = "\001\000\000\000\000\000\000\000;m\000\000\001", '\000' <repeats 26 times>, __align = 1}}, m_con = {m_udpSocket = {m_handle = 10, m_timeout_ms = 5, m_addr_family = 2}, m_command_queue = {m_queue = {<std::_Deque_base<con::ConnectionCommand, std::allocator<con::ConnectionCommand> >> = {_M_impl = {<std::allocator<con::ConnectionCommand>> = {<__gnu_cxx::new_allocator<con::ConnectionCommand>> = {<No data fields>}, <No data fields>}, _M_map = 0x7fff78358000, _M_map_size = 158, _M_start = {_M_cur = 0x7fff791bdbf8, _M_first = 0x7fff791bdbb0, _M_last = 0x7fff791bdda8, _M_node = 0x7fff783582a8}, _M_finish = {_M_cur = 0x7fff791bdc88, _M_first = 0x7fff791bdbb0, _M_last = 0x7fff791bdda8, _M_node = 0x7fff783582a8}}}, <No data fields>}, m_mutex = {mutex = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 0, __spins = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 39 times>, __align = 0}}, m_size = {m_semaphore = {__size = "\002\000\000\000\200", '\000' <repeats 11 times>, "y\036`\000\000\000\000\000\200\216\303\000\000\000\000", __align = 549755813890}}}, m_event_queue = {m_queue = {<std::_Deque_base<con::ConnectionEvent, std::allocator<con::ConnectionEvent> >> = {_M_impl = {<std::allocator<con::ConnectionEvent>> = {<__gnu_cxx::new_allocator<con::ConnectionEvent>> = {<No data fields>}, <No data fields>}, _M_map = 0x7fffe6216b70, _M_map_size = 318, _M_start = {_M_cur = 0x7fffcc096d80, _M_first = 0x7fffcc096d00, _M_last = 0x7fffcc096f00, _M_node = 0x7fffe6217380}, _M_finish = {_M_cur = 0x7fffe5955a50, _M_first = 0x7fffe5955910, _M_last = 0x7fffe5955b10, _M_node = 0x7fffe6217398}}}, <No data fields>}, m_mutex = {mutex = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 0, __spins = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 39 times>, __align = 0}}, m_size = {m_semaphore = {__size = "\033\000\000\000\200", '\000' <repeats 11 times>"\230, \020\303", '\000' <repeats 12 times>, __align = 549755813915}}}, m_peer_id = 1, m_protocol_id = 1329951747, m_peers = {_M_t = {_M_impl = {<std::allocator<std::_Rb_tree_node<std::pair<unsigned short const, con::Peer*> > >> = {<__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<unsigned short const, con::Peer*> > >> = {<No data fields>}, <No data fields>}, _M_key_compare = {<std::binary_function<unsigned short, unsigned short, bool>> = {<No data fields>}, <No data fields>}, _M_header = {_M_color = std::_S_red, _M_parent = 0x1558bd0, _M_left = 0x7fffcd0afa10, _M_right = 0x7fffe4213da0}, _M_node_count = 31}}}, m_peer_ids = {<std::_List_base<unsigned short, std::allocator<unsigned short> >> = {_M_impl = {<std::allocator<std::_List_node<unsigned short> >> = {<__gnu_cxx::new_allocator<std::_List_node<unsigned short> >> = {<No data fields>}, <No data fields>}, _M_node = {_M_next = 0x7fffcc391d90, _M_prev = 0x7fffe467da00}}}, <No data fields>}, m_peers_mutex = {mutex = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 0, __spins = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 39 times>, __align = 0}}, m_sendThread = {<JThread> = {_vptr.JThread = 0x86b1d0, threadid = 140737271588608, started = true, retval = 0x0, running = true, requeststop = false, continuemutex = {mutex = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 0, __spins = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 39 times>, __align = 0}}, continuemutex2 = {mutex = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 0, __spins = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 39 times>, __align = 0}}}, m_connection = 0x7fffffffe180, m_max_packet_size = 512, m_timeout = 30, m_outgoing_queue = {c = {<std::_Deque_base<con::OutgoingPacket, std::allocator<con::OutgoingPacket> >> = {_M_impl = {<std::allocator<con::OutgoingPacket>> = {<__gnu_cxx::new_allocator<con::OutgoingPacket>> = {<No data fields>}, <No data fields>}, _M_map = 0x7fffecdf7cf0, _M_map_size = 78, _M_start = {_M_cur = 0x7fffee6a0e50, _M_first = 0x7fffee6a0db0, _M_last = 0x7fffee6a0f90, _M_node = 0x7fffecdf7f38}, _M_finish = {_M_cur = 0x7fffee6a0e50, _M_first = 0x7fffee6a0db0, _M_last = 0x7fffee6a0f90, _M_node = 0x7fffecdf7f38}}}, <No data fields>}}, m_send_sleep_semaphore = {m_semaphore = {__size = "\006\000\000\000\200", '\000' <repeats 11 times>, "}0f\366\377\177\000\000\240\344\377\377\377\177\000", __align = 549755813894}}, m_iteration_packets_avaialble = 1024, m_max_commands_per_iteration = 1, m_max_data_packets_per_iteration = 1024, m_max_packets_requeued = 256}, m_receiveThread = {<JThread> = {_vptr.JThread = 0x86b190, threadid = 140737263195904, started = true, retval = 0x0, running = true, requeststop = false, continuemutex = {mutex = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 0, __spins = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 39 times>, __align = 0}}, continuemutex2 = {mutex = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 0, __spins = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 39 times>, __align = 0}}}, m_connection = 0x7fffffffe180}, m_info_mutex = {mutex = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 0, __spins = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 39 times>, __align = 0}}, m_bc_peerhandler = 0x7fffffffe050, m_bc_receive_timeout = 30, m_shutting_down = false, m_next_remote_peer_id = 2770}, m_banmanager = 0xc356a0, m_rollback = 0xf49b80, m_enable_rollback_recording = true, m_emerge = 0xc34f40, m_script = 0xcdc7b0, m_itemdef = 0xc32010, m_nodedef = 0xc321a0, m_craftdef = 0xc34690, m_event = 0xc322b0, m_mods = {<std::_Vector_base<ModSpec, std::allocator<ModSpec> >> = {_M_impl = {<std::allocator<ModSpec>> = {<__gnu_cxx::new_allocator<ModSpec>> = {<No data fields>}, <No data fields>}, _M_start = 0xc65470, _M_finish = 0xc67a68, _M_end_of_storage = 0xc67a68}}, <No data fields>}, m_step_dtime = 0, m_step_dtime_mutex = {mutex = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 0, __spins = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 39 times>, __align = 0}}, m_lag = 0.0999199077, m_thread = 0xc34eb0, m_time_of_day_send_timer = 1.10000193, m_uptime = {m_value = 25032.200431026518, m_mutex = {mutex = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 0, __spins = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 39 times>, __align = 0}}}, m_clients = {m_con = 0x7fffffffe180, m_clients_mutex = {mutex = {__data = {__lock = 1, __count = 0, __owner = 27963, __nusers = 1, __kind = 0, __spins = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = "\001\000\000\000\000\000\000\000;m\000\000\001", '\000' <repeats 26 times>, __align = 1}}, m_clients = {_M_t = {_M_impl = {<std::allocator<std::_Rb_tree_node<std::pair<unsigned short const, RemoteClient*> > >> = {<__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<unsigned short const, RemoteClient*> > >> = {<No data fields>}, <No data fields>}, _M_key_compare = {<std::binary_function<unsigned short, unsigned short, bool>> = {<No data fields>}, <No data fields>}, _M_header = {_M_color = std::_S_red, _M_parent = 0x7fff79c4bc40, _M_left = 0x7fffe4670ff0, _M_right = 0x11d9ea0}, _M_node_count = 32}}}, m_clients_names = {<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 = 0x7fff798b23c0, _M_finish = 0x7fff798b24b8, _M_end_of_storage = 0x7fff798b25c0}}, <No data fields>}, m_env = 0xec9790, m_env_mutex = {mutex = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 0, __spins = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 39 times>, __align = 0}}, m_print_info_timer = 7.69999552, static statenames = 0xbd6bc0}, m_peer_change_queue = {c = {<std::_Deque_base<con::PeerChange, std::allocator<con::PeerChange> >> = {_M_impl = {<std::allocator<con::PeerChange>> = {<__gnu_cxx::new_allocator<con::PeerChange>> = {<No data fields>}, <No data fields>}, _M_map = 0xc349f0, _M_map_size = 8, _M_start = {_M_cur = 0x296fef0, _M_first = 0x296fef0, _M_last = 0x29700f0, _M_node = 0xc34a18}, _M_finish = {_M_cur = 0x296fef0, _M_first = 0x296fef0, _M_last = 0x29700f0, _M_node = 0xc34a18}}}, <No data fields>}}, m_shutdown_requested = false, m_unsent_map_edit_queue = {c = {<std::_Deque_base<MapEditEvent*, std::allocator<MapEditEvent*> >> = {_M_impl = {<std::allocator<MapEditEvent*>> = {<__gnu_cxx::new_allocator<MapEditEvent*>> = {<No data fields>}, <No data fields>}, _M_map = 0x28650d0, _M_map_size = 318, _M_start = {_M_cur = 0x7fffee8d8e80, _M_first = 0x7fffee8d8c90, _M_last = 0x7fffee8d8e90, _M_node = 0x28656f0}, _M_finish = {_M_cur = 0x7fffee8d8e80, _M_first = 0x7fffee8d8c90, _M_last = 0x7fffee8d8e90, _M_node = 0x28656f0}}}, <No data fields>}}, m_ignore_map_edit_events = false, m_ignore_map_edit_events_area = {MinEdge = {X = 1, Y = 1, Z = 1}, MaxEdge = {X = 0, Y = 0, Z = 0}}, m_ignore_map_edit_events_peer_id = 0, m_media = {_M_t = {_M_impl = {<std::allocator<std::_Rb_tree_node<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, MediaInfo> > >> = {<__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, MediaInfo> > >> = {<No data fields>}, <No data fields>}, _M_key_compare = {<std::binary_function<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool>> = {<No data fields>}, <No data fields>}, _M_header = {_M_color = std::_S_red, _M_parent = 0xe6c910, _M_left = 0xe525f0, _M_right = 0xe9bfe0}, _M_node_count = 1035}}}, m_playing_sounds = {_M_t = {_M_impl = {<std::allocator<std::_Rb_tree_node<std::pair<int const, ServerPlayingSound> > >> = {<__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<int const, ServerPlayingSound> > >> = {<No data fields>}, <No data fields>}, _M_key_compare = {<std::binary_function<int, int, bool>> = {<No data fields>}, <No data fields>}, _M_header = {_M_color = std::_S_red, _M_parent = 0x7fffcdaddb60, _M_left = 0x1f23980, _M_right = 0x2c78910}, _M_node_count = 8}}}, m_next_sound_id = 5656, m_detached_inventories = {_M_t = {_M_impl = {<std::allocator<std::_Rb_tree_node<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, Inventory*> > >> = {<__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, Inventory*> > >> = {<No data fields>}, <No data fields>}, _M_key_compare = {<std::binary_function<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool>> = {<No data fields>}, <No data fields>}, _M_header = {_M_color = std::_S_red, _M_parent = 0x7fffcc7b6800, _M_left = 0x242dc70, _M_right = 0x19ebaf0}, _M_node_count = 414}}}, m_particlespawner_ids = {<std::_Vector_base<unsigned int, std::allocator<unsigned int> >> = {_M_impl = {<std::allocator<unsigned int>> = {<__gnu_cxx::new_allocator<unsigned int>> = {<No data fields>}, <No data fields>}, _M_start = 0x0, _M_finish = 0x0, _M_end_of_storage = 0x0}}, <No data fields>}}
#4  0x000000000077de27 in main (argc=11, argv=0x7fffffffec08) at /home/minetest/minetest_core/src/main.cpp:233
        retval = 8811197
        cmd_args = {m_settings = {_M_t = {_M_impl = {<std::allocator<std::_Rb_tree_node<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, SettingsEntry> > >> = {<__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, SettingsEntry> > >> = {<No data fields>}, <No data fields>}, _M_key_compare = {<std::binary_function<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool>> = {<No data fields>}, <No data fields>}, _M_header = {_M_color = std::_S_red, _M_parent = 0xc0dbc0, _M_left = 0xc0db10, _M_right = 0xc0da30}, _M_node_count = 5}}}, m_defaults = {_M_t = {_M_impl = {<std::allocator<std::_Rb_tree_node<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, SettingsEntry> > >> = {<__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, SettingsEntry> > >> = {<No data fields>}, <No data fields>}, _M_key_compare = {<std::binary_function<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool>> = {<No data fields>}, <No data fields>}, _M_header = {_M_color = std::_S_red, _M_parent = 0x0, _M_left = 0x7fffffffe958, _M_right = 0x7fffffffe958}, _M_node_count = 0}}}, m_callbacks = {_M_t = {_M_impl = {<std::allocator<std::_Rb_tree_node<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::vector<std::pair<void (*)(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, void*), void*>, std::allocator<std::pair<void (*)(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, void*), void*> > > > > >> = {<__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::vector<std::pair<void (*)(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, void*), void*>, std::allocator<std::pair<void (*)(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, void*), void*> > > > > >> = {<No data fields>}, <No data fields>}, _M_key_compare = {<std::binary_function<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool>> = {<No data fields>}, <No data fields>}, _M_header = {_M_color = std::_S_red, _M_parent = 0x0, _M_left = 0x7fffffffe988, _M_right = 0x7fffffffe988}, _M_node_count = 0}}}, m_callbackMutex = {mutex = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 0, __spins = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 39 times>, __align = 0}}, m_mutex = {mutex = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 0, __spins = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 39 times>, __align = 0}}}
        cmd_args_ok = true
        __debug_stacker = {m_stack = 0xc0e760, m_overflowed = false}
        __PRETTY_FUNCTION__ = "int main(int, char**)"
        game_params = {socket_port = 30005, world_path = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0xc31148 "/home/minetest/.minetest/worlds/Vanilla_World"}}, game_spec = {id = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0xc0db78 "minetest_game"}}, path = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0xc31098 "/home/minetest/.minetest/games/minetest_game"}}, gamemods_path = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0xc30f38 "/home/minetest/.minetest/games/minetest_game/mods"}}, addon_mods_paths = {_M_t = {_M_impl = {<std::allocator<std::_Rb_tree_node<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >> = {<__gnu_cxx::new_allocator<std::_Rb_tree_node<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >> = {<No data fields>}, <No data fields>}, _M_key_compare = {<std::binary_function<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool>> = {<No data fields>}, <No data fields>}, _M_header = {_M_color = std::_S_red, _M_parent = 0xc310d0, _M_left = 0xc310d0, _M_right = 0xc310d0}, _M_node_count = 1}}}, name = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0xc2fdc8 "Minetest"}}, menuicon_path = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0xbd7158 ""}}}, is_dedicated_server = true, log_level = 2}
A debugging session is active.

    Inferior 1 [process 27936] will be killed.

Quit anyway? (y or n) [answered Y; input not from terminal]
@kwolekr
Copy link
Contributor Author

kwolekr commented Aug 1, 2015

The non-atomic data object m_peer_ids is shared between both ConnectionSendThread and ConnectionReceiveThread. It is copied in all instances without a lock. This crash is probably caused by ConnectionSendThread modifying m_peer_ids at the same time ConnectionReceiveThread is reading it and it is copied in an inconsistent state. Should be fixed with #2980

@est31 est31 added the Bug Issues that were confirmed to be a bug label Aug 1, 2015
@est31
Copy link
Contributor

est31 commented Aug 1, 2015

79e2647

@est31 est31 closed this as completed Aug 1, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Issues that were confirmed to be a bug
Projects
None yet
Development

No branches or pull requests

2 participants