Project

General

Profile

Bug #38013

librgw: unexpected crash when creating bucket

Added by Tao CHEN about 1 year ago. Updated 10 months ago.

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

0%

Source:
Tags:
rgw
Backport:
nautilus
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature:

Description

I run librgw unintest and librgw crashed when creating bucket:

./bin/ceph_test_librgw_file_aw --access=user1 --secret=user1 --create

[==========] Running 12 tests from 1 test case.
[----------] Global test environment set-up.
[----------] 12 tests from LibRGW
[ RUN      ] LibRGW.INIT
2019-01-23 01:43:30.854 7fc94a8a0a00 -1 WARNING: all dangerous and experimental features are enabled.
2019-01-23 01:43:30.904 7fc94a8a0a00 -1 WARNING: all dangerous and experimental features are enabled.
2019-01-23 01:43:30.934 7fc94a8a0a00 -1 WARNING: all dangerous and experimental features are enabled.
[       OK ] LibRGW.INIT (609 ms)
[ RUN      ] LibRGW.MOUNT
[       OK ] LibRGW.MOUNT (9 ms)
[ RUN      ] LibRGW.CREATE_BUCKET
*** Caught signal (Segmentation fault) **
 in thread 7fc94a8a0a00 thread_name:ceph_test_librg
 ceph version ccdc79 (0ccdc799384801faa728d5429e82b522ee3b618b) nautilus (dev)
 1: (()+0xf307ce) [0x7fc94a0a37ce]
 2: (()+0xf5d0) [0x7fc93e8b65d0]
 3: (RGWSysObjectCtx::get_obj(rgw_raw_obj const&)+0x27) [0x7fc949b22b95]
 4: (rgw_get_system_obj(RGWRados*, RGWSysObjectCtx&, rgw_pool const&, std::string const&, ceph::buffer::list&, RGWObjVersionTracker*, std::chrono::time_point<ceph::time_detail::real_clock, std::chrono::duration<unsigned long, std::ratio<1l, 1000000000l> > >*, std::map<std::string, ceph::buffer::list, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::list> > >*, rgw_cache_entry_info*, boost::optional<obj_version>)+0x124) [0x7fc949d8b348]
 5: (RGWRados::get_bucket_entrypoint_info(RGWSysObjectCtx&, std::string const&, std::string const&, RGWBucketEntryPoint&, RGWObjVersionTracker*, std::chrono::time_point<ceph::time_detail::real_clock, std::chrono::duration<unsigned long, std::ratio<1l, 1000000000l> > >*, std::map<std::string, ceph::buffer::list, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::list> > >*, rgw_cache_entry_info*, boost::optional<obj_version>)+0x121) [0x7fc949d14933]
 6: (RGWRados::_get_bucket_info(RGWSysObjectCtx&, std::string const&, std::string const&, RGWBucketInfo&, std::chrono::time_point<ceph::time_detail::real_clock, std::chrono::duration<unsigned long, std::ratio<1l, 1000000000l> > >*, std::map<std::string, ceph::buffer::list, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::list> > >*, boost::optional<obj_version>)+0x3ce) [0x7fc949d1568a]
 7: (RGWRados::get_bucket_info(RGWSysObjectCtx&, std::string const&, std::string const&, RGWBucketInfo&, std::chrono::time_point<ceph::time_detail::real_clock, std::chrono::duration<unsigned long, std::ratio<1l, 1000000000l> > >*, std::map<std::string, ceph::buffer::list, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::list> > >*)+0x76) [0x7fc949d1610c]
 8: (RGWCreateBucket::execute()+0xa08) [0x7fc949c7d24a]
 9: (rgw::RGWLibProcess::process_request(rgw::RGWLibRequest*, rgw::RGWLibIO*)+0x19aa) [0x7fc949a72112]
 10: (rgw::RGWLibProcess::process_request(rgw::RGWLibRequest*)+0x58) [0x7fc949a6ff30]
 11: (rgw::RGWLibFrontend::execute_req(rgw::RGWLibRequest*)+0x27) [0x7fc949ac0999]
 12: (rgw::RGWLibFS::mkdir(rgw::RGWFileHandle*, char const*, stat*, unsigned int, unsigned int)+0x523) [0x7fc949aa38fb]
 13: (rgw_mkdir()+0x81) [0x7fc949aab138]
 14: (LibRGW_CREATE_BUCKET_Test::TestBody()+0xa2) [0x5581b6b13f2c]
 15: (void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*)+0x65) [0x5581b6b4b0a7]
 16: (void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*)+0x5a) [0x5581b6b44781]
 17: (testing::Test::Run()+0xd2) [0x5581b6b28a84]
 18: (testing::TestInfo::Run()+0x104) [0x5581b6b2935a]
 19: (testing::TestCase::Run()+0x107) [0x5581b6b299f3]
 20: (testing::internal::UnitTestImpl::RunAllTests()+0x2d2) [0x5581b6b304d8]
 21: (bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*)+0x65) [0x5581b6b4c297]
 22: (bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*)+0x5a) [0x5581b6b4584d]
 23: (testing::UnitTest::Run()+0xc9) [0x5581b6b2f0cf]
 24: (RUN_ALL_TESTS()+0x11) [0x5581b6b17f5a]
 25: (main()+0x440) [0x5581b6b15b00]
 26: (__libc_start_main()+0xf5) [0x7fc93b0f03d5]
 27: (()+0x5e0f9) [0x5581b6b130f9]
