Project

General

Profile

Actions

Bug #55692

closed

Crimson: unexpected ceph_abort() in segment_cleaner

Added by Yingxin Cheng almost 2 years ago. Updated almost 2 years ago.

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

0%

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

Description

...
INFO  2022-05-17 20:05:28,036 [shard 0] seastore_device - BlockSegmentManager::open: D0 S36 ...
INFO  2022-05-17 20:05:28,036 [shard 0] seastore_journal - SegmentAllocator::do_open: D_0_JOURNAL writing header to new segment ... -- segment_header_t(segment_seq=22, segment_id=[0,36], journal_tail=journal_seq_t(segment_seq=17, offset=paddr_t<[0,29], 66846720>), segment_nonce=1312143841, type=JOURNAL)
INFO  2022-05-17 20:05:28,866 [shard 0] seastore_cleaner - segments_info_t::mark_closed: closing [0,34], seg_info_t(state=OPEN, seq=12, type=OOL, last_modified=0.000000000s, last_rewritten=1652789120.000000000s, written_to=67104768), num_segments(empty=763, opened=3, closed=34)
INFO  2022-05-17 20:05:28,866 [shard 0] seastore_cleaner - SegmentCleaner::close_segment: closed, should_block_on_gc false, projected_avail_ratio 0.9558132934570313, reclaim_ratio 0.6573799081396553
INFO  2022-05-17 20:05:28,866 [shard 0] seastore_journal - SegmentAllocator::close_segment: D_0_REWRITE close segment id=[0,34], seq=12, written_to=67104768, nonce=805491572, journal_tail=JOURNAL_SEQ_NO_DELTAS
INFO  2022-05-17 20:05:28,868 [shard 0] seastore_device - BlockSegmentManager::segment_close: D0 S34 unused_bytes=0 ...
INFO  2022-05-17 20:05:28,868 [shard 0] seastore_cleaner - segments_info_t::mark_open: opening [0,37] 13 OOL, seg_info_t(state=EMPTY), num_segments(empty=763, opened=2, closed=35)
INFO  2022-05-17 20:05:28,868 [shard 0] seastore_cleaner - SegmentCleaner::allocate_segment: opened, should_block_on_gc false, projected_avail_ratio 0.9558123779296875, reclaim_ratio 0.657357557507088
INFO  2022-05-17 20:05:28,868 [shard 0] seastore_device - BlockSegmentManager::open: D0 S37 ...
INFO  2022-05-17 20:05:28,869 [shard 0] seastore_journal - SegmentAllocator::do_open: D_0_REWRITE writing header to new segment ... -- segment_header_t(segment_seq=13, segment_id=[0,37], journal_tail=JOURNAL_SEQ_NO_DELTAS, segment_nonce=3255754378, type=OOL)
INFO  2022-05-17 20:05:30,441 [shard 0] seastore_cleaner - segments_info_t::mark_closed: closing [0,36], seg_info_t(state=OPEN, seq=22, type=JOURNAL, last_modified=1652789120.000000000s, last_rewritten=1652789120.000000000s, written_to=67092480), num_segments(empty=762, opened=3, closed=35)
INFO  2022-05-17 20:05:30,441 [shard 0] seastore_cleaner - SegmentCleaner::close_segment: closed, should_block_on_gc false, projected_avail_ratio 0.9547377777099609, reclaim_ratio 0.654570739847951
INFO  2022-05-17 20:05:30,441 [shard 0] seastore_journal - SegmentAllocator::close_segment: D_0_JOURNAL close segment id=[0,36], seq=22, written_to=67092480, nonce=1312143841, journal_tail=journal_seq_t(segment_seq=18, offset=paddr_t<[0,31], 66523136>)
INFO  2022-05-17 20:05:30,442 [shard 0] seastore_device - BlockSegmentManager::segment_close: D0 S36 unused_bytes=0 ...
INFO  2022-05-17 20:05:30,442 [shard 0] seastore_cleaner - segments_info_t::mark_open: opening [0,38] 23 JOURNAL, seg_info_t(state=EMPTY), num_segments(empty=762, opened=2, closed=36)
INFO  2022-05-17 20:05:30,442 [shard 0] seastore_cleaner - SegmentCleaner::allocate_segment: opened, should_block_on_gc false, projected_avail_ratio 0.9547376251220703, reclaim_ratio 0.6545656827874518
INFO  2022-05-17 20:05:30,442 [shard 0] seastore_device - BlockSegmentManager::open: D0 S38 ...
INFO  2022-05-17 20:05:30,442 [shard 0] seastore_journal - SegmentAllocator::do_open: D_0_JOURNAL writing header to new segment ... -- segment_header_t(segment_seq=23, segment_id=[0,38], journal_tail=journal_seq_t(segment_seq=18, offset=paddr_t<[0,31], 66523136>), segment_nonce=3157898271, type=JOURNAL)
INFO  2022-05-17 20:05:32,508 [shard 0] seastore_onode - 0x60000adb7480 OTree::Node::upgrade_root: upgraded from NodeI0@0xff0101a60fc80000+2000Lv2$ to NodeI0@0xff010358e2a94000+2000Lv3$
ERROR 2022-05-17 20:05:32,513 [shard 0] none - ../src/crimson/os/seastore/segment_cleaner.cc:771 : In function 'crimson::os::seastore::SegmentCleaner::gc_trim_journal()::<lambda(auto:119)> [with auto:119 = std::error_code]', abort(%s)
abort() called

https://github.com/ceph/ceph/blob/29558b3dcd7f379b660609955d9d39d5fea720c0/src/crimson/os/seastore/segment_cleaner.cc#L771
Unexpected eagain from TRIM_BACKREF transaction.

Actions #1

Updated by Xuehan Xu almost 2 years ago

  • Assignee set to Xuehan Xu

I encoutered this issue, too. It should be due to trim_backref transactions conflicting others on ROOT extent.

Actions #2

Updated by Yingxin Cheng almost 2 years ago

  • Description updated (diff)
Actions #3

Updated by Xuehan Xu almost 2 years ago

  • Pull request ID set to 46356
Actions #4

Updated by Xuehan Xu almost 2 years ago

  • Status changed from New to Resolved
Actions

Also available in: Atom PDF