Project

General

Profile

Bug #14060

TestMockObjectMapResizeRequest.UpdateHeadOnDisk librbd/Journal.cc: 652: FAILED assert(m_image_ctx.image_watcher->is_lock_owner())

Added by Loic Dachary about 3 years ago. Updated about 3 years ago.

Status:
Resolved
Priority:
Normal
Target version:
-
Start date:
12/11/2015
Due date:
% Done:

0%

Source:
other
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:

Description

First seen at https://github.com/ceph/ceph/pull/6892 which was merged without a clean run from the bot.

http://jenkins.ceph.dachary.org/job/ceph/LABELS=centos-7&&x86_64/10064/console

[ RUN      ] TestMockObjectMapResizeRequest.UpdateHeadOnDisk
librbd/Journal.cc: In function 'void librbd::Journal::handle_event_safe(int, uint64_t)' thread 7ff7934d0700 time 2015-12-11 01:17:42.781942
librbd/Journal.cc: 652: FAILED assert(m_image_ctx.image_watcher->is_lock_owner())
 ceph version 9.2.0-1462-g17e6729 (17e6729545dbbce2bd2990e772045213c3c4feb2)
 1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x8b) [0x7ff7ae5e7d0b]
 2: (librbd::Journal::handle_event_safe(int, unsigned long)+0x601) [0x7ff7ae4d1621]
 3: (Context::complete(int)+0x9) [0x7ff7ae334909]
 4: (journal::FutureImpl::finish_unlock()+0x72) [0x7ff7ae51fc52]
 5: (journal::ObjectRecorder::handle_append_flushed(unsigned long, int)+0x19f) [0x7ff7ae53a45f]
 6: (journal::ObjectRecorder::C_AppendFlush::finish(int)+0x13) [0x7ff7ae53c273]
 7: (Context::complete(int)+0x9) [0x7ff7ae334909]
 8: (()+0x47ccec) [0x7ff7ae55fcec]
 9: (FunctionContext::finish(int)+0x1a) [0x7ff7ae33ab2a]
 10: (Context::complete(int)+0x9) [0x7ff7ae334909]
 11: (Finisher::finisher_thread_entry()+0x206) [0x7ff7ae5c84c6]
 12: (()+0x7dc5) [0x7ff7ad32bdc5]
 13: (clone()+0x6d) [0x7ff7ac42d21d]
 NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this.
terminate called after throwing an instance of 'ceph::FailedAssertion'
./test/run-rbd-unit-tests.sh: line 10:  6404 Aborted                 (core dumped) RBD_FEATURES=$i unittest_librbd

Related issues

Duplicated by rbd - Bug #14064: TestMockObjectMapSnapshotCreateRequest.ReadMapError librbd/Journal.cc: 710: FAILED assert(m_events.empty()) Duplicate 12/11/2015

Associated revisions

Revision 3e6c9903 (diff)
Added by Jason Dillaman about 3 years ago

librbd: fix test case race condition for maintenance requests

Fixes: #14060
Signed-off-by: Jason Dillaman <>

Revision 664903fb (diff)
Added by Jason Dillaman about 3 years ago

journal: avoid race between flush request and in-flight flushes

Previously, if the journal object was empty, a flush request could
complete instantly even if there is an in-flight 'record safe'
callback.

Fixes: #14060
Signed-off-by: Jason Dillaman <>

History

#1 Updated by Loic Dachary about 3 years ago

  • Description updated (diff)

#2 Updated by Loic Dachary about 3 years ago

I'll append links to failures when I see more.

#3 Updated by Loic Dachary about 3 years ago

  • Related to Bug #14064: TestMockObjectMapSnapshotCreateRequest.ReadMapError librbd/Journal.cc: 710: FAILED assert(m_events.empty()) added

#4 Updated by Loic Dachary about 3 years ago

  • Related to deleted (Bug #14064: TestMockObjectMapSnapshotCreateRequest.ReadMapError librbd/Journal.cc: 710: FAILED assert(m_events.empty()))

#5 Updated by Loic Dachary about 3 years ago

  • Duplicated by Bug #14064: TestMockObjectMapSnapshotCreateRequest.ReadMapError librbd/Journal.cc: 710: FAILED assert(m_events.empty()) added

#6 Updated by Loic Dachary about 3 years ago

http://jenkins.ceph.dachary.org/job/ceph/LABELS=centos-7&&x86_64/10114/console

[ RUN      ] TestMockOperationSnapshotCreateRequest.CreateSnapStale
./common/RWLock.h: In function 'virtual RWLock::~RWLock()' thread 7fb30d0576c0 time 2015-12-13 08:17:07.143954
./common/RWLock.h: 58: FAILED assert(!is_locked())
 ceph version 9.2.0-1517-g417a6d9 (417a6d93de7f6f96ed36916428b619f98df5d80b)
 1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x8b) [0x7fb30d571d1b]
 2: (()+0x286d8a) [0x7fb30d2f3d8a]
 3: (librbd::MockImageCtx::~MockImageCtx()+0x2ca) [0x7fb30d2fcdaa]
 4: (librbd::operation::TestMockOperationSnapshotCreateRequest_CreateSnapStale_Test::TestBody()+0x2bb) [0x7fb30d2f264b]
 5: (void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*)+0x65) [0x7fb30d5478c2]
 6: (void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*)+0x4b) [0x7fb30d542a66]
 7: (testing::Test::Run()+0xd5) [0x7fb30d52a1ab]
 8: (testing::TestInfo::Run()+0x108) [0x7fb30d52a9a4]
 9: (testing::TestCase::Run()+0xf4) [0x7fb30d52b068]
 10: (testing::internal::UnitTestImpl::RunAllTests()+0x298) [0x7fb30d531b30]
 11: (bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*)+0x65) [0x7fb30d548ca8]
 12: (bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*)+0x4b) [0x7fb30d5438b6]
 13: (testing::UnitTest::Run()+0xb4) [0x7fb30d530700]
 14: (main()+0xee) [0x7fb30d2b771e]
 15: (__libc_start_main()+0xf5) [0x7fb30b2e2b15]
 16: (()+0x250afd) [0x7fb30d2bdafd]
 NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this.
