Project

General

Profile

Actions

Bug #23170

closed

librgw crash when processing request in 12.2.3

Added by Tao CHEN about 6 years ago. Updated about 6 years ago.

Status:
Duplicate
Priority:
High
Assignee:
Target version:
-
% Done:

0%

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

Description

I'm using librgw with new Ceph release 12.2.3, librgw will always get unexpected crush when it is processing a request, the following is the bug trace:

#0 0x00007f17afddd1f7 in raise () from /lib64/libc.so.6
#1 0x00007f17afdde8e8 in abort () from /lib64/libc.so.6
#2 0x00007f17aea9dac5 in _gnu_cxx::_verbose_terminate_handler() () from /lib64/libstdc++.so.6
#3 0x00007f17aea9ba36 in ?? () from /lib64/libstdc++.so.6
#4 0x00007f17aea9ba63 in std::terminate() () from /lib64/libstdc++.so.6
#5 0x00007f17aea9bc83 in _cxa_throw () from /lib64/libstdc++.so.6
#6 0x00007f17aeaf07d7 in std::
_throw_logic_error(char const*) () from /lib64/libstdc++.so.6
#7 0x00007f17aeafc601 in char* std::string::_S_construct<char const*>(char const*, char const*, std::allocator<char> const&, std::forward_iterator_tag) () from /lib64/libstdc++.so.6
#8 0x00007f17aeafc9b8 in std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) () from /lib64/libstdc++.so.6
#9 0x00007f1795714013 in rgw_log_op (store=0x7f17a8f51a90, rest=rest@entry=0x0, s=s@entry=0x7f17b09a72f0, op_name="stat_bucket",
olog=olog@entry=0x0) at /dist/github/ceph/src/rgw/rgw_log.cc:360
#10 0x00007f179568bd33 in rgw::RGWLibProcess::process_request (this=this@entry=0x7f17a9087d20, req=req@entry=0x7f17b09a7d50,
io=io@entry=0x7f17b09a7ab0) at /dist/github/ceph/src/rgw/librgw.cc:320
#11 0x00007f179568ca16 in rgw::RGWLibProcess::process_request (this=0x7f17a9087d20, req=req@entry=0x7f17b09a7d50)
at /dist/github/ceph/src/rgw/librgw.cc:166
#12 0x00007f17956981ab in execute_req (this=<optimized out>, req=0x7f17b09a7d50) at /dist/github/ceph/src/rgw/rgw_lib_frontend.h:100
#13 rgw::RGWLibFS::stat_bucket (this=this@entry=0x7f17a908b600, parent=parent@entry=0x7f17a908b620, path=path@entry=0x7f17a909d648 "bucket1",
bs=..., flags=flags@entry=0) at /dist/github/ceph/src/rgw/rgw_file.cc:77
#14 0x00007f1795699a52 in rgw_lookup (rgw_fs=<optimized out>, parent_fh=<optimized out>, path=<optimized out>, fh=0x7f17b09a8220,
flags=<optimized out>) at /dist/github/ceph/src/rgw/rgw_file.cc:1798

The main cause is in src/rgw/rgw_log.cc:360 :

std::string uri(s->info.env->get("REQUEST_METHOD"));

It seems "REQUEST_METHOD" is not initialized in librgw, neither do "HTTP_VERSION", "REQUEST_URI", "SCRIPT_URI", "SERVER_PORT", "REMOTE_ADDR". So I think we should initialized them before processing request in librgw


Related issues 1 (0 open1 closed)

Copied to rgw - Backport #23319: luminous: librgw crash when processing request in 12.2.3DuplicatePrashant DActions
Actions #1

Updated by Tao CHEN about 6 years ago

Actions #2

Updated by John Spray about 6 years ago

  • Project changed from Ceph to rgw
Actions #4

Updated by Chang Liu about 6 years ago

  • Subject changed from librgw crush when processing request in 12.2.3 to librgw crash when processing request in 12.2.3
Actions #5

Updated by Yehuda Sadeh about 6 years ago

  • Assignee set to Matt Benjamin
  • Priority changed from Normal to High
Actions #6

Updated by Matt Benjamin about 6 years ago

  • Status changed from New to Pending Backport
Actions #7

Updated by Nathan Cutler about 6 years ago

  • Backport set to luminous
Actions #8

Updated by Nathan Cutler about 6 years ago

  • Copied to Backport #23319: luminous: librgw crash when processing request in 12.2.3 added
Actions #9

Updated by Abhishek Lekshmanan about 6 years ago

  • Status changed from Pending Backport to Duplicate
Actions

Also available in: Atom PDF