Skip to content

Instantly share code, notes, and snippets.

@Subv
Created July 24, 2014 19:54
Show Gist options
  • Save Subv/194fbf6f9319de7bf14c to your computer and use it in GitHub Desktop.
Save Subv/194fbf6f9319de7bf14c to your computer and use it in GitHub Desktop.
==9192== Possible data race during write of size 8 at 0x428390C8 by thread #2
==9192== Locks held: none
==9192== at 0x16DEE8B: std::__atomic_base<long>::store(long, std::memory_order) (atomic_base.h:474)
==9192== by 0x16D200D: std::__atomic_base<long>::operator=(long) (atomic_base.h:375)
==9192== by 0x1714226: WorldSession::ResetTimeOutTime() (WorldSession.h:386)
==9192== by 0x1719C96: WorldSocket::AsyncReadData(unsigned long)::{lambda(boost::system::error_code, unsigned long)#1}::operator()(boost::system::error_code, unsigned long) const (WorldSocket.cpp:145)
==9192== by 0x171DFE3: boost::asio::detail::binder2<WorldSocket::AsyncReadData(unsigned long)::{lambda(boost::system::error_code, unsigned long)#1}, boost::system::error_code, unsigned long>::operator()() (bind_handler.hpp:127)
==9192== by 0x171DD0C: void boost::asio::asio_handler_invoke<boost::asio::detail::binder2<WorldSocket::AsyncReadData(unsigned long)::{lambda(boost::system::error_code, unsigned long)#1}, boost::system::error_code, unsigned long> >(boost::asio::detail::binder2<WorldSocket::AsyncReadData(unsigned long)::{lambda(boost::system::error_code, unsigned long)#1}, boost::system::error_code, unsigned long>&, ...) (handler_invoke_hook.hpp:69)
==9192== by 0x171DAE3: void boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder2<WorldSocket::AsyncReadData(unsigned long)::{lambda(boost::system::error_code, unsigned long)#1}, boost::system::error_code, unsigned long>, {lambda(boost::system::error_code, unsigned long)#1}>(boost::asio::detail::binder2<WorldSocket::AsyncReadData(unsigned long)::{lambda(boost::system::error_code, unsigned long)#1}, boost::system::error_code, unsigned long>&, {lambda(boost::system::error_code, unsigned long)#1}&) (handler_invoke_helpers.hpp:37)
==9192== by 0x171D74A: boost::asio::detail::reactive_socket_recv_op<boost::asio::mutable_buffers_1, WorldSocket::AsyncReadData(unsigned long)::{lambda(boost::system::error_code, unsigned long)#1}>::do_complete(boost::asio::detail::task_io_service*, boost::asio::detail::task_io_service_operation*, boost::system::error_code const&, unsigned long) (reactive_socket_recv_op.hpp:110)
==9192== by 0x1233BCF: boost::asio::detail::task_io_service_operation::complete(boost::asio::detail::task_io_service&, boost::system::error_code const&, unsigned long) (task_io_service_operation.hpp:38)
==9192== by 0x1247E0A: boost::asio::detail::task_io_service::do_run_one(boost::asio::detail::scoped_lock<boost::asio::detail::posix_mutex>&, boost::asio::detail::task_io_service_thread_info&, boost::system::error_code const&) (task_io_service.ipp:384)
==9192== by 0x1247A2A: boost::asio::detail::task_io_service::run(boost::system::error_code&) (task_io_service.ipp:153)
==9192== by 0x1248088: boost::asio::io_service::run() (io_service.ipp:59)
==9192==
==9192== This conflicts with a previous read of size 8 by thread #1
==9192== Locks held: none
==9192== at 0x1251EB1: std::__atomic_base<long>::load(std::memory_order) const (atomic_base.h:496)
==9192== by 0x124CA52: std::__atomic_base<long>::operator long() const (atomic_base.h:367)
==9192== by 0x17141B4: WorldSession::UpdateTimeOutTime(unsigned int) (WorldSession.h:379)
==9192== by 0x170D038: WorldSession::Update(unsigned int, PacketFilter&) (WorldSession.cpp:259)
==9192== by 0x17E6AB9: World::UpdateSessions(unsigned int) (World.cpp:2643)
==9192== by 0x17E4658: World::Update(unsigned int) (World.cpp:2008)
==9192== by 0x1242CD9: WorldUpdateLoop() (Main.cpp:347)
==9192== by 0x1241F17: main (Main.cpp:235)
==9192== Address 0x428390c8 is 8 bytes inside a block of size 816 alloc'd
==9192== at 0x4C2C4E5: operator new(unsigned long) (vg_replace_malloc.c:326)
==9192== by 0x171BA30: WorldSocket::HandleAuthSession(WorldPacket&) (WorldSocket.cpp:417)
==9192== by 0x1719A33: WorldSocket::AsyncReadData(unsigned long)::{lambda(boost::system::error_code, unsigned long)#1}::operator()(boost::system::error_code, unsigned long) const (WorldSocket.cpp:129)
==9192== by 0x171DFE3: boost::asio::detail::binder2<WorldSocket::AsyncReadData(unsigned long)::{lambda(boost::system::error_code, unsigned long)#1}, boost::system::error_code, unsigned long>::operator()() (bind_handler.hpp:127)
==9192== by 0x171DD0C: void boost::asio::asio_handler_invoke<boost::asio::detail::binder2<WorldSocket::AsyncReadData(unsigned long)::{lambda(boost::system::error_code, unsigned long)#1}, boost::system::error_code, unsigned long> >(boost::asio::detail::binder2<WorldSocket::AsyncReadData(unsigned long)::{lambda(boost::system::error_code, unsigned long)#1}, boost::system::error_code, unsigned long>&, ...) (handler_invoke_hook.hpp:69)
==9192== by 0x171DAE3: void boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder2<WorldSocket::AsyncReadData(unsigned long)::{lambda(boost::system::error_code, unsigned long)#1}, boost::system::error_code, unsigned long>, {lambda(boost::system::error_code, unsigned long)#1}>(boost::asio::detail::binder2<WorldSocket::AsyncReadData(unsigned long)::{lambda(boost::system::error_code, unsigned long)#1}, boost::system::error_code, unsigned long>&, {lambda(boost::system::error_code, unsigned long)#1}&) (handler_invoke_helpers.hpp:37)
==9192== by 0x171D74A: boost::asio::detail::reactive_socket_recv_op<boost::asio::mutable_buffers_1, WorldSocket::AsyncReadData(unsigned long)::{lambda(boost::system::error_code, unsigned long)#1}>::do_complete(boost::asio::detail::task_io_service*, boost::asio::detail::task_io_service_operation*, boost::system::error_code const&, unsigned long) (reactive_socket_recv_op.hpp:110)
==9192== by 0x1233BCF: boost::asio::detail::task_io_service_operation::complete(boost::asio::detail::task_io_service&, boost::system::error_code const&, unsigned long) (task_io_service_operation.hpp:38)
==9192== by 0x1247E0A: boost::asio::detail::task_io_service::do_run_one(boost::asio::detail::scoped_lock<boost::asio::detail::posix_mutex>&, boost::asio::detail::task_io_service_thread_info&, boost::system::error_code const&) (task_io_service.ipp:384)
==9192== by 0x1247A2A: boost::asio::detail::task_io_service::run(boost::system::error_code&) (task_io_service.ipp:153)
==9192== by 0x1248088: boost::asio::io_service::run() (io_service.ipp:59)
==9192== by 0x1269730: boost::_mfi::mf0<unsigned long, boost::asio::io_service>::operator()(boost::asio::io_service*) const (mem_fn_template.hpp:49)
==9192== Block was alloc'd by thread #2
==9192==
==9192== ----------------------------------------------------------------
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment