[
https://issues.apache.org/jira/browse/DRILL-5441?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15973491#comment-15973491
]
Rob Wu commented on DRILL-5441:
-------------------------------
With Logging turned on:
<?xml version="1.0"?>
-<valgrindoutput>
<protocolversion>4</protocolversion>
<protocoltool>memcheck</protocoltool>
-<preamble>
<line>Memcheck, a memory error detector</line>
<line>Copyright (C) 2002-2012, and GNU GPL'd, by Julian Seward et al.</line>
<line>Using Valgrind-3.8.1 and LibVEX; rerun with -h for copyright info</line>
<line>Command: /opt/io/64/bin/iodbctestw DSN=MapR Drill 64-bit</line>
</preamble>
<pid>18550</pid>
<ppid>14305</ppid>
<tool>memcheck</tool>
-<args>
-<vargv>
<exe>/usr/bin/valgrind</exe>
<arg>--leak-check=yes</arg>
<arg>--xml=yes</arg>
<arg>--xml-file=/media/110valgrind-1371028 LOG TRACE.xml</arg>
</vargv>
-<argv>
<exe>/opt/io/64/bin/iodbctestw</exe>
<arg>DSN=MapR Drill 64-bit</arg>
</argv>
</args>
-<status>
<state>RUNNING</state>
<time>00:00:00:00.040 </time>
</status>
-<error>
<unique>0x29</unique>
<tid>2</tid>
<kind>InvalidRead</kind>
<what>Invalid read of size 4</what>
-<stack>
-<frame>
<ip>0xD4DE434</ip>
<obj>/opt/mapr/drill/lib/64/libdrillClient.so</obj>
<fn>google::protobuf::internal::RepeatedPtrFieldBase::size() const</fn>
<dir>/home/employee/Desktop/Rob/drill/P4ROOT/protobuf/protobuf-2.5.0rc1/Linux_x8664/include/google/protobuf</dir>
<file>repeated_field.h</file>
<line>818</line>
</frame>
-<frame>
<ip>0xD4E52A9</ip>
<obj>/opt/mapr/drill/lib/64/libdrillClient.so</obj>
<fn>google::protobuf::RepeatedPtrField<exec::user::CatalogMetadata>::size()
const</fn>
<dir>/home/employee/Desktop/Rob/drill/P4ROOT/protobuf/protobuf-2.5.0rc1/Linux_x8664/include/google/protobuf</dir>
<file>repeated_field.h</file>
<line>1032</line>
</frame>
-<frame>
<ip>0xD4DF57F</ip>
<obj>/opt/mapr/drill/lib/64/libdrillClient.so</obj>
<fn>exec::user::GetCatalogsResp::catalogs_size() const</fn>
<dir>/home/employee/Desktop/Rob/drill/drill-1.10.0.1/contrib/native/client/src/protobuf</dir>
<file>User.pb.h</file>
<line>6658</line>
</frame>
-<frame>
<ip>0xD4CF26F</ip>
<obj>/opt/mapr/drill/lib/64/libdrillClient.so</obj>
<fn>Drill::DrillClientImpl::processCatalogsResult(Drill::AllocatedBuffer*,
Drill::rpc::InBoundRpcMessage const&)</fn>
<dir>/home/employee/Desktop/Rob/drill/drill-1.10.0.1/contrib/native/client/src/clientlib</dir>
<file>drillClientImpl.cpp</file>
<line>1196</line>
</frame>
-<frame>
<ip>0xD4D287A</ip>
<obj>/opt/mapr/drill/lib/64/libdrillClient.so</obj>
<fn>Drill::DrillClientImpl::handleRead(unsigned char*,
boost_sb::system::error_code const&, unsigned long)</fn>
<dir>/home/employee/Desktop/Rob/drill/drill-1.10.0.1/contrib/native/client/src/clientlib</dir>
<file>drillClientImpl.cpp</file>
<line>1550</line>
</frame>
-<frame>
<ip>0xD503A92</ip>
<obj>/opt/mapr/drill/lib/64/libdrillClient.so</obj>
<fn>boost_sb::_mfi::mf3<void, Drill::DrillClientImpl, unsigned char*,
boost_sb::system::error_code const&, unsigned
long>::operator()(Drill::DrillClientImpl*, unsigned char*,
boost_sb::system::error_code const&, unsigned long) const</fn>
<dir>/home/employee/Desktop/Rob/drill/P4ROOT/boost/boost_sb_157icu/release64/include/boost/bind</dir>
<file>mem_fn_template.hpp</file>
<line>393</line>
</frame>
-<frame>
<ip>0xD4FE6CC</ip>
<obj>/opt/mapr/drill/lib/64/libdrillClient.so</obj>
<fn>void boost_sb::_bi::list4<boost_sb::_bi::value<Drill::DrillClientImpl*>,
boost_sb::_bi::value<unsigned char*>, boost_sb::arg<1> (*)(), boost_sb::arg<2>
(*)()>::operator()<boost_sb::_mfi::mf3<void, Drill::DrillClientImpl, unsigned
char*, boost_sb::system::error_code const&, unsigned long>,
boost_sb::_bi::list2<boost_sb::system::error_code const&, unsigned long const&>
>(boost_sb::_bi::type<void>, boost_sb::_mfi::mf3<void, Drill::DrillClientImpl,
unsigned char*, boost_sb::system::error_code const&, unsigned long>&,
boost_sb::_bi::list2<boost_sb::system::error_code const&, unsigned long
const&>&, int)</fn>
<dir>/home/employee/Desktop/Rob/drill/P4ROOT/boost/boost_sb_157icu/release64/include/boost/bind</dir>
<file>bind.hpp</file>
<line>457</line>
</frame>
-<frame>
<ip>0xD4F70C7</ip>
<obj>/opt/mapr/drill/lib/64/libdrillClient.so</obj>
<fn>void boost_sb::_bi::bind_t<void, boost_sb::_mfi::mf3<void,
Drill::DrillClientImpl, unsigned char*, boost_sb::system::error_code const&,
unsigned long>,
boost_sb::_bi::list4<boost_sb::_bi::value<Drill::DrillClientImpl*>,
boost_sb::_bi::value<unsigned char*>, boost_sb::arg<1> (*)(), boost_sb::arg<2>
(*)()> >::operator()<boost_sb::system::error_code, unsigned
long>(boost_sb::system::error_code const&, unsigned long const&)</fn>
<dir>/home/employee/Desktop/Rob/drill/P4ROOT/boost/boost_sb_157icu/release64/include/boost/bind</dir>
<file>bind_template.hpp</file>
<line>102</line>
</frame>
-<frame>
<ip>0xD4F00A3</ip>
<obj>/opt/mapr/drill/lib/64/libdrillClient.so</obj>
<fn>boost_sb::asio::detail::read_op<boost_sb::asio::basic_stream_socket<boost_sb::asio::ip::tcp,
boost_sb::asio::stream_socket_service<boost_sb::asio::ip::tcp> >,
boost_sb::asio::mutable_buffers_1, boost_sb::asio::detail::transfer_all_t,
boost_sb::_bi::bind_t<void, boost_sb::_mfi::mf3<void, Drill::DrillClientImpl,
unsigned char*, boost_sb::system::error_code const&, unsigned long>,
boost_sb::_bi::list4<boost_sb::_bi::value<Drill::DrillClientImpl*>,
boost_sb::_bi::value<unsigned char*>, boost_sb::arg<1> (*)(), boost_sb::arg<2>
(*)()> > >::operator()(boost_sb::system::error_code const&, unsigned long,
int)</fn>
<dir>/home/employee/Desktop/Rob/drill/P4ROOT/boost/boost_sb_157icu/release64/include/boost/asio/impl</dir>
<file>read.hpp</file>
<line>282</line>
</frame>
-<frame>
<ip>0xD50BC91</ip>
<obj>/opt/mapr/drill/lib/64/libdrillClient.so</obj>
<fn>boost_sb::asio::detail::binder2<boost_sb::asio::detail::read_op<boost_sb::asio::basic_stream_socket<boost_sb::asio::ip::tcp,
boost_sb::asio::stream_socket_service<boost_sb::asio::ip::tcp> >,
boost_sb::asio::mutable_buffers_1, boost_sb::asio::detail::transfer_all_t,
boost_sb::_bi::bind_t<void, boost_sb::_mfi::mf3<void, Drill::DrillClientImpl,
unsigned char*, boost_sb::system::error_code const&, unsigned long>,
boost_sb::_bi::list4<boost_sb::_bi::value<Drill::DrillClientImpl*>,
boost_sb::_bi::value<unsigned char*>, boost_sb::arg<1> (*)(), boost_sb::arg<2>
(*)()> > >, boost_sb::system::error_code, unsigned long>::operator()()</fn>
<dir>/home/employee/Desktop/Rob/drill/P4ROOT/boost/boost_sb_157icu/release64/include/boost/asio/detail</dir>
<file>bind_handler.hpp</file>
<line>127</line>
</frame>
-<frame>
<ip>0xD50BC2A</ip>
<obj>/opt/mapr/drill/lib/64/libdrillClient.so</obj>
<fn>void
boost_sb::asio::asio_handler_invoke<boost_sb::asio::detail::binder2<boost_sb::asio::detail::read_op<boost_sb::asio::basic_stream_socket<boost_sb::asio::ip::tcp,
boost_sb::asio::stream_socket_service<boost_sb::asio::ip::tcp> >,
boost_sb::asio::mutable_buffers_1, boost_sb::asio::detail::transfer_all_t,
boost_sb::_bi::bind_t<void, boost_sb::_mfi::mf3<void, Drill::DrillClientImpl,
unsigned char*, boost_sb::system::error_code const&, unsigned long>,
boost_sb::_bi::list4<boost_sb::_bi::value<Drill::DrillClientImpl*>,
boost_sb::_bi::value<unsigned char*>, boost_sb::arg<1> (*)(), boost_sb::arg<2>
(*)()> > >, boost_sb::system::error_code, unsigned long>
>(boost_sb::asio::detail::binder2<boost_sb::asio::detail::read_op<boost_sb::asio::basic_stream_socket<boost_sb::asio::ip::tcp,
boost_sb::asio::stream_socket_service<boost_sb::asio::ip::tcp> >,
boost_sb::asio::mutable_buffers_1, boost_sb::asio::detail::transfer_all_t,
boost_sb::_bi::bind_t<void, boost_sb::_mfi::mf3<void, Drill::DrillClientImpl,
unsigned char*, boost_sb::system::error_code const&, unsigned long>,
boost_sb::_bi::list4<boost_sb::_bi::value<Drill::DrillClientImpl*>,
boost_sb::_bi::value<unsigned char*>, boost_sb::arg<1> (*)(), boost_sb::arg<2>
(*)()> > >, boost_sb::system::error_code, unsigned long>&, ...)</fn>
<dir>/home/employee/Desktop/Rob/drill/P4ROOT/boost/boost_sb_157icu/release64/include/boost/asio</dir>
<file>handler_invoke_hook.hpp</file>
<line>69</line>
</frame>
-<frame>
<ip>0xD50BA26</ip>
<obj>/opt/mapr/drill/lib/64/libdrillClient.so</obj>
<fn>void
boost_sb_asio_handler_invoke_helpers::invoke<boost_sb::asio::detail::binder2<boost_sb::asio::detail::read_op<boost_sb::asio::basic_stream_socket<boost_sb::asio::ip::tcp,
boost_sb::asio::stream_socket_service<boost_sb::asio::ip::tcp> >,
boost_sb::asio::mutable_buffers_1, boost_sb::asio::detail::transfer_all_t,
boost_sb::_bi::bind_t<void, boost_sb::_mfi::mf3<void, Drill::DrillClientImpl,
unsigned char*, boost_sb::system::error_code const&, unsigned long>,
boost_sb::_bi::list4<boost_sb::_bi::value<Drill::DrillClientImpl*>,
boost_sb::_bi::value<unsigned char*>, boost_sb::arg<1> (*)(), boost_sb::arg<2>
(*)()> > >, boost_sb::system::error_code, unsigned long>,
boost_sb::_bi::bind_t<void, boost_sb::_mfi::mf3<void, Drill::DrillClientImpl,
unsigned char*, boost_sb::system::error_code const&, unsigned long>,
boost_sb::_bi::list4<boost_sb::_bi::value<Drill::DrillClientImpl*>,
boost_sb::_bi::value<unsigned char*>, boost_sb::arg<1> (*)(), boost_sb::arg<2>
(*)()> >
>(boost_sb::asio::detail::binder2<boost_sb::asio::detail::read_op<boost_sb::asio::basic_stream_socket<boost_sb::asio::ip::tcp,
boost_sb::asio::stream_socket_service<boost_sb::asio::ip::tcp> >,
boost_sb::asio::mutable_buffers_1, boost_sb::asio::detail::transfer_all_t,
boost_sb::_bi::bind_t<void, boost_sb::_mfi::mf3<void, Drill::DrillClientImpl,
unsigned char*, boost_sb::system::error_code const&, unsigned long>,
boost_sb::_bi::list4<boost_sb::_bi::value<Drill::DrillClientImpl*>,
boost_sb::_bi::value<unsigned char*>, boost_sb::arg<1> (*)(), boost_sb::arg<2>
(*)()> > >, boost_sb::system::error_code, unsigned long>&,
boost_sb::_bi::bind_t<void, boost_sb::_mfi::mf3<void, Drill::DrillClientImpl,
unsigned char*, boost_sb::system::error_code const&, unsigned long>,
boost_sb::_bi::list4<boost_sb::_bi::value<Drill::DrillClientImpl*>,
boost_sb::_bi::value<unsigned char*>, boost_sb::arg<1> (*)(), boost_sb::arg<2>
(*)()> >&)</fn>
<dir>/home/employee/Desktop/Rob/drill/P4ROOT/boost/boost_sb_157icu/release64/include/boost/asio/detail</dir>
<file>handler_invoke_helpers.hpp</file>
<line>37</line>
</frame>
</stack>
<auxwhat>Address 0x4fe6638 is 24 bytes inside a block of size 64
free'd</auxwhat>
-<stack>
-<frame>
<ip>0x4A06016</ip>
<obj>/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so</obj>
<fn>operator delete(void*)</fn>
<dir>/builddir/build/BUILD/valgrind-3.8.1/coregrind/m_replacemalloc</dir>
<file>vg_replace_malloc.c</file>
<line>480</line>
</frame>
-<frame>
<ip>0xD698A5D</ip>
<obj>/opt/mapr/drill/lib/64/libdrillClient.so</obj>
<fn>exec::user::GetCatalogsResp::~GetCatalogsResp()</fn>
<dir>/home/employee/Desktop/Rob/drill/drill-1.10.0.1/contrib/native/client/src/protobuf</dir>
<file>User.pb.cc</file>
<line>5419</line>
</frame>
-<frame>
<ip>0xD508919</ip>
<obj>/opt/mapr/drill/lib/64/libdrillClient.so</obj>
<fn>void
boost_sb::checked_delete<exec::user::GetCatalogsResp>(exec::user::GetCatalogsResp*)</fn>
<dir>/home/employee/Desktop/Rob/drill/P4ROOT/boost/boost_sb_157icu/release64/include/boost/core</dir>
<file>checked_delete.hpp</file>
<line>34</line>
</frame>
-<frame>
<ip>0xD50C541</ip>
<obj>/opt/mapr/drill/lib/64/libdrillClient.so</obj>
<fn>boost_sb::detail::sp_counted_impl_p<exec::user::GetCatalogsResp>::dispose()</fn>
<dir>/home/employee/Desktop/Rob/drill/P4ROOT/boost/boost_sb_157icu/release64/include/boost/smart_ptr/detail</dir>
<file>sp_counted_impl.hpp</file>
<line>78</line>
</frame>
-<frame>
<ip>0xD4B046D</ip>
<obj>/opt/mapr/drill/lib/64/libdrillClient.so</obj>
<fn>boost_sb::detail::sp_counted_base::release()</fn>
<dir>/home/employee/Desktop/Rob/drill/P4ROOT/boost/boost_sb_157icu/release64/include/boost/smart_ptr/detail</dir>
<file>sp_counted_base_gcc_x86.hpp</file>
<line>146</line>
</frame>
-<frame>
<ip>0xD4B04FC</ip>
<obj>/opt/mapr/drill/lib/64/libdrillClient.so</obj>
<fn>boost_sb::detail::shared_count::~shared_count()</fn>
<dir>/home/employee/Desktop/Rob/drill/P4ROOT/boost/boost_sb_157icu/release64/include/boost/smart_ptr/detail</dir>
<file>shared_count.hpp</file>
<line>443</line>
</frame>
-<frame>
<ip>0xD4E1A79</ip>
<obj>/opt/mapr/drill/lib/64/libdrillClient.so</obj>
<fn>boost_sb::shared_ptr<exec::user::GetCatalogsResp>::~shared_ptr()</fn>
<dir>/home/employee/Desktop/Rob/drill/P4ROOT/boost/boost_sb_157icu/release64/include/boost/smart_ptr</dir>
<file>shared_ptr.hpp</file>
<line>324</line>
</frame>
-<frame>
<ip>0xD4E1AAC</ip>
<obj>/opt/mapr/drill/lib/64/libdrillClient.so</obj>
<fn>Drill::DrillClientMetadataResult<Drill::status_t (*)(void*,
Drill::DrillCollection<Drill::meta::CatalogMetadata> const*,
Drill::DrillClientError*), Drill::meta::CatalogMetadata,
Drill::meta::DrillCatalogMetadata,
exec::user::GetCatalogsResp>::~DrillClientMetadataResult()</fn>
<dir>/home/employee/Desktop/Rob/drill/drill-1.10.0.1/contrib/native/client/src/clientlib</dir>
<file>drillClientImpl.hpp</file>
<line>324</line>
</frame>
-<frame>
<ip>0xD4E848F</ip>
<obj>/opt/mapr/drill/lib/64/libdrillClient.so</obj>
<fn>Drill::DrillClientCatalogResult::~DrillClientCatalogResult()</fn>
<dir>/home/employee/Desktop/Rob/drill/drill-1.10.0.1/contrib/native/client/src/clientlib</dir>
<file>drillClientImpl.hpp</file>
<line>343</line>
</frame>
-<frame>
<ip>0xD4E84BF</ip>
<obj>/opt/mapr/drill/lib/64/libdrillClient.so</obj>
<fn>Drill::DrillClientCatalogResult::~DrillClientCatalogResult()</fn>
<dir>/home/employee/Desktop/Rob/drill/drill-1.10.0.1/contrib/native/client/src/clientlib</dir>
<file>drillClientImpl.hpp</file>
<line>343</line>
</frame>
-<frame>
<ip>0xD4E2905</ip>
<obj>/opt/mapr/drill/lib/64/libdrillClient.so</obj>
<fn>Drill::DrillClientImpl::freeQueryResources(Drill::DrillClientQueryHandle*)</fn>
<dir>/home/employee/Desktop/Rob/drill/drill-1.10.0.1/contrib/native/client/src/clientlib</dir>
<file>drillClientImpl.hpp</file>
<line>451</line>
</frame>
-<frame>
<ip>0xD4AFA69</ip>
<obj>/opt/mapr/drill/lib/64/libdrillClient.so</obj>
<fn>Drill::DrillClient::freeQueryResources(void**)</fn>
<dir>/home/employee/Desktop/Rob/drill/drill-1.10.0.1/contrib/native/client/src/clientlib</dir>
<file>drillClient.cpp</file>
<line>482</line>
</frame>
</stack>
</error>
-<status>
<state>FINISHED</state>
<time>00:00:00:10.632 </time>
</status>
</valgrindoutput>
> Drill Client: Invalid read error when logger is turned on
> ---------------------------------------------------------
>
> Key: DRILL-5441
> URL: https://issues.apache.org/jira/browse/DRILL-5441
> Project: Apache Drill
> Issue Type: Bug
> Components: Client - C++
> Affects Versions: 1.10.0
> Reporter: Rob Wu
> Priority: Minor
>
> The memory access issue only occurs when the log level for the drill client
> is set to DEBUG or above. By turning off or down the log level, the issue is
> no longer observed.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)