Bug 1157192

Summary: rados_shutdown crashes in ~HeartbeatMap ~RWLock
Product: [Fedora] Fedora Reporter: Pete Zaitcev <zaitcev>
Component: cephAssignee: Boris Ranto <branto>
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 21CC: branto, david, fedora, steve
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-10-31 02:13:09 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
test3.cc
none
Makefile (for convenience) none

Description Pete Zaitcev 2014-10-26 00:50:19 UTC
Created attachment 950730 [details]
test3.cc

Description of problem:

Attached test program crashes.

Version-Release number of selected component (if applicable):

ceph-0.80.7-1.fc21.x86_64
librados2-0.80.7-1.fc21.x86_64

How reproducible:

appears 100%

Steps to Reproduce:
1. yum install librados2-devel
2. build attached program test3
3. su
4. ./test3

Actual results:

crash

(gdb) where
#0  0x00007ffff53a0153 in pthread_rwlock_unlock () from /lib64/libpthread.so.0
#1  0x00007ffff70fdc52 in ~RWLock (this=0x6072f8, __in_chrg=<optimized out>)
    at common/RWLock.h:39
#2  ceph::HeartbeatMap::~HeartbeatMap (this=0x6072f0,
    __in_chrg=<optimized out>) at common/HeartbeatMap.cc:39
#3  0x00007ffff70eb3c3 in CephContext::~CephContext (this=0x604350,
    __in_chrg=<optimized out>) at common/ceph_context.cc:320
#4  0x00007ffff702a0a2 in put (this=0x604350) at ./common/ceph_context.h:67
#5  librados::RadosClient::~RadosClient (this=0x609460,
    __in_chrg=<optimized out>) at librados/RadosClient.cc:345
#6  0x00007ffff702a2b9 in librados::RadosClient::~RadosClient (this=0x609460,
    __in_chrg=<optimized out>) at librados/RadosClient.cc:349
#7  0x00007ffff70083a6 in rados_shutdown (cluster=0x609460)
    at librados/librados.cc:1902
#8  0x0000000000400b49 in main ()

Expected results:

no crash

Additional info:

Works on Fedora 20 perfectly, regression in F21. Working Ceph version
is librados2-0.80.6-3.fc20.x86_64.

Comment 1 Pete Zaitcev 2014-10-26 00:51:05 UTC
Created attachment 950731 [details]
Makefile (for convenience)

Comment 2 Boris Ranto 2014-10-31 02:13:09 UTC
Interestingly, this did not work in fedora 21 with 0.80.5 (nor .6) release. For details, see bz1144794 which this appears to be a duplicate of (I did not get further in the debugging process just yet).

btw: No need to reproduce with a custom program, simple 'rados df' shall suffice.

*** This bug has been marked as a duplicate of bug 1144794 ***