Project

General

Profile

Bug #60241

crash: void interval_set<T, C>::erase(T, T, std::function<bool(T, T)>) [with T = inodeno_t; C = std::map]: assert(p->first <= start)

Added by Telemetry Bot 10 months ago.

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

0%

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

01467219c0f731c60a7e33ec0cbd6d8d66e975474511ecb5337c43b57d749972


Description

http://telemetry.front.sepia.ceph.com:4000/d/jByk5HaMz/crash-spec-x-ray?orgId=1&var-sig_v2=1e491c6d2002d8aa5fa17dac4aec1f876620106e930ca3a5239fe23a6a0d590b

Assert condition: p->first <= start
Assert function: void interval_set<T, C>::erase(T, T, std::function<bool(T, T)>) [with T = inodeno_t; C = std::map]

Sanitized backtrace:

    interval_set<inodeno_t, std::map>::erase(inodeno_t, inodeno_t, std::function<bool (inodeno_t, inodeno_t)>)
    InoTable::project_alloc_id(inodeno_t)
    Server::prepare_new_inode(boost::intrusive_ptr<MDRequestImpl>&, CDir*, inodeno_t, unsigned int, file_layout_t const*)
    Server::handle_client_openc(boost::intrusive_ptr<MDRequestImpl>&)
    MDSContext::complete(int)
    void finish_contexts<std::vector<MDSContext*, std::allocator<MDSContext*> > >(ceph::common::CephContext*, std::vector<MDSContext*, std::allocator<MDSContext*> >&, int)
    MDSCacheObject::finish_waiting(unsigned long, int)
    Locker::eval_gather(SimpleLock*, bool, bool*, std::vector<MDSContext*, std::allocator<MDSContext*> >*)
    Locker::revoke_stale_caps(Session*)
    Server::find_idle_sessions()
    MDSRankDispatcher::tick()
    Context::complete(int)
    CommonSafeTimer<ceph::fair_mutex>::timer_thread()
    CommonSafeTimerThread<ceph::fair_mutex>::entry()

Crash dump sample:
{
    "archived": "2022-12-30 22:24:26.446758",
    "assert_condition": "p->first <= start",
    "assert_file": "include/interval_set.h",
    "assert_func": "void interval_set<T, C>::erase(T, T, std::function<bool(T, T)>) [with T = inodeno_t; C = std::map]",
    "assert_line": 568,
    "assert_msg": "include/interval_set.h: In function 'void interval_set<T, C>::erase(T, T, std::function<bool(T, T)>) [with T = inodeno_t; C = std::map]' thread 7f6b6d9db700 time 2022-12-30T21:58:51.488331+0000\ninclude/interval_set.h: 568: FAILED ceph_assert(p->first <= start)",
    "assert_thread_name": "safe_timer",
    "backtrace": [
        "/lib64/libpthread.so.0(+0x12cf0) [0x7f6b76e0fcf0]",
        "gsignal()",
        "abort()",
        "(ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x18f) [0x7f6b77e15499]",
        "/usr/lib64/ceph/libceph-common.so.2(+0x269605) [0x7f6b77e15605]",
        "(interval_set<inodeno_t, std::map>::erase(inodeno_t, inodeno_t, std::function<bool (inodeno_t, inodeno_t)>)+0x2e5) [0x558300626ce5]",
        "(InoTable::project_alloc_id(inodeno_t)+0x89) [0x558300840079]",
        "(Server::prepare_new_inode(boost::intrusive_ptr<MDRequestImpl>&, CDir*, inodeno_t, unsigned int, file_layout_t const*)+0xba) [0x5583005c292a]",
        "(Server::handle_client_openc(boost::intrusive_ptr<MDRequestImpl>&)+0x804) [0x5583005d5c64]",
        "(MDSContext::complete(int)+0x5f) [0x5583008976df]",
        "(void finish_contexts<std::vector<MDSContext*, std::allocator<MDSContext*> > >(ceph::common::CephContext*, std::vector<MDSContext*, std::allocator<MDSContext*> >&, int)+0x8d) [0x55830054485d]",
        "(MDSCacheObject::finish_waiting(unsigned long, int)+0x5c) [0x5583008ba2dc]",
        "(Locker::eval_gather(SimpleLock*, bool, bool*, std::vector<MDSContext*, std::allocator<MDSContext*> >*)+0x12cc) [0x55830074e2ec]",
        "(Locker::revoke_stale_caps(Session*)+0x3a6) [0x558300758fb6]",
        "(Server::find_idle_sessions()+0xfc5) [0x5583005d8d85]",
        "(MDSRankDispatcher::tick()+0x1dd) [0x558300565c2d]",
        "(Context::complete(int)+0xd) [0x55830053f1fd]",
        "(CommonSafeTimer<ceph::fair_mutex>::timer_thread()+0x16d) [0x7f6b77f13a5d]",
        "(CommonSafeTimerThread<ceph::fair_mutex>::entry()+0x11) [0x7f6b77f14b31]",
        "/lib64/libpthread.so.0(+0x81ca) [0x7f6b76e051ca]",
        "clone()" 
    ],
    "ceph_version": "17.2.5",
    "crash_id": "2022-12-30T21:58:51.491743Z_5d028ada-2de3-4e42-b186-696efc6f58f9",
    "entity_name": "mds.901cd466a78a26f7f4b24f2ab8120f473ddb2455",
    "os_id": "centos",
    "os_name": "CentOS Stream",
    "os_version": "8",
    "os_version_id": "8",
    "process_name": "ceph-mds",
    "stack_sig": "01467219c0f731c60a7e33ec0cbd6d8d66e975474511ecb5337c43b57d749972",
    "timestamp": "2022-12-30T21:58:51.491743Z",
    "utsname_machine": "x86_64",
    "utsname_release": "5.10.0-20-amd64",
    "utsname_sysname": "Linux",
    "utsname_version": "#1 SMP Debian 5.10.158-2 (2022-12-13)" 
}


Related issues

Related to CephFS - Bug #61009: crash: void interval_set<T, C>::erase(T, T, std::function<bool(T, T)>) [with T = inodeno_t; C = std::map]: assert(p->first <= start) Fix Under Review

History

#1 Updated by Telemetry Bot 10 months ago

  • Crash signature (v1) updated (diff)
  • Crash signature (v2) updated (diff)
  • Affected Versions v17.2.5 added

#2 Updated by Milind Changire 9 months ago

  • Related to Bug #61009: crash: void interval_set<T, C>::erase(T, T, std::function<bool(T, T)>) [with T = inodeno_t; C = std::map]: assert(p->first <= start) added

Also available in: Atom PDF