Project

General

Profile

Bug #59490

valgrind: UninitCondition error in RGWHandler_REST::allocate_formatter()

Added by Casey Bodley 11 months ago. Updated 11 months ago.

Status:
Pending Backport
Priority:
Urgent
Assignee:
Target version:
-
% Done:

0%

Source:
Tags:
valgrind backport_processed
Backport:
reef
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

3 failures in https://pulpito.ceph.com/cbodley-2023-04-18_15:15:51-rgw-wip-59269-distro-default-smithi/, all on ubuntu 20.04

ex http://qa-proxy.ceph.com/teuthology/cbodley-2023-04-18_15:15:51-rgw-wip-59269-distro-default-smithi/7245101/teuthology.log

<error>
  <unique>0x1</unique>
  <tid>102</tid>
  <kind>UninitCondition</kind>
  <what>Conditional jump or move depends on uninitialised value(s)</what>
  <stack>
    <frame>
      <ip>0xA577BD</ip>
      <obj>/usr/bin/radosgw</obj>
      <fn>RGWHandler_REST::allocate_formatter(req_state*, RGWFormat, bool)</fn>
    </frame>
    <frame>
      <ip>0xA88108</ip>
      <obj>/usr/bin/radosgw</obj>
      <fn>RGWHandler_REST_S3::init_from_header(rgw::sal::Driver*, req_state*, RGWFormat, bool)</fn>
    </frame>
    <frame>
      <ip>0xAA55A1</ip>
      <obj>/usr/bin/radosgw</obj>
      <fn>RGWRESTMgr_S3::get_handler(rgw::sal::Driver*, req_state*, rgw::auth::StrategyRegistry const&amp;, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;)</fn>
    </frame>
    <frame>
      <ip>0xA6221C</ip>
      <obj>/usr/bin/radosgw</obj>
      <fn>RGWREST::get_handler(rgw::sal::Driver*, req_state*, rgw::auth::StrategyRegistry const&amp;, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, RGWRestfulIO*, RGWRESTMgr**, int*)</fn>
    </frame>
    <frame>
      <ip>0x81CA41</ip>
      <obj>/usr/bin/radosgw</obj>
      <fn>process_request(RGWProcessEnv const&amp;, RGWRequest*, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, RGWRestfulIO*, optional_yield, rgw::dmclock::Scheduler*, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;*, std::chrono::duration&lt;unsigned long, std::ratio&lt;1l, 1000000000l&gt; &gt;*, int*)</fn>
    </frame>
    <frame>
      <ip>0x75BD47</ip>
      <obj>/usr/bin/radosgw</obj>
    </frame>

Related issues

Copied to rgw - Backport #61219: reef: valgrind: UninitCondition error in RGWHandler_REST::allocate_formatter() Resolved

History

#1 Updated by Casey Bodley 11 months ago

  • Assignee set to Casey Bodley

#2 Updated by Casey Bodley 11 months ago

a valgrind report with debuginfo enabled:

<error>
  <unique>0x1</unique>
  <tid>109</tid>
  <kind>UninitCondition</kind>
  <what>Conditional jump or move depends on uninitialised value(s)</what>
  <stack>
    <frame>
      <ip>0xA5A1BD</ip>
      <obj>/usr/bin/radosgw</obj>
      <fn>RGWHandler_REST::allocate_formatter(req_state*, RGWFormat, bool)</fn>
      <dir>./obj-x86_64-linux-gnu/src/rgw/./src/rgw</dir>
      <file>rgw_rest.cc</file>
      <line>1736</line>
    </frame>
    <frame>
      <ip>0xA8AA58</ip>
      <obj>/usr/bin/radosgw</obj>
      <fn>RGWHandler_REST_S3::init_from_header(rgw::sal::Driver*, req_state*, RGWFormat, bool)</fn>
      <dir>./obj-x86_64-linux-gnu/src/rgw/./src/rgw</dir>
      <file>rgw_rest_s3.cc</file>
      <line>4795</line>
    </frame>
    <frame>
      <ip>0xAA7F61</ip>
      <obj>/usr/bin/radosgw</obj>
      <fn>RGWRESTMgr_S3::get_handler(rgw::sal::Driver*, req_state*, rgw::auth::StrategyRegistry const&amp;, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;)</fn>
      <dir>./obj-x86_64-linux-gnu/src/rgw/./src/rgw</dir>
      <file>rgw_rest_s3.cc</file>
      <line>5162</line>
    </frame>

https://github.com/ceph/ceph/blob/fb28670387326ed3faf2b9cefac018ca68093364/src/rgw/rgw_rest.cc#L1736

        if ((strcmp(format_buf, "text/xml") == 0) || (strcmp(format_buf, "application/xml") == 0)) {

#3 Updated by Casey Bodley 11 months ago

  • Status changed from New to Fix Under Review
  • Tags set to valgrind
  • Backport set to reef
  • Pull request ID set to 51513

testing https://github.com/ceph/ceph/pull/51513 as a candidate fix

#4 Updated by Casey Bodley 11 months ago

  • Status changed from Fix Under Review to Pending Backport

#5 Updated by Backport Bot 11 months ago

  • Copied to Backport #61219: reef: valgrind: UninitCondition error in RGWHandler_REST::allocate_formatter() added

#6 Updated by Backport Bot 11 months ago

  • Tags changed from valgrind to valgrind backport_processed

Also available in: Atom PDF