2019-01-23 01:43:31.441 7fc94a8a0a00 -1 *** Caught signal (Segmentation fault) **
 in thread 7fc94a8a0a00 thread_name:ceph_test_librg

 ceph version ccdc79 (0ccdc799384801faa728d5429e82b522ee3b618b) nautilus (dev)
 1: (()+0xf307ce) [0x7fc94a0a37ce]
 2: (()+0xf5d0) [0x7fc93e8b65d0]
 3: (RGWSysObjectCtx::get_obj(rgw_raw_obj const&)+0x27) [0x7fc949b22b95]
 4: (rgw_get_system_obj(RGWRados*, RGWSysObjectCtx&, rgw_pool const&, std::string const&, ceph::buffer::list&, RGWObjVersionTracker*, std::chrono::time_point<ceph::time_detail::real_clock, std::chrono::duration<unsigned long, std::ratio<1l, 1000000000l> > >*, std::map<std::string, ceph::buffer::list, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::list> > >*, rgw_cache_entry_info*, boost::optional<obj_version>)+0x124) [0x7fc949d8b348]
 5: (RGWRados::get_bucket_entrypoint_info(RGWSysObjectCtx&, std::string const&, std::string const&, RGWBucketEntryPoint&, RGWObjVersionTracker*, std::chrono::time_point<ceph::time_detail::real_clock, std::chrono::duration<unsigned long, std::ratio<1l, 1000000000l> > >*, std::map<std::string, ceph::buffer::list, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::list> > >*, rgw_cache_entry_info*, boost::optional<obj_version>)+0x121) [0x7fc949d14933]
 6: (RGWRados::_get_bucket_info(RGWSysObjectCtx&, std::string const&, std::string const&, RGWBucketInfo&, std::chrono::time_point<ceph::time_detail::real_clock, std::chrono::duration<unsigned long, std::ratio<1l, 1000000000l> > >*, std::map<std::string, ceph::buffer::list, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::list> > >*, boost::optional<obj_version>)+0x3ce) [0x7fc949d1568a]
 7: (RGWRados::get_bucket_info(RGWSysObjectCtx&, std::string const&, std::string const&, RGWBucketInfo&, std::chrono::time_point<ceph::time_detail::real_clock, std::chrono::duration<unsigned long, std::ratio<1l, 1000000000l> > >*, std::map<std::string, ceph::buffer::list, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::list> > >*)+0x76) [0x7fc949d1610c]
 8: (RGWCreateBucket::execute()+0xa08) [0x7fc949c7d24a]
 9: (rgw::RGWLibProcess::process_request(rgw::RGWLibRequest*, rgw::RGWLibIO*)+0x19aa) [0x7fc949a72112]
 10: (rgw::RGWLibProcess::process_request(rgw::RGWLibRequest*)+0x58) [0x7fc949a6ff30]
 11: (rgw::RGWLibFrontend::execute_req(rgw::RGWLibRequest*)+0x27) [0x7fc949ac0999]
 12: (rgw::RGWLibFS::mkdir(rgw::RGWFileHandle*, char const*, stat*, unsigned int, unsigned int)+0x523) [0x7fc949aa38fb]
 13: (rgw_mkdir()+0x81) [0x7fc949aab138]
 14: (LibRGW_CREATE_BUCKET_Test::TestBody()+0xa2) [0x5581b6b13f2c]
 15: (void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*)+0x65) [0x5581b6b4b0a7]
 16: (void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*)+0x5a) [0x5581b6b44781]
 17: (testing::Test::Run()+0xd2) [0x5581b6b28a84]
 18: (testing::TestInfo::Run()+0x104) [0x5581b6b2935a]
 19: (testing::TestCase::Run()+0x107) [0x5581b6b299f3]
 20: (testing::internal::UnitTestImpl::RunAllTests()+0x2d2) [0x5581b6b304d8]
 21: (bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*)+0x65) [0x5581b6b4c297]
 22: (bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*)+0x5a) [0x5581b6b4584d]
 23: (testing::UnitTest::Run()+0xc9) [0x5581b6b2f0cf]
 24: (RUN_ALL_TESTS()+0x11) [0x5581b6b17f5a]
 25: (main()+0x440) [0x5581b6b15b00]
 26: (__libc_start_main()+0xf5) [0x7fc93b0f03d5]
 27: (()+0x5e0f9) [0x5581b6b130f9]
 NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this.

 -1536> 2019-01-23 01:43:30.854 7fc94a8a0a00 -1 WARNING: all dangerous and experimental features are enabled.
 -1425> 2019-01-23 01:43:30.904 7fc94a8a0a00 -1 WARNING: all dangerous and experimental features are enabled.
 -1417> 2019-01-23 01:43:30.934 7fc94a8a0a00 -1 WARNING: all dangerous and experimental features are enabled.
     0> 2019-01-23 01:43:31.441 7fc94a8a0a00 -1 *** Caught signal (Segmentation fault) **
 in thread 7fc94a8a0a00 thread_name:ceph_test_librg

 ceph version ccdc79 (0ccdc799384801faa728d5429e82b522ee3b618b) nautilus (dev)
 1: (()+0xf307ce) [0x7fc94a0a37ce]
 2: (()+0xf5d0) [0x7fc93e8b65d0]
 3: (RGWSysObjectCtx::get_obj(rgw_raw_obj const&)+0x27) [0x7fc949b22b95]
 4: (rgw_get_system_obj(RGWRados*, RGWSysObjectCtx&, rgw_pool const&, std::string const&, ceph::buffer::list&, RGWObjVersionTracker*, std::chrono::time_point<ceph::time_detail::real_clock, std::chrono::duration<unsigned long, std::ratio<1l, 1000000000l> > >*, std::map<std::string, ceph::buffer::list, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::list> > >*, rgw_cache_entry_info*, boost::optional<obj_version>)+0x124) [0x7fc949d8b348]
 5: (RGWRados::get_bucket_entrypoint_info(RGWSysObjectCtx&, std::string const&, std::string const&, RGWBucketEntryPoint&, RGWObjVersionTracker*, std::chrono::time_point<ceph::time_detail::real_clock, std::chrono::duration<unsigned long, std::ratio<1l, 1000000000l> > >*, std::map<std::string, ceph::buffer::list, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::list> > >*, rgw_cache_entry_info*, boost::optional<obj_version>)+0x121) [0x7fc949d14933]
 6: (RGWRados::_get_bucket_info(RGWSysObjectCtx&, std::string const&, std::string const&, RGWBucketInfo&, std::chrono::time_point<ceph::time_detail::real_clock, std::chrono::duration<unsigned long, std::ratio<1l, 1000000000l> > >*, std::map<std::string, ceph::buffer::list, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::list> > >*, boost::optional<obj_version>)+0x3ce) [0x7fc949d1568a]
 7: (RGWRados::get_bucket_info(RGWSysObjectCtx&, std::string const&, std::string const&, RGWBucketInfo&, std::chrono::time_point<ceph::time_detail::real_clock, std::chrono::duration<unsigned long, std::ratio<1l, 1000000000l> > >*, std::map<std::string, ceph::buffer::list, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::list> > >*)+0x76) [0x7fc949d1610c]
 8: (RGWCreateBucket::execute()+0xa08) [0x7fc949c7d24a]
 9: (rgw::RGWLibProcess::process_request(rgw::RGWLibRequest*, rgw::RGWLibIO*)+0x19aa) [0x7fc949a72112]
 10: (rgw::RGWLibProcess::process_request(rgw::RGWLibRequest*)+0x58) [0x7fc949a6ff30]
 11: (rgw::RGWLibFrontend::execute_req(rgw::RGWLibRequest*)+0x27) [0x7fc949ac0999]
 12: (rgw::RGWLibFS::mkdir(rgw::RGWFileHandle*, char const*, stat*, unsigned int, unsigned int)+0x523) [0x7fc949aa38fb]
 13: (rgw_mkdir()+0x81) [0x7fc949aab138]
 14: (LibRGW_CREATE_BUCKET_Test::TestBody()+0xa2) [0x5581b6b13f2c]
 15: (void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*)+0x65) [0x5581b6b4b0a7]
 16: (void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*)+0x5a) [0x5581b6b44781]
 17: (testing::Test::Run()+0xd2) [0x5581b6b28a84]
 18: (testing::TestInfo::Run()+0x104) [0x5581b6b2935a]
 19: (testing::TestCase::Run()+0x107) [0x5581b6b299f3]
 20: (testing::internal::UnitTestImpl::RunAllTests()+0x2d2) [0x5581b6b304d8]
 21: (bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*)+0x65) [0x5581b6b4c297]
 22: (bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*)+0x5a) [0x5581b6b4584d]
 23: (testing::UnitTest::Run()+0xc9) [0x5581b6b2f0cf]
 24: (RUN_ALL_TESTS()+0x11) [0x5581b6b17f5a]
 25: (main()+0x440) [0x5581b6b15b00]
 26: (__libc_start_main()+0xf5) [0x7fc93b0f03d5]
 27: (()+0x5e0f9) [0x5581b6b130f9]
 NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this.

 -1536> 2019-01-23 01:43:30.854 7fc94a8a0a00 -1 WARNING: all dangerous and experimental features are enabled.
 -1425> 2019-01-23 01:43:30.904 7fc94a8a0a00 -1 WARNING: all dangerous and experimental features are enabled.
 -1417> 2019-01-23 01:43:30.934 7fc94a8a0a00 -1 WARNING: all dangerous and experimental features are enabled.
     0> 2019-01-23 01:43:31.441 7fc94a8a0a00 -1 *** Caught signal (Segmentation fault) **
 in thread 7fc94a8a0a00 thread_name:ceph_test_librg

 ceph version ccdc79 (0ccdc799384801faa728d5429e82b522ee3b618b) nautilus (dev)
 1: (()+0xf307ce) [0x7fc94a0a37ce]
 2: (()+0xf5d0) [0x7fc93e8b65d0]
 3: (RGWSysObjectCtx::get_obj(rgw_raw_obj const&)+0x27) [0x7fc949b22b95]
 4: (rgw_get_system_obj(RGWRados*, RGWSysObjectCtx&, rgw_pool const&, std::string const&, ceph::buffer::list&, RGWObjVersionTracker*, std::chrono::time_point<ceph::time_detail::real_clock, std::chrono::duration<unsigned long, std::ratio<1l, 1000000000l> > >*, std::map<std::string, ceph::buffer::list, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::list> > >*, rgw_cache_entry_info*, boost::optional<obj_version>)+0x124) [0x7fc949d8b348]
 5: (RGWRados::get_bucket_entrypoint_info(RGWSysObjectCtx&, std::string const&, std::string const&, RGWBucketEntryPoint&, RGWObjVersionTracker*, std::chrono::time_point<ceph::time_detail::real_clock, std::chrono::duration<unsigned long, std::ratio<1l, 1000000000l> > >*, std::map<std::string, ceph::buffer::list, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::list> > >*, rgw_cache_entry_info*, boost::optional<obj_version>)+0x121) [0x7fc949d14933]
 6: (RGWRados::_get_bucket_info(RGWSysObjectCtx&, std::string const&, std::string const&, RGWBucketInfo&, std::chrono::time_point<ceph::time_detail::real_clock, std::chrono::duration<unsigned long, std::ratio<1l, 1000000000l> > >*, std::map<std::string, ceph::buffer::list, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::list> > >*, boost::optional<obj_version>)+0x3ce) [0x7fc949d1568a]
 7: (RGWRados::get_bucket_info(RGWSysObjectCtx&, std::string const&, std::string const&, RGWBucketInfo&, std::chrono::time_point<ceph::time_detail::real_clock, std::chrono::duration<unsigned long, std::ratio<1l, 1000000000l> > >*, std::map<std::string, ceph::buffer::list, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::list> > >*)+0x76) [0x7fc949d1610c]
 8: (RGWCreateBucket::execute()+0xa08) [0x7fc949c7d24a]
 9: (rgw::RGWLibProcess::process_request(rgw::RGWLibRequest*, rgw::RGWLibIO*)+0x19aa) [0x7fc949a72112]
 10: (rgw::RGWLibProcess::process_request(rgw::RGWLibRequest*)+0x58) [0x7fc949a6ff30]
 11: (rgw::RGWLibFrontend::execute_req(rgw::RGWLibRequest*)+0x27) [0x7fc949ac0999]
 12: (rgw::RGWLibFS::mkdir(rgw::RGWFileHandle*, char const*, stat*, unsigned int, unsigned int)+0x523) [0x7fc949aa38fb]
 13: (rgw_mkdir()+0x81) [0x7fc949aab138]
 14: (LibRGW_CREATE_BUCKET_Test::TestBody()+0xa2) [0x5581b6b13f2c]
 15: (void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*)+0x65) [0x5581b6b4b0a7]
 16: (void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*)+0x5a) [0x5581b6b44781]
 17: (testing::Test::Run()+0xd2) [0x5581b6b28a84]
 18: (testing::TestInfo::Run()+0x104) [0x5581b6b2935a]
 19: (testing::TestCase::Run()+0x107) [0x5581b6b299f3]
 20: (testing::internal::UnitTestImpl::RunAllTests()+0x2d2) [0x5581b6b304d8]
 21: (bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*)+0x65) [0x5581b6b4c297]
 22: (bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*)+0x5a) [0x5581b6b4584d]
 23: (testing::UnitTest::Run()+0xc9) [0x5581b6b2f0cf]
 24: (RUN_ALL_TESTS()+0x11) [0x5581b6b17f5a]
 25: (main()+0x440) [0x5581b6b15b00]
 26: (__libc_start_main()+0xf5) [0x7fc93b0f03d5]
 27: (()+0x5e0f9) [0x5581b6b130f9]
 NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this.

Segmentation fault (core dumped)

Related issues

Copied to rgw - Backport #39575: nautilus: librgw: unexpected crash when creating bucket Resolved

History

#2 Updated by Patrick Donnelly 12 months ago

  • Project changed from Ceph to rgw

#3 Updated by Abhishek Lekshmanan 11 months ago

  • Status changed from New to Pending Backport
  • Backport set to nautilus

#4 Updated by Nathan Cutler 11 months ago

  • Copied to Backport #39575: nautilus: librgw: unexpected crash when creating bucket added

#5 Updated by Nathan Cutler 10 months ago

  • Status changed from Pending Backport to Resolved

Also available in: Atom PDF