Bug #49164
closeds3select valgrind issues
0%
Description
valgrind output: http://qa-proxy.ceph.com/teuthology/cbodley-2021-02-04_00:42:08-rgw:verify-wip-cbodley-testing-distro-basic-gibba/5854965/remote/gibba006/log/valgrind/ceph.client.0.log.gz
teuthology log: http://qa-proxy.ceph.com/teuthology/cbodley-2021-02-04_00:42:08-rgw:verify-wip-cbodley-testing-distro-basic-gibba/5854965/teuthology.log
<error> <unique>0x0</unique> <tid>90</tid> <threadname>civetweb-worker</threadname> <kind>InvalidWrite</kind> <what>Invalid write of size 4</what> <stack> <frame> <ip>0x57C4956</ip> <obj>/usr/lib64/libradosgw.so.2.0.0</obj> <fn>RGWSelectObj_ObjStore_S3::encode_int(char*, unsigned int, int&)</fn> </frame> <frame> <ip>0x57C4EA8</ip> <obj>/usr/lib64/libradosgw.so.2.0.0</obj> <fn>RGWSelectObj_ObjStore_S3::create_message(char*, unsigned int, unsigned int)</fn> </frame> <frame> <ip>0x57F3188</ip> <obj>/usr/lib64/libradosgw.so.2.0.0</obj> <fn>RGWSelectObj_ObjStore_S3::run_s3select(char const*, char const*, unsigned long)</fn> </frame> <frame> <ip>0x57F469B</ip> <obj>/usr/lib64/libradosgw.so.2.0.0</obj> <fn>RGWSelectObj_ObjStore_S3::send_response_data(ceph::buffer::v15_2_0::list&, long, long)</fn> </frame> <frame> <ip>0x551FBF8</ip> <obj>/usr/lib64/libradosgw.so.2.0.0</obj> <fn>RGWGetObj_Decompress::handle_data(ceph::buffer::v15_2_0::list&, long, long)</fn> </frame> <frame> <ip>0x5754A9F</ip> <obj>/usr/lib64/libradosgw.so.2.0.0</obj> <fn>RGWRados::get_obj_iterate_cb(rgw_raw_obj const&, long, long, long, bool, RGWObjState*, void*)</fn> </frame> <frame> <ip>0x5754F87</ip> <obj>/usr/lib64/libradosgw.so.2.0.0</obj> </frame> <frame> <ip>0x5764DED</ip> <obj>/usr/lib64/libradosgw.so.2.0.0</obj> <fn>RGWRados::iterate_obj(DoutPrefixProvider const*, RGWObjectCtx&, RGWBucketInfo const&, rgw_obj const&, long, long, unsigned long, int (*)(rgw_raw_obj const&, long, long, long, bool, RGWObjState*, void*), void*, optional_yield)</fn> </frame> <frame> <ip>0x5769347</ip> <obj>/usr/lib64/libradosgw.so.2.0.0</obj> <fn>RGWRados::Object::Read::iterate(DoutPrefixProvider const*, long, long, RGWGetDataCB*, optional_yield)</fn> </frame> <frame> <ip>0x57035C8</ip> <obj>/usr/lib64/libradosgw.so.2.0.0</obj> <fn>RGWGetObj::execute(optional_yield)</fn> </frame> <frame> <ip>0x539C8C9</ip> <obj>/usr/lib64/libradosgw.so.2.0.0</obj> <fn>rgw_process_authenticated(RGWHandler_REST*, RGWOp*&, RGWRequest*, req_state*, optional_yield, bool)</fn> </frame> <frame> <ip>0x53A0040</ip> <obj>/usr/lib64/libradosgw.so.2.0.0</obj> <fn>process_request(rgw::sal::RGWRadosStore*, RGWREST*, RGWRequest*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, rgw::auth::StrategyRegistry const&, RGWRestfulIO*, OpsLogSocket*, optional_yield, rgw::dmclock::Scheduler*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, int*)</fn> </frame> <frame> <ip>0x52D680F</ip> <obj>/usr/lib64/libradosgw.so.2.0.0</obj> <fn>RGWCivetWebFrontend::process(mg_connection*)</fn> </frame> <frame> <ip>0x5465A45</ip> <obj>/usr/lib64/libradosgw.so.2.0.0</obj> </frame> <frame> <ip>0x54676B6</ip> <obj>/usr/lib64/libradosgw.so.2.0.0</obj> </frame> <frame> <ip>0x5467B77</ip> <obj>/usr/lib64/libradosgw.so.2.0.0</obj> </frame> <frame> <ip>0x102152DD</ip> <obj>/usr/lib64/libpthread-2.28.so</obj> <fn>start_thread</fn> </frame> <frame> <ip>0x11B46E82</ip> <obj>/usr/lib64/libc-2.28.so</obj> <fn>clone</fn> </frame> </stack> <auxwhat>Address 0x1fdf3d70 is 192 bytes inside a block of size 195 alloc'd</auxwhat> <stack> <frame> <ip>0x4C31586</ip> <obj>/usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so</obj> <fn>operator new(unsigned long)</fn> <dir>/builddir/build/BUILD/valgrind-3.16.0/coregrind/m_replacemalloc</dir> <file>vg_replace_malloc.c</file> <line>342</line> </frame> <frame> <ip>0x174B2C</ip> <obj>/usr/bin/radosgw</obj> <fn>std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_mutate(unsigned long, unsigned long, char const*, unsigned long)</fn> </frame> <frame> <ip>0x174CAA</ip> <obj>/usr/bin/radosgw</obj> <fn>std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_append(char const*, unsigned long)</fn> </frame> <frame> <ip>0x57F322D</ip> <obj>/usr/lib64/libradosgw.so.2.0.0</obj> <fn>RGWSelectObj_ObjStore_S3::run_s3select(char const*, char const*, unsigned long)</fn> </frame> <frame> <ip>0x57F469B</ip> <obj>/usr/lib64/libradosgw.so.2.0.0</obj> <fn>RGWSelectObj_ObjStore_S3::send_response_data(ceph::buffer::v15_2_0::list&, long, long)</fn> </frame> <frame> <ip>0x551FBF8</ip> <obj>/usr/lib64/libradosgw.so.2.0.0</obj> <fn>RGWGetObj_Decompress::handle_data(ceph::buffer::v15_2_0::list&, long, long)</fn> </frame> <frame> <ip>0x5754A9F</ip> <obj>/usr/lib64/libradosgw.so.2.0.0</obj> <fn>RGWRados::get_obj_iterate_cb(rgw_raw_obj const&, long, long, long, bool, RGWObjState*, void*)</fn> </frame> <frame> <ip>0x5754F87</ip> <obj>/usr/lib64/libradosgw.so.2.0.0</obj> </frame> <frame> <ip>0x5764DED</ip> <obj>/usr/lib64/libradosgw.so.2.0.0</obj> <fn>RGWRados::iterate_obj(DoutPrefixProvider const*, RGWObjectCtx&, RGWBucketInfo const&, rgw_obj const&, long, long, unsigned long, int (*)(rgw_raw_obj const&, long, long, long, bool, RGWObjState*, void*), void*, optional_yield)</fn> </frame> <frame> <ip>0x5769347</ip> <obj>/usr/lib64/libradosgw.so.2.0.0</obj> <fn>RGWRados::Object::Read::iterate(DoutPrefixProvider const*, long, long, RGWGetDataCB*, optional_yield)</fn> </frame> <frame> <ip>0x57035C8</ip> <obj>/usr/lib64/libradosgw.so.2.0.0</obj> <fn>RGWGetObj::execute(optional_yield)</fn> </frame> <frame> <ip>0x539C8C9</ip> <obj>/usr/lib64/libradosgw.so.2.0.0</obj> <fn>rgw_process_authenticated(RGWHandler_REST*, RGWOp*&, RGWRequest*, req_state*, optional_yield, bool)</fn> </frame> <frame> <ip>0x53A0040</ip> <obj>/usr/lib64/libradosgw.so.2.0.0</obj> <fn>process_request(rgw::sal::RGWRadosStore*, RGWREST*, RGWRequest*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, rgw::auth::StrategyRegistry const&, RGWRestfulIO*, OpsLogSocket*, optional_yield, rgw::dmclock::Scheduler*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, int*)</fn> </frame> <frame> <ip>0x52D680F</ip> <obj>/usr/lib64/libradosgw.so.2.0.0</obj> <fn>RGWCivetWebFrontend::process(mg_connection*)</fn> </frame> <frame> <ip>0x5465A45</ip> <obj>/usr/lib64/libradosgw.so.2.0.0</obj> </frame> <frame> <ip>0x54676B6</ip> <obj>/usr/lib64/libradosgw.so.2.0.0</obj> </frame> <frame> <ip>0x5467B77</ip> <obj>/usr/lib64/libradosgw.so.2.0.0</obj> </frame> <frame> <ip>0x102152DD</ip> <obj>/usr/lib64/libpthread-2.28.so</obj> <fn>start_thread</fn> </frame> <frame> <ip>0x11B46E82</ip> <obj>/usr/lib64/libc-2.28.so</obj> <fn>clone</fn> </frame> </stack> </error> <error> <unique>0x1</unique> <tid>90</tid> <threadname>civetweb-worker</threadname> <kind>InvalidRead</kind> <what>Invalid read of size 2</what> <stack> <frame> <ip>0x4C381F0</ip> <obj>/usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so</obj> <fn>memmove</fn> <dir>/builddir/build/BUILD/valgrind-3.16.0/memcheck/../shared</dir> <file>vg_replace_strmem.c</file> <line>1270</line> </frame> <frame> <ip>0x11247E07</ip> <obj>/usr/lib64/libstdc++.so.6.0.25</obj> <fn>std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long)</fn> </frame> <frame> <ip>0x6F15F3B</ip> <obj>/usr/lib64/ceph/libceph-common.so.2</obj> <fn>ceph::XMLFormatter::write_bin_data(char const*, int)</fn> </frame> <frame> <ip>0x57F31A2</ip> <obj>/usr/lib64/libradosgw.so.2.0.0</obj> <fn>RGWSelectObj_ObjStore_S3::run_s3select(char const*, char const*, unsigned long)</fn> </frame> <frame> <ip>0x57F469B</ip> <obj>/usr/lib64/libradosgw.so.2.0.0</obj> <fn>RGWSelectObj_ObjStore_S3::send_response_data(ceph::buffer::v15_2_0::list&, long, long)</fn> </frame> <frame> <ip>0x551FBF8</ip> <obj>/usr/lib64/libradosgw.so.2.0.0</obj> <fn>RGWGetObj_Decompress::handle_data(ceph::buffer::v15_2_0::list&, long, long)</fn> </frame> <frame> <ip>0x5754A9F</ip> <obj>/usr/lib64/libradosgw.so.2.0.0</obj> <fn>RGWRados::get_obj_iterate_cb(rgw_raw_obj const&, long, long, long, bool, RGWObjState*, void*)</fn> </frame> <frame> <ip>0x5754F87</ip> <obj>/usr/lib64/libradosgw.so.2.0.0</obj> </frame> <frame> <ip>0x5764DED</ip> <obj>/usr/lib64/libradosgw.so.2.0.0</obj> <fn>RGWRados::iterate_obj(DoutPrefixProvider const*, RGWObjectCtx&, RGWBucketInfo const&, rgw_obj const&, long, long, unsigned long, int (*)(rgw_raw_obj const&, long, long, long, bool, RGWObjState*, void*), void*, optional_yield)</fn> </frame> <frame> <ip>0x5769347</ip> <obj>/usr/lib64/libradosgw.so.2.0.0</obj> <fn>RGWRados::Object::Read::iterate(DoutPrefixProvider const*, long, long, RGWGetDataCB*, optional_yield)</fn> </frame> <frame> <ip>0x57035C8</ip> <obj>/usr/lib64/libradosgw.so.2.0.0</obj> <fn>RGWGetObj::execute(optional_yield)</fn> </frame> <frame> <ip>0x539C8C9</ip> <obj>/usr/lib64/libradosgw.so.2.0.0</obj> <fn>rgw_process_authenticated(RGWHandler_REST*, RGWOp*&, RGWRequest*, req_state*, optional_yield, bool)</fn> </frame> <frame> <ip>0x53A0040</ip> <obj>/usr/lib64/libradosgw.so.2.0.0</obj> <fn>process_request(rgw::sal::RGWRadosStore*, RGWREST*, RGWRequest*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, rgw::auth::StrategyRegistry const&, RGWRestfulIO*, OpsLogSocket*, optional_yield, rgw::dmclock::Scheduler*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, int*)</fn> </frame> <frame> <ip>0x52D680F</ip> <obj>/usr/lib64/libradosgw.so.2.0.0</obj> <fn>RGWCivetWebFrontend::process(mg_connection*)</fn> </frame> <frame> <ip>0x5465A45</ip> <obj>/usr/lib64/libradosgw.so.2.0.0</obj> </frame> <frame> <ip>0x54676B6</ip> <obj>/usr/lib64/libradosgw.so.2.0.0</obj> </frame> <frame> <ip>0x5467B77</ip> <obj>/usr/lib64/libradosgw.so.2.0.0</obj> </frame> <frame> <ip>0x102152DD</ip> <obj>/usr/lib64/libpthread-2.28.so</obj> <fn>start_thread</fn> </frame> <frame> <ip>0x11B46E82</ip> <obj>/usr/lib64/libc-2.28.so</obj> <fn>clone</fn> </frame> </stack> <auxwhat>Address 0x1fdf3d72 is 194 bytes inside a block of size 195 alloc'd</auxwhat> <stack> <frame> <ip>0x4C31586</ip> <obj>/usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so</obj> <fn>operator new(unsigned long)</fn> <dir>/builddir/build/BUILD/valgrind-3.16.0/coregrind/m_replacemalloc</dir> <file>vg_replace_malloc.c</file> <line>342</line> </frame> <frame> <ip>0x174B2C</ip> <obj>/usr/bin/radosgw</obj> <fn>std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_mutate(unsigned long, unsigned long, char const*, unsigned long)</fn> </frame> <frame> <ip>0x174CAA</ip> <obj>/usr/bin/radosgw</obj> <fn>std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_append(char const*, unsigned long)</fn> </frame> <frame> <ip>0x57F322D</ip> <obj>/usr/lib64/libradosgw.so.2.0.0</obj> <fn>RGWSelectObj_ObjStore_S3::run_s3select(char const*, char const*, unsigned long)</fn> </frame> <frame> <ip>0x57F469B</ip> <obj>/usr/lib64/libradosgw.so.2.0.0</obj> <fn>RGWSelectObj_ObjStore_S3::send_response_data(ceph::buffer::v15_2_0::list&, long, long)</fn> </frame> <frame> <ip>0x551FBF8</ip> <obj>/usr/lib64/libradosgw.so.2.0.0</obj> <fn>RGWGetObj_Decompress::handle_data(ceph::buffer::v15_2_0::list&, long, long)</fn> </frame> <frame> <ip>0x5754A9F</ip> <obj>/usr/lib64/libradosgw.so.2.0.0</obj> <fn>RGWRados::get_obj_iterate_cb(rgw_raw_obj const&, long, long, long, bool, RGWObjState*, void*)</fn> </frame> <frame> <ip>0x5754F87</ip> <obj>/usr/lib64/libradosgw.so.2.0.0</obj> </frame> <frame> <ip>0x5764DED</ip> <obj>/usr/lib64/libradosgw.so.2.0.0</obj> <fn>RGWRados::iterate_obj(DoutPrefixProvider const*, RGWObjectCtx&, RGWBucketInfo const&, rgw_obj const&, long, long, unsigned long, int (*)(rgw_raw_obj const&, long, long, long, bool, RGWObjState*, void*), void*, optional_yield)</fn> </frame> <frame> <ip>0x5769347</ip> <obj>/usr/lib64/libradosgw.so.2.0.0</obj> <fn>RGWRados::Object::Read::iterate(DoutPrefixProvider const*, long, long, RGWGetDataCB*, optional_yield)</fn> </frame> <frame> <ip>0x57035C8</ip> <obj>/usr/lib64/libradosgw.so.2.0.0</obj> <fn>RGWGetObj::execute(optional_yield)</fn> </frame> <frame> <ip>0x539C8C9</ip> <obj>/usr/lib64/libradosgw.so.2.0.0</obj> <fn>rgw_process_authenticated(RGWHandler_REST*, RGWOp*&, RGWRequest*, req_state*, optional_yield, bool)</fn> </frame> <frame> <ip>0x53A0040</ip> <obj>/usr/lib64/libradosgw.so.2.0.0</obj> <fn>process_request(rgw::sal::RGWRadosStore*, RGWREST*, RGWRequest*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, rgw::auth::StrategyRegistry const&, RGWRestfulIO*, OpsLogSocket*, optional_yield, rgw::dmclock::Scheduler*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, int*)</fn> </frame> <frame> <ip>0x52D680F</ip> <obj>/usr/lib64/libradosgw.so.2.0.0</obj> <fn>RGWCivetWebFrontend::process(mg_connection*)</fn> </frame> <frame> <ip>0x5465A45</ip> <obj>/usr/lib64/libradosgw.so.2.0.0</obj> </frame> <frame> <ip>0x54676B6</ip> <obj>/usr/lib64/libradosgw.so.2.0.0</obj> </frame> <frame> <ip>0x5467B77</ip> <obj>/usr/lib64/libradosgw.so.2.0.0</obj> </frame> <frame> <ip>0x102152DD</ip> <obj>/usr/lib64/libpthread-2.28.so</obj> <fn>start_thread</fn> </frame> <frame> <ip>0x11B46E82</ip> <obj>/usr/lib64/libc-2.28.so</obj> <fn>clone</fn> </frame> </stack> </error>
Updated by Casey Bodley about 3 years ago
- Status changed from New to Fix Under Review
- Pull request ID set to 39414
Updated by Gal Salomon about 3 years ago
- Pull request ID changed from 39414 to 39514
Casey Bodley wrote:
valgrind output: http://qa-proxy.ceph.com/teuthology/cbodley-2021-02-04_00:42:08-rgw:verify-wip-cbodley-testing-distro-basic-gibba/5854965/remote/gibba006/log/valgrind/ceph.client.0.log.gz
teuthology log: http://qa-proxy.ceph.com/teuthology/cbodley-2021-02-04_00:42:08-rgw:verify-wip-cbodley-testing-distro-basic-gibba/5854965/teuthology.log[...]
Updated by Casey Bodley about 3 years ago
- Status changed from Fix Under Review to Pending Backport
Updated by Backport Bot about 3 years ago
- Copied to Backport #49358: pacific: s3select valgrind issues added
Updated by Nathan Cutler about 3 years ago
- Status changed from Pending Backport to Resolved
While running with --resolve-parent, the script "backport-create-issue" noticed that all backports of this issue are in status "Resolved" or "Rejected".