Project

General

Profile

Actions

Bug #6175

closed

rgw: valgrind: invalid reads in copy_obj

Added by Sage Weil over 10 years ago. Updated over 10 years ago.

Status:
Resolved
Priority:
Urgent
Assignee:
Target version:
-
% Done:

0%

Source:
Q/A
Tags:
Backport:
dumpling
Regression:
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

  <kind>InvalidRead</kind>
  <what>Invalid read of size 1</what>
  <stack>
    <frame>
      <ip>0x4C2BFB4</ip>
      <obj>/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so</obj>
      <fn>strlen</fn>
    </frame>
    <frame>
      <ip>0x6EDF5CF</ip>
      <obj>/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16</obj>
      <fn>std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;::basic_string(char const*, std::allocator&lt;char&gt; const&amp;)</fn>
    </frame>
    <frame>
      <ip>0x51C9041</ip>
      <obj>/usr/lib/librados.so.2.0.0</obj>
      <fn>JSONParser::parse(char const*, int)</fn>
      <dir>/srv/autobuild-ceph/gitbuilder.git/build/out~/ceph-0.67-421-g56ff410/src/common</dir>
      <file>ceph_json.cc</file>
      <line>225</line>
    </frame>
    <frame>
      <ip>0x502AD6</ip>
      <obj>/usr/bin/radosgw</obj>
      <fn>RGWRados::copy_obj(void*, std::string const&amp;, std::string const&amp;, std::string const&amp;, req_info*, std::string const&amp;, rgw_obj&amp;, rgw_obj&amp;, RGWBucketInfo&amp;, RGWBucketInfo&amp;, long*, long const*, long const*, char const*, char const*, bool, std::map&lt;std::string, ceph::buffer::l
ist, std::less&lt;std::string&gt;, std::allocator&lt;std::pair&lt;std::string const, ceph::buffer::list&gt; &gt; &gt;&amp;, RGWObjCategory, std::string*, rgw_err*, void (*)(long, void*), void*)</fn>
      <dir>/srv/autobuild-ceph/gitbuilder.git/build/out~/ceph-0.67-421-g56ff410/src/rgw</dir>
      <file>rgw_rados.cc</file>
      <line>2606</line>
    </frame>
    <frame>
      <ip>0x5202C5</ip>
      <obj>/usr/bin/radosgw</obj>
      <fn>RGWCopyObj::execute()</fn>
      <dir>/srv/autobuild-ceph/gitbuilder.git/build/out~/ceph-0.67-421-g56ff410/src/rgw</dir>
      <file>rgw_op.cc</file>
      <line>1712</line>
    </frame>
    <frame>
      <ip>0x4A58A6</ip>
      <obj>/usr/bin/radosgw</obj>
      <fn>RGWProcess::handle_request(RGWRequest*)</fn>
      <dir>/srv/autobuild-ceph/gitbuilder.git/build/out~/ceph-0.67-421-g56ff410/src/rgw</dir>
      <file>rgw_main.cc</file>
      <line>389</line>
    </frame>
    <frame>
      <ip>0x4A7685</ip>
      <obj>/usr/bin/radosgw</obj>
      <fn>RGWProcess::RGWWQ::_process(RGWRequest*)</fn>
      <dir>/srv/autobuild-ceph/gitbuilder.git/build/out~/ceph-0.67-421-g56ff410/src/rgw</dir>
      <file>rgw_main.cc</file>
      <line>165</line>
    </frame>
    <frame>
      <ip>0x5043F75</ip>
      <obj>/usr/lib/librados.so.2.0.0</obj>
      <fn>ThreadPool::worker(ThreadPool::WorkThread*)</fn>
      <dir>/srv/autobuild-ceph/gitbuilder.git/build/out~/ceph-0.67-421-g56ff410/src/common</dir>
      <file>WorkQueue.cc</file>
      <line>125</line>
    </frame>
    <frame>
      <ip>0x5045D8F</ip>
      <obj>/usr/lib/librados.so.2.0.0</obj>
      <fn>ThreadPool::WorkThread::entry()</fn>
      <dir>/srv/autobuild-ceph/gitbuilder.git/build/out~/ceph-0.67-421-g56ff410/src/common</dir>
      <file>WorkQueue.h</file>
      <line>317</line>
    </frame>
    <frame>
      <ip>0x6117E99</ip>
      <obj>/lib/x86_64-linux-gnu/libpthread-2.15.so</obj>
      <fn>start_thread</fn>
      <dir>/build/buildd/eglibc-2.15/nptl</dir>
      <file>pthread_create.c</file>
      <line>308</line>
    </frame>

