Uploaded image for project: 'MariaDB MaxScale'
  1. MariaDB MaxScale
  2. MXS-5263

Valgrind reports read from uninitialized GWBUF for ccrfilter

    XMLWordPrintable

Details

    Description

      Valgrind reports the following when the ccrfilter_test system test is run:

      Sep 13 16:17:01 maxscale valgrind[209035]: 2024-09-13 16:17:01   info   : (3) Started RW-Split-Router client session [3] for 'skysql' from 192.168.122.1 on 'Worker-02'
      Sep 13 16:17:01 maxscale valgrind[209035]: ==209035== Thread 13:
      Sep 13 16:17:01 maxscale valgrind[209035]: ==209035== Conditional jump or move depends on uninitialised value(s)
      Sep 13 16:17:01 maxscale valgrind[209035]: ==209035==    at 0x40693E2: ???
      Sep 13 16:17:01 maxscale valgrind[209035]: ==209035==    by 0x17525194: ???
      Sep 13 16:17:01 maxscale valgrind[209035]: ==209035==  Uninitialised value was created by a heap allocation
      Sep 13 16:17:01 maxscale valgrind[209035]: ==209035==    at 0x4C3B0B3: operator new[](unsigned long) (vg_replace_malloc.c:725)
      Sep 13 16:17:01 maxscale valgrind[209035]: ==209035==    by 0x5799956: SHARED_BUF::SHARED_BUF(unsigned long) (buffer.cc:302)
      Sep 13 16:17:01 maxscale valgrind[209035]: ==209035==    by 0x579C1EA: void __gnu_cxx::new_allocator<SHARED_BUF>::construct<SHARED_BUF, unsigned long&>(SHARED_BUF*, unsigned long&) (new_allocator.h:136)
      Sep 13 16:17:01 maxscale valgrind[209035]: ==209035==    by 0x579C0C9: void std::allocator_traits<std::allocator<SHARED_BUF> >::construct<SHARED_BUF, unsigned long&>(std::allocator<SHARED_BUF>&, SHARED_BUF*, unsigned long&) (alloc_traits.h:475)
      Sep 13 16:17:01 maxscale valgrind[209035]: ==209035==    by 0x579BE80: std::_Sp_counted_ptr_inplace<SHARED_BUF, std::allocator<SHARED_BUF>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<unsigned long&>(std::allocator<SHARED_BUF>, unsigned long&) (shared_ptr_base.h:545)
      Sep 13 16:17:01 maxscale valgrind[209035]: ==209035==    by 0x579B9FA: std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<SHARED_BUF, std::allocator<SHARED_BUF>, unsigned long&>(SHARED_BUF*&, std::_Sp_alloc_shared_tag<std::allocator<SHARED_BUF> >, unsigned long&) (shared_ptr_base.h:677)
      Sep 13 16:17:01 maxscale valgrind[209035]: ==209035==    by 0x579B735: std::__shared_ptr<SHARED_BUF, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<SHARED_BUF>, unsigned long&>(std::_Sp_alloc_shared_tag<std::allocator<SHARED_BUF> >, unsigned long&) (shared_ptr_base.h:1342)
      Sep 13 16:17:01 maxscale valgrind[209035]: ==209035==    by 0x579B2C4: std::shared_ptr<SHARED_BUF>::shared_ptr<std::allocator<SHARED_BUF>, unsigned long&>(std::_Sp_alloc_shared_tag<std::allocator<SHARED_BUF> >, unsigned long&) (shared_ptr.h:359)
      Sep 13 16:17:01 maxscale valgrind[209035]: ==209035==    by 0x579ABF6: std::shared_ptr<SHARED_BUF> std::allocate_shared<SHARED_BUF, std::allocator<SHARED_BUF>, unsigned long&>(std::allocator<SHARED_BUF> const&, unsigned long&) (shared_ptr.h:708)
      Sep 13 16:17:01 maxscale valgrind[209035]: ==209035==    by 0x579A438: std::shared_ptr<SHARED_BUF> std::make_shared<SHARED_BUF, unsigned long&>(unsigned long&) (shared_ptr.h:724)
      Sep 13 16:17:01 maxscale valgrind[209035]: ==209035==    by 0x5798E08: GWBUF::prepare_to_write(unsigned long)::{lambda(unsigned long)#1}::operator()(unsigned long) const (buffer.cc:119)
      Sep 13 16:17:01 maxscale valgrind[209035]: ==209035==    by 0x5798FF9: GWBUF::prepare_to_write(unsigned long) (buffer.cc:150)
      Sep 13 16:17:01 maxscale valgrind[209035]: ==209035==    by 0x58485C2: DCB::socket_read(unsigned long, DCB::ReadLimit) (dcb.cc:380)
      Sep 13 16:17:01 maxscale valgrind[209035]: ==209035==    by 0x5848047: DCB::read_impl(unsigned long, unsigned long, DCB::ReadLimit) (dcb.cc:254)
      Sep 13 16:17:01 maxscale valgrind[209035]: ==209035==    by 0x5847C65: DCB::read(unsigned long, unsigned long) (dcb.cc:219)
      Sep 13 16:17:01 maxscale valgrind[209035]: ==209035==    by 0x5A8AEAA: mariadb::read_protocol_packet(DCB*) (mariadb_common.cc:496)
      Sep 13 16:17:01 maxscale valgrind[209035]: ==209035==    by 0x5A7657A: MariaDBClientConnection::read_protocol_packet() (mariadb_client.cc:3431)
      Sep 13 16:17:01 maxscale valgrind[209035]: ==209035==    by 0x5A6D5D7: MariaDBClientConnection::process_normal_read() (mariadb_client.cc:1549)
      Sep 13 16:17:01 maxscale valgrind[209035]: ==209035==    by 0x5A6DDE1: MariaDBClientConnection::ready_for_reading(DCB*) (mariadb_client.cc:1701)
      Sep 13 16:17:01 maxscale valgrind[209035]: ==209035==    by 0x584B7F6: DCB::process_events(unsigned int) (dcb.cc:1332)
      Sep 13 16:17:01 maxscale valgrind[209035]: ==209035==    by 0x584BABE: DCB::event_handler(unsigned int) (dcb.cc:1381)
      Sep 13 16:17:01 maxscale valgrind[209035]: ==209035==    by 0x584BC4E: DCB::handle_poll_events(maxbase::Worker*, unsigned int, maxbase::Pollable::Context) (dcb.cc:1430)
      Sep 13 16:17:01 maxscale valgrind[209035]: ==209035==    by 0x5AFEEBD: maxbase::Worker::deliver_events(maxbase::Pollable*, unsigned int, maxbase::Pollable::Context) (worker.cc:1081)
      Sep 13 16:17:01 maxscale valgrind[209035]: ==209035==    by 0x5AFF5CE: maxbase::Worker::poll_waitevents() (worker.cc:1190)
      Sep 13 16:17:01 maxscale valgrind[209035]: ==209035==    by 0x5AFE260: maxbase::Worker::run(maxbase::Semaphore*) (worker.cc:870)
      Sep 13 16:17:01 maxscale valgrind[209035]: ==209035==    by 0x5AFEB3C: maxbase::Worker::thread_main(maxbase::Worker*, maxbase::Semaphore*) (worker.cc:998)
      Sep 13 16:17:01 maxscale valgrind[209035]: ==209035==    by 0x5B02749: void std::__invoke_impl<void, void (*)(maxbase::Worker*, maxbase::Semaphore*), maxbase::Worker*, maxbase::Semaphore*>(std::__invoke_other, void (*&&)(maxbase::Worker*, maxbase::Semaphore*), maxbase::Worker*&&, maxbase::Semaphore*&&) (invoke.h:60)
      Sep 13 16:17:01 maxscale valgrind[209035]: ==209035==    by 0x5B0181B: std::__invoke_result<void (*)(maxbase::Worker*, maxbase::Semaphore*), maxbase::Worker*, maxbase::Semaphore*>::type std::__invoke<void (*)(maxbase::Worker*, maxbase::Semaphore*), maxbase::Worker*, maxbase::Semaphore*>(void (*&&)(maxbase::Worker*, maxbase::Semaphore*), maxbase::Worker*&&, maxbase::Semaphore*&&) (invoke.h:95)
      Sep 13 16:17:01 maxscale valgrind[209035]: ==209035==    by 0x5B07A6E: decltype (__invoke((_S_declval<0ul>)(), (_S_declval<1ul>)(), (_S_declval<2ul>)())) std::thread::_Invoker<std::tuple<void (*)(maxbase::Worker*, maxbase::Semaphore*), maxbase::Worker*, maxbase::Semaphore*> >::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) (thread:244)
      Sep 13 16:17:01 maxscale valgrind[209035]: ==209035==    by 0x5B07A0D: std::thread::_Invoker<std::tuple<void (*)(maxbase::Worker*, maxbase::Semaphore*), maxbase::Worker*, maxbase::Semaphore*> >::operator()() (thread:253)
      Sep 13 16:17:01 maxscale valgrind[209035]: ==209035==    by 0x5B07987: std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(maxbase::Worker*, maxbase::Semaphore*), maxbase::Worker*, maxbase::Semaphore*> > >::_M_run() (thread:196)
      Sep 13 16:17:01 maxscale valgrind[209035]: ==209035==    by 0x86ACB22: execute_native_thread_routine (thread.cc:80)
      Sep 13 16:17:01 maxscale valgrind[209035]: ==209035==    by 0x789E1C9: start_thread (pthread_create.c:479)
      Sep 13 16:17:01 maxscale valgrind[209035]: ==209035==    by 0x9B768D2: clone (clone.S:95)
      

      Attachments

        Activity

          People

            markus makela markus makela
            markus makela markus makela
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Git Integration

                Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.