Project

General

Profile

Bug #23899

run cmd 'ceph daemon osd.0 smart' cause osd daemon Segmentation fault

Added by cory gu about 1 year ago. Updated about 1 year ago.

Status:
Resolved
Priority:
High
Assignee:
Category:
-
Target version:
-
Start date:
04/27/2018
Due date:
% Done:

0%

Source:
Tags:
Backport:
mimic
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Component(RADOS):
OSD
Pull request ID:

Description

2018-04-27 09:44:51.572 7fb787a05700 -1 osd.0 57 smartctl output is:
2018-04-27 09:44:51.576 7fb787a05700 -1 ** Caught signal (Segmentation fault) *
in thread 7fb787a05700 thread_name:admin_socket

ceph version 13.0.2-1742-g27e91a9 (27e91a99f59b055ba32fd240a7f9ea1c014991fc) mimic (dev)
1: (()+0x8e99e0) [0x7fb796f529e0]
2: (()+0xf5e0) [0x7fb78b05e5e0]
3: (()+0x165921) [0x7fb78a1b7921]
4: (OSD::probe_smart_device(char const*, int, std::string*)+0x2f9) [0x7fb796a05539]
5: (OSD::probe_smart(std::ostream&)+0x1ad) [0x7fb796a3516d]
6: (OSD::asok_command(std::basic_string_view<char, std::char_traits<char> >, std::map<std::string, boost::variant<std::string, bool, long, double, std::vector<std::string, std::allocator<std::string> >, std::vector<long, std::allocator
<long> >, std::vector<double, std::allocator<double> > >, std::less<void>, std::allocator<std::pair<std::string const, boost::variant<std::string, bool, long, double, std::vector<std::string, std::allocator<std::string> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> > > > > > const&, std::basic_string_view<char, std::char_traits<char> >, std::ostream&)+0x1abe) [0x7fb796a3fb1e] 7: (OSDSocketHook::call(std::basic_string_view<char, std::char_traits<char> >, std::map<std::string, boost::variant<std::string, bool, long, double, std::vector<std::string, std::allocator<std::string> >, std::vector<long, std::allocat
or<long> >, std::vector<double, std::allocator<double> > >, std::less<void>, std::allocator<std::pair<std::string const, boost::variant<std::string, bool, long, double, std::vector<std::string, std::allocator<std::string> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> > > > > > const&, std::basic_string_view<char, std::char_traits<char> >, ceph::buffer::list&)+0x89) [0x7fb796a8a5a9] 8: (AdminSocket::do_accept()+0xff0) [0x7fb78da68f50]
9: (AdminSocket::entry()+0x228) [0x7fb78da6a5c8]
10: (()+0x6a825f) [0x7fb78deac25f]
11: (()+0x7e25) [0x7fb78b056e25]
12: (clone()+0x6d) [0x7fb78a14a34d]
NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this.

Related issues

Copied to RADOS - Backport #24104: mimic: run cmd 'ceph daemon osd.0 smart' cause osd daemon Segmentation fault Resolved

History

#1 Updated by cory gu about 1 year ago

root cause is sometimes output.read_fd() could return 0 length data.
ret = output.read_fd(smartctl.get_stdout(), 100*1024);

#2 Updated by Greg Farnum about 1 year ago

  • Project changed from Ceph to RADOS
  • Category deleted (OSD)
  • Component(RADOS) OSD added

#3 Updated by Josh Durgin about 1 year ago

  • Priority changed from Normal to High

#4 Updated by Kefu Chai about 1 year ago

  • Status changed from New to Need Review
  • Assignee set to cory gu

#5 Updated by Kefu Chai about 1 year ago

  • Status changed from Need Review to Resolved

#6 Updated by Kefu Chai about 1 year ago

  • Status changed from Resolved to Pending Backport
  • Backport set to mimic

#7 Updated by Kefu Chai about 1 year ago

  • Copied to Backport #24104: mimic: run cmd 'ceph daemon osd.0 smart' cause osd daemon Segmentation fault added

#8 Updated by Nathan Cutler about 1 year ago

  • Status changed from Pending Backport to Resolved

Also available in: Atom PDF