Project

General

Profile

Actions

Bug #15332

closed

tests: race in unittest_librbd during make check

Added by Josh Durgin about 8 years ago. Updated about 8 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
-
Target version:
-
% Done:

0%

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

Description

This doesn't reproduce locally, so I'm assuming it's a race (maybe related to real daemons used by 'make check'?

https://jenkins.ceph.com/job/ceph-pull-requests/3797/console

Looks lie this is the RBD_FEATURES=0 case:

[ RUN      ] TestMockImageRefreshRequest.SuccessV1
test/librbd/image/test_mock_RefreshRequest.cc:286: Failure
Value of: open_image(m_image_name, &ictx)
  Actual: -38
Expected: 0
librbd/AioImageRequestWQ.cc: In function 'void librbd::AioImageRequestWQ::shut_down(Context*)' thread 7f3cb7379540 time 2016-03-30 21:05:58.767897
librbd/AioImageRequestWQ.cc: 212: FAILED assert(!m_shutdown)
 ceph version 10.1.0-345-g8dfc7e5 (8dfc7e59603b9a99242950bf661a3e98897d386e)
 1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x8b) [0x7f3cb7b564eb]
 2: (librbd::AioImageRequestWQ::shut_down(Context*)+0x394) [0x7f3cb79e2f94]
 3: (librbd::image::CloseRequest<librbd::ImageCtx>::send_shut_down_aio_queue()+0xcd) [0x7f3cb7a3f24d]
 4: (librbd::image::CloseRequest<librbd::ImageCtx>::send_unregister_image_watcher()+0x1cd) [0x7f3cb7a3f64d]
 5: (librbd::ImageState<librbd::ImageCtx>::send_close_unlock()+0xae) [0x7f3cb79ff00e]
 6: (librbd::ImageState<librbd::ImageCtx>::close(Context*)+0xa4) [0x7f3cb7a007f4]
 7: (librbd::ImageState<librbd::ImageCtx>::close()+0xd2) [0x7f3cb7a00a82]
 8: (TestFixture::TearDown()+0x30) [0x7f3cb78f6bd0]
 9: (TestMockFixture::TearDown()+0x9) [0x7f3cb7769ec9]
 10: (void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*)+0x65) [0x7f3cb7b2a094]
 11: (void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*)+0x4b) [0x7f3cb7b25238]
 12: (testing::Test::Run()+0x11e) [0x7f3cb7b0ca3c]
 13: (testing::TestInfo::Run()+0x108) [0x7f3cb7b0d1ec]
 14: (testing::TestCase::Run()+0xf4) [0x7f3cb7b0d8b0]
 15: (testing::internal::UnitTestImpl::RunAllTests()+0x298) [0x7f3cb7b14378]
 16: (bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*)+0x65) [0x7f3cb7b2b47a]
 17: (bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*)+0x4b) [0x7f3cb7b26088]
 18: (testing::UnitTest::Run()+0xb4) [0x7f3cb7b12f48]
 19: (main()+0xf3) [0x7f3cb775ecb3]
 20: (__libc_start_main()+0xf5) [0x7f3cabab8b15]
 21: (()+0x3d3a0d) [0x7f3cb7769a0d]
 NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this.
./test/run-rbd-unit-tests.sh: line 9: 23346 Aborted                 unittest_librbd
Actions #1

Updated by Jason Dillaman about 8 years ago

ENOSYS on image open -- must have been an issue opening the cls shared libraries. Notice that it fails on the first test case (which is when the shared libraries would be dlopen'ed). The crash is because the image is already closed (due to the open error) when it is closed again.

Actions #2

Updated by Jason Dillaman about 8 years ago

D'oh -- librados_test_stub needs the new cls methods.

Actions #3

Updated by Josh Durgin about 8 years ago

Ah of course. Guess my partial recompile wasn't complete enough.

Actions #4

Updated by Jason Dillaman about 8 years ago

  • Status changed from New to Fix Under Review
Actions #5

Updated by Josh Durgin about 8 years ago

  • Status changed from Fix Under Review to Resolved
Actions

Also available in: Atom PDF