Project

General

Profile

Bug #15332

tests: race in unittest_librbd during make check

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

Status:
Resolved
Priority:
Normal
Assignee:
-
Target version:
-
Start date:
03/30/2016
Due date:
% Done:

0%

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

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

History

#1 Updated by Jason Dillaman about 3 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.

#2 Updated by Jason Dillaman about 3 years ago

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

#3 Updated by Josh Durgin about 3 years ago

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

#4 Updated by Jason Dillaman about 3 years ago

  • Status changed from New to Need Review

#5 Updated by Josh Durgin about 3 years ago

  • Status changed from Need Review to Resolved

Also available in: Atom PDF