Ceph: MDS crashes - "assert_condition": "lock->get_state() == LOCK_LOCK || lock->get_state() == LOCK_MIX || lock->get_state() == LOCK_MIX_SYNC2"

Solution Verified - Updated -

Issue

MDS crashes - "assert_condition": "lock->get_state() == LOCK_LOCK || lock->get_state() == LOCK_MIX || lock->get_state() == LOCK_MIX_SYNC2"

Ceph Crash Info:

{
    "assert_condition": "lock->get_state() == LOCK_LOCK || lock->get_state() == LOCK_MIX || lock->get_state() == LOCK_MIX_SYNC2",
    "assert_file": "/builddir/build/BUILD/ceph-17.2.6/src/mds/Locker.cc",
    "assert_func": "void Locker::handle_file_lock(ScatterLock*, ceph::cref_t<MLock>&)",
    "assert_line": 5766,
    "assert_msg": "/builddir/build/BUILD/ceph-17.2.6/src/mds/Locker.cc: In function 'void Locker::handle_file_lock(ScatterLock*, ceph::cref_t<MLock>&)' thread 7f85849c2640 time 2024-02-21T02:41:34.560417+0000\n/builddir/build/BUILD/ceph-17.2.6/src/mds/Locker.cc: 5766: FAILED ceph_assert(lock->get_state() == LOCK_LOCK || lock->get_state() == LOCK_MIX || lock->get_state() == LOCK_MIX_SYNC2)\n",
    "assert_thread_name": "ms_dispatch",
    "backtrace": [
        "/lib64/libc.so.6(+0x54db0) [0x7f858985edb0]",
        "/lib64/libc.so.6(+0xa154c) [0x7f85898ab54c]",
        "raise()",
        "abort()",
        "(ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x188) [0x7f8589ebab4b]",
        "/usr/lib64/ceph/libceph-common.so.2(+0x142caf) [0x7f8589ebacaf]",
        "(Locker::handle_file_lock(ScatterLock*, boost::intrusive_ptr<MLock const> const&)+0x14ac) [0x55a63a745cbc]",
        "(Locker::dispatch(boost::intrusive_ptr<Message const> const&)+0x164) [0x55a63a71a734]",
        "(MDSRank::_dispatch(boost::intrusive_ptr<Message const> const&, bool)+0x4f3) [0x55a63a5b0683]",
        "(MDSRankDispatcher::ms_dispatch(boost::intrusive_ptr<Message const> const&)+0x5c) [0x55a63a5b0bdc]",
        "(MDSDaemon::ms_dispatch2(boost::intrusive_ptr<Message> const&)+0x195) [0x55a63a59a845]",
        "(DispatchQueue::entry()+0x53a) [0x7f858a0a727a]",
        "/usr/lib64/ceph/libceph-common.so.2(+0x3bae71) [0x7f858a132e71]",
        "/lib64/libc.so.6(+0x9f802) [0x7f85898a9802]",
        "clone()"
    ],
    "ceph_version": "17.2.6-196.el9cp",
    "crash_id": "2024-02-21T02:41:34.594853Z_4bfcfa5b-1726-4df2-84a9-26abb58eba98",
    "entity_name": "mds.root.edon-17.kpbxhd",
    "os_id": "rhel",
    "os_name": "Red Hat Enterprise Linux",
    "os_version": "9.3 (Plow)",
    "os_version_id": "9.3",
    "process_name": "ceph-mds",
    "stack_sig": "62a9400fe4f62ee81c69ab8eb327515c3a3ab2affea4ab8fd8f190aad70bfeba",
    "timestamp": "2024-02-21T02:41:34.594853Z",
    "utsname_hostname": "edon-17",
    "utsname_machine": "x86_64",
    "utsname_release": "4.18.0-513.9.1.el8_9.x86_64",
    "utsname_sysname": "Linux",
    "utsname_version": "#1 SMP Thu Nov 16 10:29:04 EST 2023"
}

Environment

Red Hat OpenShift Container Platform (OCP) 4.x
Red Hat OpenShift Container Storage (OCS) 4.x
Red Hat OpenShift Data Foundation (ODF) 4.x
Red Hat Ceph Storage (RHCS) 5.x
Red Hat Ceph Storage (RHCS) 6.x
Red Hat Ceph Storage (RHCS) 7.x
Ceph File System (CephFS)

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content