and

<error>
  <unique>0xf6a35</unique>
  <tid>29</tid>
  <kind>InvalidRead</kind>
  <what>Invalid read of size 1</what>
  <stack>
    <frame>
      <ip>0x4C2D0E1</ip>
      <obj>/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so</obj>
      <fn>memcpy@@GLIBC_2.14</fn>
    </frame>
    <frame>
      <ip>0x6EDF4AF</ip>
      <obj>/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16</obj>
      <fn>char* std::string::_S_construct&lt;char const*&gt;(char const*, char const*, std::allocator&lt;char&gt; const&amp;, std::forward_iterator_tag)</fn>
    </frame>
    <frame>
      <ip>0x6EDF5E2</ip>
      <obj>/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16</obj>
      <fn>std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;::basic_string(char const*, std::allocator&lt;char&gt; const&amp;)</fn>
    </frame>
    <frame>
      <ip>0x51C9041</ip>
      <obj>/usr/lib/librados.so.2.0.0</obj>
      <fn>JSONParser::parse(char const*, int)</fn>
      <dir>/srv/autobuild-ceph/gitbuilder.git/build/out~/ceph-0.67-421-g56ff410/src/common</dir>
      <file>ceph_json.cc</file>
      <line>225</line>
    </frame>
    <frame>
      <ip>0x502AD6</ip>
      <obj>/usr/bin/radosgw</obj>
      <fn>RGWRados::copy_obj(void*, std::string const&amp;, std::string const&amp;, std::string const&amp;, req_info*, std::string const&amp;, rgw_obj&amp;, rgw_obj&amp;, RGWBucketInfo&amp;, RGWBucketInfo&amp;, long*, long const*, long const*, char const*, char const*, bool, std::map&lt;std::string, ceph::buffer::list, std::less&lt;std::string&gt;, std::allocator&lt;std::pair&lt;std::string const, ceph::buffer::list&gt; &gt; &gt;&amp;, RGWObjCategory, std::string*, rgw_err*, void (*)(long, void*), void*)</fn>
      <dir>/srv/autobuild-ceph/gitbuilder.git/build/out~/ceph-0.67-421-g56ff410/src/rgw</dir>
      <file>rgw_rados.cc</file>
      <line>2606</line>
    </frame>
    <frame>
      <ip>0x5202C5</ip>
      <obj>/usr/bin/radosgw</obj>
      <fn>RGWCopyObj::execute()</fn>
      <dir>/srv/autobuild-ceph/gitbuilder.git/build/out~/ceph-0.67-421-g56ff410/src/rgw</dir>
      <file>rgw_op.cc</file>
      <line>1712</line>
    </frame>
    <frame>
      <ip>0x4A58A6</ip>
      <obj>/usr/bin/radosgw</obj>
      <fn>RGWProcess::handle_request(RGWRequest*)</fn>
      <dir>/srv/autobuild-ceph/gitbuilder.git/build/out~/ceph-0.67-421-g56ff410/src/rgw</dir>
      <file>rgw_main.cc</file>
      <line>389</line>
    </frame>
    <frame>
      <ip>0x4A7685</ip>
      <obj>/usr/bin/radosgw</obj>
      <fn>RGWProcess::RGWWQ::_process(RGWRequest*)</fn>
      <dir>/srv/autobuild-ceph/gitbuilder.git/build/out~/ceph-0.67-421-g56ff410/src/rgw</dir>
      <file>rgw_main.cc</file>
      <line>165</line>
    </frame>
...
Actions #1

Updated by Ian Colle over 10 years ago

  • Assignee set to Yehuda Sadeh
Actions #2

Updated by Yehuda Sadeh over 10 years ago

  • Status changed from New to Fix Under Review
  • Assignee changed from Yehuda Sadeh to Josh Durgin
Actions #3

Updated by Yehuda Sadeh over 10 years ago

  • Backport set to dumpling
Actions #4

Updated by Yehuda Sadeh over 10 years ago

  • Status changed from Fix Under Review to Pending Backport
Actions #5

Updated by Yehuda Sadeh over 10 years ago

  • Status changed from Pending Backport to Resolved

pushed fix, backported to dumpling. Also needed to push a second fix (#6340).

Actions

Also available in: Atom PDF