terminate called after throwing an instance of 'ceph::FailedAssertion'
./test/run-rbd-unit-tests.sh: line 10: 14648 Aborted                 (core dumped) RBD_FEATURES=$i unittest_librbd

#7 Updated by Loic Dachary about 3 years ago

http://jenkins.ceph.dachary.org/job/ceph/LABELS=centos-7&&x86_64/10124/console

[----------] 6 tests from TestMockOperationSnapshotRemoveRequest
[ RUN      ] TestMockOperationSnapshotRemoveRequest.Success
./common/RWLock.h: In function 'virtual RWLock::~RWLock()' thread 7f8b927936c0 time 2015-12-14 01:26:36.305422
./common/RWLock.h: 58: FAILED assert(!is_locked())
 ceph version 9.2.0-1521-g8d74662 (8d7466238123a5eb522429fc9897c548f5e6abe5)
 1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x8b) [0x7f8b92cadd1b]
 2: (()+0x286d8a) [0x7f8b92a2fd8a]
 3: (librbd::MockImageCtx::~MockImageCtx()+0x2fa) [0x7f8b92a38dda]
 4: (librbd::operation::TestMockOperationSnapshotRemoveRequest_Success_Test::TestBody()+0x3d0) [0x7f8b92a55900]
 5: (void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*)+0x65) [0x7f8b92c838c2]
 6: (void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*)+0x4b) [0x7f8b92c7ea66]
 7: (testing::Test::Run()+0xd5) [0x7f8b92c661ab]
 8: (testing::TestInfo::Run()+0x108) [0x7f8b92c669a4]
 9: (testing::TestCase::Run()+0xf4) [0x7f8b92c67068]
 10: (testing::internal::UnitTestImpl::RunAllTests()+0x298) [0x7f8b92c6db30]
 11: (bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*)+0x65) [0x7f8b92c84ca8]
 12: (bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*)+0x4b) [0x7f8b92c7f8b6]
 13: (testing::UnitTest::Run()+0xb4) [0x7f8b92c6c700]
 14: (main()+0xee) [0x7f8b929f371e]
 15: (__libc_start_main()+0xf5) [0x7f8b90a1eb15]
 16: (()+0x250afd) [0x7f8b929f9afd]
 NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this.
terminate called after throwing an instance of 'ceph::FailedAssertion'
./test/run-rbd-unit-tests.sh: line 10: 11896 Aborted                 (core dumped) RBD_FEATURES=$i unittest_librbd

#8 Updated by Loic Dachary about 3 years ago

http://jenkins.ceph.dachary.org/job/ceph/LABELS=centos-7&&x86_64/10127/console

read: 80
read: 80
write to snapshot returned -30
(30) Read-only file system
librbd/ImageWatcher.cc: In function 'int librbd::ImageWatcher::try_lock()' thread 7f85f9eb4700 time 2015-12-14 02:40:42.905299
librbd/ImageWatcher.cc: 167: FAILED assert(is_lock_supported())
 ceph version 9.2.0-1525-g6a4ff9f (6a4ff9ff75a5cb9a8104299ac2176b70f6547092)
 1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x8b) [0x7f860a7b7d0b]
 2: (librbd::ImageWatcher::try_lock()+0x6c0) [0x7f860a66d720]
 3: (librbd::ImageWatcher::try_request_lock()+0x140) [0x7f860a66da30]
 4: (librbd::ImageWatcher::notify_request_lock()+0x80) [0x7f860a672510]
 5: (FunctionContext::finish(int)+0x1a) [0x7f860a5099ba]
 6: (Context::complete(int)+0x9) [0x7f860a503799]
 7: (Context::complete(int)+0x9) [0x7f860a503799]
 8: (Finisher::finisher_thread_entry()+0x206) [0x7f860a7984c6]
 9: (()+0x7dc5) [0x7f86094fadc5]
 10: (clone()+0x6d) [0x7f86085fc21d]
 NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this.
terminate called after throwing an instance of 'ceph::FailedAssertion'
./test/run-rbd-unit-tests.sh: line 10:  7368 Aborted                 (core dumped) RBD_FEATURES=$i unittest_librbd

#9 Updated by Jason Dillaman about 3 years ago

  • Status changed from New to In Progress

#10 Updated by Jason Dillaman about 3 years ago

  • Status changed from In Progress to Need Review

#11 Updated by Jason Dillaman about 3 years ago

  • Status changed from Need Review to Resolved

Also available in: Atom PDF