Project

General

Profile

Bug #39599

common: segfault while parsing POD_MEMORY_REQUEST

Added by Ilya Lyubimov 6 months ago. Updated 4 months ago.

Status:
Resolved
Priority:
High
Category:
-
Target version:
Start date:
Due date:
% Done:

0%

Source:
Community (user)
Tags:
Backport:
nautilus
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature:

Description

Backtrace:

#0  strict_strtoll (str=..., base=base@entry=10, err=err@entry=0x0) at /usr/src/debug/ceph-14.2.1/src/common/strtol.cc:40
#1  0x0000555556238c6e in strict_iec_cast<unsigned long> (str=..., err=0x0) at /usr/src/debug/ceph-14.2.1/src/common/strtol.cc:189
#2  0x0000555556235c7f in strict_iecstrtoll (str=<optimized out>, err=<optimized out>) at /usr/src/debug/ceph-14.2.1/src/common/strtol.cc:226
#3  0x0000555556208309 in Option::parse_value (this=0x55555f9ca078, raw_val=..., out=<optimized out>, error_message=0x0, 
    normalized_value=<optimized out>) at /usr/src/debug/ceph-14.2.1/src/common/options.cc:192
#4  0x0000555556152c15 in md_config_t::_set_val (this=0x55555fbe4210, values=..., observers=..., raw_val=..., opt=..., level=<optimized out>, 
    error_message=0x0) at /usr/src/debug/ceph-14.2.1/src/common/config.cc:1298
#5  0x0000555556183d0b in md_config_t::parse_env (this=this@entry=0x55555fbe4210, entity_type=<optimized out>, entity_type@entry=4, values=..., 
    tracker=..., args_var=args_var@entry=0x555556879132 "CEPH_ARGS") at /usr/src/debug/ceph-14.2.1/src/common/config.cc:484
#6  0x00005555560c7fb2 in parse_env (env_var=0x555556879132 "CEPH_ARGS", entity_type=4, this=0x55555fbe2008)
    at /usr/src/debug/ceph-14.2.1/src/common/config_proxy.h:310
#7  global_pre_init (defaults=defaults@entry=0x7fffffffc260, args=std::vector of length 5, capacity 11 = {...}, module_type=module_type@entry=4, 
    code_env=code_env@entry=CODE_ENVIRONMENT_DAEMON, flags=flags@entry=0) at /usr/src/debug/ceph-14.2.1/src/global/global_init.cc:140
#8  0x00005555560c88ff in global_init (defaults=defaults@entry=0x7fffffffc260, args=std::vector of length 5, capacity 11 = {...}, 
    module_type=module_type@entry=4, code_env=code_env@entry=CODE_ENVIRONMENT_DAEMON, flags=flags@entry=0, 
    data_dir_option=0x5555567f6f1c "osd_data", run_pre_init=true) at /usr/src/debug/ceph-14.2.1/src/global/global_init.cc:185
#9  0x00005555559c3132 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/ceph-14.2.1/src/ceph_osd.cc:128

md_config_t::parse_env method passes nullptr as an err pointer, strict_strtoll function unconditionally sets an empty string to the pointed memory, then nullptr dereference occures.


Related issues

Copied to Ceph - Backport #40044: nautilus: common: segfault while parsing POD_MEMORY_REQUEST Resolved

History

#1 Updated by Patrick Donnelly 5 months ago

  • Subject changed from Segfault while parsing POD_MEMORY_REQUEST to common: segfault while parsing POD_MEMORY_REQUEST
  • Assignee set to Patrick Donnelly
  • Priority changed from Normal to High
  • Target version set to v15.0.0
  • Start date deleted (05/06/2019)
  • Backport set to nautilus

#2 Updated by Patrick Donnelly 5 months ago

  • Status changed from New to Need Review
  • Source set to Community (user)
  • Pull request ID set to 28159

#3 Updated by Kefu Chai 5 months ago

  • Status changed from Need Review to Pending Backport

#4 Updated by Nathan Cutler 5 months ago

  • Copied to Backport #40044: nautilus: common: segfault while parsing POD_MEMORY_REQUEST added

#5 Updated by Nathan Cutler 4 months ago

  • Status changed from Pending Backport to Resolved

Also available in: Atom PDF