Actions
Bug #10633
closedosd: assert in lock in C_CopyFrom
% 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
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