apache / rocketmq-client-cpp

Apache RocketMQ cpp client
https://rocketmq.apache.org/
Apache License 2.0
364 stars 158 forks source link

Valgrind: Invalid read of size 1 #395

Open cng3s opened 2 years ago

cng3s commented 2 years ago

==20355== Thread 22: ==20355== Invalid read of size 1 ==20355== at 0x4C35946: __GI_mempcpy (vg_replace_strmem.c:1563) ==20355== by 0x5AF806B: _IO_default_xsputn (in /usr/lib64/libc-2.17.so) ==20355== by 0x5AC8032: vfprintf (in /usr/lib64/libc-2.17.so) ==20355== by 0x5AF3178: vsnprintf (in /usr/lib64/libc-2.17.so) ==20355== by 0x87D31B: rocketmq::LogUtil::LogMessageFull(boost::log::v2s_mt_posix::trivial::severity_level, char const, char const, int, char const, ...) (in /home/eta_home/eta/cmake-build-linux_debug/bin/EtaInnerChannel) ==20355== by 0x981AAB: rocketmq::ClientRPCHook::doBeforeRequest(std::string const&, rocketmq::RemotingCommand&) (in /home/eta_home/eta/cmake-build-linux_debug/bin/EtaInnerChannel) ==20355== by 0x893A38: rocketmq::MQClientAPIImpl::callSignatureBeforeRequest(std::string const&, rocketmq::RemotingCommand&, rocketmq::SessionCredentials const&) (in /home/eta_home/eta/cmake-build-linux_debug/bin/EtaInnerChannel) ==20355== by 0x895E1E: rocketmq::MQClientAPIImpl::sendHeartbeat(std::string const&, rocketmq::HeartbeatData, rocketmq::SessionCredentials const&) (in /home/eta_home/eta/cmake-build-linux_debug/bin/EtaInnerChannel) ==20355== by 0x88727A: rocketmq::MQClientFactory::sendHeartbeatToAllBroker() (in /home/eta_home/eta/cmake-build-linux_debug/bin/EtaInnerChannel) ==20355== by 0x885749: rocketmq::MQClientFactory::timerCB_sendHeartbeatToAllBroker(boost::system::error_code&, boost::shared_ptr<boost::asio::basic_deadline_timer<boost::posix_time::ptime, boost::asio::time_traits, boost::asio::deadline_timer_service<boost::posix_time::ptime, boost::asio::time_traits > > >) (in /home/eta_home/eta/cmake-build-linux_debug/bin/EtaInnerChannel) ==20355== by 0x88A571: boost::asio::detail::wait_handler<boost::_bi::bind_t<void, boost::_mfi::mf2<void, rocketmq::MQClientFactory, boost::system::error_code&, boost::shared_ptr<boost::asio::basic_deadline_timer<boost::posix_time::ptime, boost::asio::time_traits, boost::asio::deadline_timer_service<boost::posix_time::ptime, boost::asio::time_traits > > > >, boost::_bi::list3<boost::_bi::value<rocketmq::MQClientFactory>, boost::_bi::value, boost::_bi::value<boost::shared_ptr<boost::asio::basic_deadline_timer<boost::posix_time::ptime, boost::asio::time_traits, boost::asio::deadline_timer_service<boost::posix_time::ptime, boost::asio::time_traits > > > > > > >::do_complete(boost::asio::detail::task_io_service, boost::asio::detail::task_io_service_operation, boost::system::error_code const&, unsigned long) (in /home/eta_home/eta/cmake-build-linux_debug/bin/EtaInnerChannel) ==20355== by 0x88B1E0: boost::asio::detail::task_io_service::run(boost::system::error_code&) (in /home/eta_home/eta/cmake-build-linux_debug/bin/EtaInnerChannel) ==20355== Address 0x17b1cf84 is 0 bytes after a block of size 100 alloc'd ==20355== at 0x4C2B067: malloc (vg_replace_malloc.c:380) ==20355== by 0x974064: rocketmq::MemoryBlock::setSize(int, bool) (in /home/eta_home/eta/cmake-build-linux_debug/bin/EtaInnerChannel) ==20355== by 0x936BF0: rocketmq::RemotingCommand::SetBody(char const, int) (in /home/eta_home/eta/cmake-build-linux_debug/bin/EtaInnerChannel) ==20355== by 0x895E00: rocketmq::MQClientAPIImpl::sendHeartbeat(std::string const&, rocketmq::HeartbeatData, rocketmq::SessionCredentials const&) (in /home/eta_home/eta/cmake-build-linux_debug/bin/EtaInnerChannel) ==20355== by 0x88727A: rocketmq::MQClientFactory::sendHeartbeatToAllBroker() (in /home/eta_home/eta/cmake-build-linux_debug/bin/EtaInnerChannel) ==20355== by 0x885749: rocketmq::MQClientFactory::timerCB_sendHeartbeatToAllBroker(boost::system::error_code&, boost::shared_ptr<boost::asio::basic_deadline_timer<boost::posix_time::ptime, boost::asio::time_traits, boost::asio::deadline_timer_service<boost::posix_time::ptime, boost::asio::time_traits > > >) (in /home/eta_home/eta/cmake-build-linux_debug/bin/EtaInnerChannel) ==20355== by 0x88A571: boost::asio::detail::wait_handler<boost::_bi::bind_t<void, boost::_mfi::mf2<void, rocketmq::MQClientFactory, boost::system::error_code&, boost::shared_ptr<boost::asio::basic_deadline_timer<boost::posix_time::ptime, boost::asio::time_traits, boost::asio::deadline_timer_service<boost::posix_time::ptime, boost::asio::time_traits > > > >, boost::_bi::list3<boost::_bi::value<rocketmq::MQClientFactory>, boost::_bi::value, boost::_bi::value<boost::shared_ptr<boost::asio::basic_deadline_timer<boost::posix_time::ptime, boost::asio::time_traits, boost::asio::deadline_timer_service<boost::posix_time::ptime, boost::asio::time_traits > > > > > > >::do_complete(boost::asio::detail::task_io_service, boost::asio::detail::task_io_service_operation, boost::system::error_code const&, unsigned long) (in /home/eta_home/eta/cmake-build-linux_debug/bin/EtaInnerChannel) ==20355== by 0x88B1E0: boost::asio::detail::task_io_service::run(boost::system::error_code&) (in /home/eta_home/eta/cmake-build-linux_debug/bin/EtaInnerChannel) ==20355== by 0x8862C9: rocketmq::MQClientFactory::startScheduledTask(bool) (in /home/eta_home/eta/cmake-build-linux_debug/bin/EtaInnerChannel) ==20355== by 0x913EDE: thread_proxy (in /home/eta_home/eta/cmake-build-linux_debug/bin/EtaInnerChannel) ==20355== by 0x4E42EA4: start_thread (in /usr/lib64/libpthread-2.17.so) ==20355== by 0x5B79B0C: clone (in /usr/lib64/libc-2.17.so)

平台: gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44) centos 7.8