Project

General

Profile

Actions

Bug #10633

closed

osd: assert in lock in C_CopyFrom

Added by Sage Weil over 9 years ago. Updated about 9 years ago.

Status:
Resolved
Priority:
Urgent
Assignee:
Category:
-
Target version:
-
% Done:

0%

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

Description

  -222> 2015-01-23 19:37:39.538797 7f0a32827700 -1 common/Mutex.cc: In function 'void Mutex::Lock(bool)' thread 7f0a32827700 time 2015-01-23 19:37:39.536147
common/Mutex.cc: 95: FAILED assert(r == 0)

 ceph version 0.91-716-gb782030 (b782030e872254f2175196f966863a26b20f7296)
 1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x8b) [0xbb93ab]
 2: (Mutex::Lock(bool)+0x105) [0xb6a0d5]
 3: (PG::lock(bool)+0x20) [0x7be1c0]
 4: (C_Copyfrom::finish(int)+0x28) [0x8e6f48]
 5: (Context::complete(int)+0x9) [0x6c8d69]
 6: (Finisher::finisher_thread_entry()+0x1a0) [0xae6400]
 7: (()+0x8182) [0x7f0a550b3182]
 8: (clone()+0x6d) [0x7f0a5361efbd]
 NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this.

ubuntu@teuthology:/a/samuelj-2015-01-23_06:57:45-rados-master-wip-testing-vanilla-fixes-basic-multi/719585
Actions #1

Updated by Samuel Just about 9 years ago

  • Subject changed from osd: use-after-free from C_CopyFrom to osd: assert in lock in C_CopyFrom
  • Status changed from New to 7
  • Assignee set to Samuel Just

I think it's not a use after free, but rather a recursive lock error. We tend to do a promote just after we do a proxy read. C_ProxyRead has a bug where if !(prdop->canceled) after we take the lock, we do not release the lock. Shortly, we run the callback for the corresponding copy, which attempts to take the lock and crashes.

Actions #2

Updated by Samuel Just about 9 years ago

  • Status changed from 7 to Resolved
Actions

Also available in: Atom PDF