You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Rob Wu (JIRA)" <ji...@apache.org> on 2017/04/18 20:57:42 UTC

[jira] [Commented] (DRILL-5441) Drill Client: Invalid read error when logger is turned on

    [ 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)