Project

General

Profile

Actions

Bug #65804

open

CEPH_OSD_OP_CHECKSUM got "invalid argument"

Added by Xuehan Xu 14 days ago. Updated 14 days ago.

Status:
New
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

crimson-osd's handling of CEPH_OSD_OP_CHECKSUM is not idempotent, if a client request got interrupted and requeued after handling CEPH_OSD_OP_CHECKSUM, it would meet empty "OSDOp::indata" when trying to "do_checksum" again.

2024-05-04T05:41:28.322 INFO:tasks.rados.rados.0.scephqa02.stderr:1262: Error: oid 646 read returned error code -22
2024-05-04T05:41:28.322 INFO:tasks.rados.rados.0.scephqa02.stderr:/home/xuxuehan/nvme/rpmbuild/BUILD/ceph-19.0.0-3243-gd8b7816422a/src/test/osd/RadosModel.h: In function 'virtual void ReadOp::_finish(TestOp::CallbackInfo*)' thread 2b6719001700 time 2024-05-04T05:41:28.312995+0000
2024-05-04T05:41:28.323 INFO:tasks.rados.rados.0.scephqa02.stderr:/home/xuxuehan/nvme/rpmbuild/BUILD/ceph-19.0.0-3243-gd8b7816422a/src/test/osd/RadosModel.h: 1540: ceph_abort_msg("abort() called")
2024-05-04T05:41:28.323 INFO:tasks.rados.rados.0.scephqa02.stderr: ceph version 19.0.0-3243-gd8b7816422a (d8b7816422ac59e291dd7b2983c8a50933e09fbf) squid (dev)
2024-05-04T05:41:28.323 INFO:tasks.rados.rados.0.scephqa02.stderr: 1: (ceph::__ceph_abort(char const*, int, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0xd8) [0x2b670581463d]
2024-05-04T05:41:28.324 INFO:tasks.rados.rados.0.scephqa02.stderr: 2: (ReadOp::_finish(TestOp::CallbackInfo*)+0x1125) [0x435c85]
2024-05-04T05:41:28.324 INFO:tasks.rados.rados.0.scephqa02.stderr: 3: /lib64/librados.so.2(+0xcf8c9) [0x2b6704bd18c9]
2024-05-04T05:41:28.324 INFO:tasks.rados.rados.0.scephqa02.stderr: 4: /lib64/librados.so.2(+0xd0a85) [0x2b6704bd2a85]
2024-05-04T05:41:28.325 INFO:tasks.rados.rados.0.scephqa02.stderr: 5: /lib64/librados.so.2(+0xd1633) [0x2b6704bd3633]
2024-05-04T05:41:28.325 INFO:tasks.rados.rados.0.scephqa02.stderr: 6: /lib64/librados.so.2(+0xe5c12) [0x2b6704be7c12]
2024-05-04T05:41:28.325 INFO:tasks.rados.rados.0.scephqa02.stderr: 7: /lib64/librados.so.2(+0xd49f1) [0x2b6704bd69f1]
2024-05-04T05:41:28.326 INFO:tasks.rados.rados.0.scephqa02.stderr: 8: /lib64/librados.so.2(+0xe7f20) [0x2b6704be9f20]
2024-05-04T05:41:28.326 INFO:tasks.rados.rados.0.scephqa02.stderr: 9: /lib64/libstdc++.so.6(+0xc2ba3) [0x2b670482fba3]
2024-05-04T05:41:28.326 INFO:tasks.rados.rados.0.scephqa02.stderr: 10: /lib64/libpthread.so.0(+0x81cf) [0x2b67068fe1cf]
2024-05-04T05:41:28.327 INFO:tasks.rados.rados.0.scephqa02.stderr: 11: clone()
WARN  2024-05-04 05:41:28,307 [shard 0:main] osd - do_checksum: init value not provided
DEBUG 2024-05-04 05:41:28,307 [shard 0:main] osd - rollback_obc_if_modified: object 3:4072f402:::scephqa02.cpp.bjat633746-646:head got error generic:22, need_rollback=false
ERROR 2024-05-04 05:41:28,307 [shard 0:main] osd - do_osd_ops_execute::failure_func osd_op(client.4234.0:5199 3.2 3:4072f402:::scephqa02.cpp.bjat633746-646:head {read 0~2840515 out=2840515b, checksum out=8b, omap-get-vals-by-keys in=4b out=4b, omap-get-keys in=12b out=5b, omap-get-vals in=16b out=5b, omap-get-header, getxattrs out=101b} snapc 0={} ondisk+read+localize_reads+known_if_redirected+supports_pool_eio e109) v9 got error: generic:22
Actions #1

Updated by Xuehan Xu 14 days ago

  • Pull request ID set to 57276
Actions #2

Updated by Xuehan Xu 14 days ago

  • Description updated (diff)
Actions

Also available in: Atom PDF