Project

General

Profile

Bug #19946

CInode.cc: 2481: FAILED assert(s == nested_auth_pins)

Added by Douglas Fuller 2 months ago. Updated 2 months ago.

Status:
Resolved
Priority:
Normal
Assignee:
-
Category:
Correctness/Safety
Target version:
-
Start date:
05/16/2017
Due date:
% Done:

0%

Source:
Development
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Release:
Component(FS):
Needs Doc:
No

Description

nested_auth_pins 2
s 1

2017-05-16 10:15:54.754892 7fea71adb700 -1 /home/dfuller/ceph/src/mds/CInode.cc:
In function 'void CInode::adjust_nested_auth_pins(int, void*)' thread 7fea71adb
700 time 2017-05-16 10:15:54.751007
/home/dfuller/ceph/src/mds/CInode.cc: 2481: FAILED assert(s == nested_auth_pins)

ceph version 12.0.1-2279-g9be1970 (9be197076041805f22982e3cf978a1f9c62d15b1)
1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x110) [0x7fea7893dc20]
2: (CInode::adjust_nested_auth_pins(int, void*)+0x2f4) [0x7fea7881ddd4]
3: (CDir::adjust_nested_auth_pins(int, int, void*)+0x2ac) [0x7fea7880131c]
4: (CDir::steal_dentry(CDentry*)+0x3f9) [0x7fea78805a99]
5: (CDir::merge(std::list<CDir*, std::allocator<CDir*> >&, std::list<MDSInternalContextBase*, std::allocator<MDSInternalContextBase*> >&, bool)+0x2a3) [0x7fea78808523]
6: (MDCache::adjust_dir_fragments(CInode*, std::list<CDir*, std::allocator<CDir*> >&, frag_t, int, std::list<CDir*, std::allocator<CDir*> >&, std::list<MDSInternalContextBase*, std::allocator<MDSInternalContextBase*> >&, bool)+0x440) [0x7fea786f3c00]
7: (MDCache::dispatch_fragment_dir(boost::intrusive_ptr<MDRequestImpl>&)+0x7e6) [0x7fea78740376]
8: (MDSInternalContextBase::complete(int)+0x1eb) [0x7fea78888adb]
9: (void finish_contexts<MDSInternalContextBase>(CephContext*, std::list<MDSInternalContextBase*, std::allocator<MDSInternalContextBase*> >&, int)+0xac) [0x7fea78642a1c]
10: (MDSCacheObject::finish_waiting(unsigned long, int)+0x46) [0x7fea788a06e6]
11: (Locker::eval_gather(SimpleLock*, bool, bool*, std::list<MDSInternalContextBase*, std::allocator<MDSInternalContextBase*> >)+0x10df) [0x7fea7879d7ef]
12: (Locker::handle_file_lock(ScatterLock
, MLock*)+0x5c7) [0x7fea787a8ef7]
13: (Locker::handle_lock(MLock*)+0x1de) [0x7fea787aaf0e]
14: (Locker::dispatch(Message*)+0x85) [0x7fea787b6ae5]
15: (MDSRank::handle_deferrable_message(Message*)+0xbb4) [0x7fea78624444]
16: (MDSRank::_dispatch(Message*, bool)+0x1eb) [0x7fea7862ed1b]
17: (MDSRankDispatcher::ms_dispatch(Message*)+0x15) [0x7fea7862fc65]
18: (MDSDaemon::ms_dispatch(Message*)+0xf3) [0x7fea7861bcb3]
19: (DispatchQueue::entry()+0x7a2) [0x7fea78b7a492]
20: (DispatchQueue::DispatchThread::entry()+0xd) [0x7fea789b5bdd]
21: (()+0x31c7007ee5) [0x7fea76488ee5]
22: (clone()+0x6d) [0x7fea75577d1d]

History

#2 Updated by Douglas Fuller 2 months ago

  • Category changed from multi-MDS to Correctness/Safety

#3 Updated by Zheng Yan 2 months ago

  • Status changed from New to Verified

happens only when mds_debug_auth_pins is enabled. the new dirfrag hasn't been added to inode's frag map, which confuse the debug code.

#4 Updated by Zheng Yan 2 months ago

  • Status changed from Verified to Need Review

#5 Updated by John Spray 2 months ago

  • Status changed from Need Review to Resolved

Also available in: Atom PDF