Details
-
Bug
-
Resolution: Fixed
-
Minor
-
None
-
None
-
3
-
9223372036854775807
Description
Issue may occur with DoM files and between old server (prior 2.14) and new client. If mdc_enqueue_interpret() called from failed RPC processing with return code then mdc_enqueue_fini() calls mdc_fill_lvb() without check that rc >= 0 and assert is triggered like in calltrace below:
[35945.837773] LustreError: 1183270:0:(layout.c:2171:__req_capsule_get()) ASSERTION( msg != ((void *)0) ) failed: [35945.839817] LustreError: 1183270:0:(layout.c:2171:__req_capsule_get()) LBUG [35945.839946] Lustre: lustre-MDT0000-mdc-ffff9566b57ce000: Connection restored to (at 10.240.24.151@tcp) [35945.841173] Pid: 1183270, comm: ptlrpcd_00_00 4.18.0-425.19.2.el8_7.x86_64 #1 SMP Tue Apr 4 22:38:11 UTC 2023 [35945.842969] Lustre: Skipped 1 previous similar message [35945.844849] Call Trace TBD: [35945.844995] [<0>] libcfs_call_trace+0x6f/0xa0 [libcfs] [35945.847559] [<0>] lbug_with_loc+0x3f/0x70 [libcfs] [35945.848538] [<0>] __req_capsule_get+0x6a0/0x770 [ptlrpc] [35945.849943] [<0>] mdc_fill_lvb+0x15/0x100 [mdc] [35945.850930] [<0>] mdc_enqueue_fini+0x7f/0x340 [mdc] [35945.851925] [<0>] mdc_enqueue_interpret+0x134/0x2a0 [mdc] [35945.853017] [<0>] ptlrpc_check_set+0x52e/0x2080 [ptlrpc]