Project

General

Profile

Bug #570

Locker::_do_null_snapflush assert failure

Added by Greg Farnum over 13 years ago. Updated over 7 years ago.

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

0%

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

Description

Seen this a lot while working on the snaptest-2 issue, when shutting down cfuse.

#0  0x00007fc487b6df45 in *__GI_raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1  0x00007fc487b70d05 in *__GI_abort () at abort.c:117
#2  0x00007fc4883f4d45 in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/libstdc++.so.6
#3  0x00007fc4883f3176 in ?? () from /usr/lib/libstdc++.so.6
#4  0x00007fc4883f31a3 in std::terminate() () from /usr/lib/libstdc++.so.6
#5  0x00007fc4883f329e in __cxa_throw () from /usr/lib/libstdc++.so.6
#6  0x00000000006ca788 in ceph::__ceph_assert_fail (assertion=0x7098c6 "sin", file=<value optimized out>, line=1818, func=<value optimized out>) at common/assert.cc:30
#7  0x00000000005824cd in Locker::_do_null_snapflush (this=<value optimized out>, head_in=0x1487aa8, client=..., follows=...) at mds/Locker.cc:1818
#8  0x00000000005955cf in Locker::remove_client_cap (this=0x14506c0, in=0x1487aa8, client=...) at mds/Locker.cc:2500
#9  0x00000000004cba49 in Server::_session_logged (this=0x1446070, session=0x14be240, state_seq=<value optimized out>, open=false, pv=0, inos=..., piv=5506) at mds/Server.cc:296
#10 0x0000000000505047 in C_MDS_session_finish::finish(int) ()
#11 0x000000000057ba2e in finish_contexts(std::list<Context*, std::allocator<Context*> >&, int) ()
#12 0x000000000067e40b in Journaler::_finish_flush (this=0x147a000, r=<value optimized out>, start=35330109, stamp=<value optimized out>, safe=<value optimized out>) at osdc/Journaler.cc:304
#13 0x0000000000664b70 in Objecter::handle_osd_op_reply (this=0x145f000, m=0x283c1c0) at osdc/Objecter.cc:625
#14 0x00000000004ac8f3 in MDS::_dispatch (this=0x1458000, m=0x283c1c0) at mds/MDS.cc:1573
#15 0x00000000004ac96d in MDS::ms_dispatch (this=0x1458000, m=0x283c1c0) at mds/MDS.cc:1419
#16 0x0000000000481283 in Messenger::ms_deliver_dispatch (this=0x1455000) at msg/Messenger.h:97
#17 SimpleMessenger::dispatch_entry (this=0x1455000) at msg/SimpleMessenger.cc:342
#18 0x0000000000479a2c in SimpleMessenger::DispatchThread::entry (this=0x1455488) at ./msg/SimpleMessenger.h:570
#19 0x000000000048c7ca in Thread::_entry_func (arg=0x5f42) at ./common/Thread.h:39
#20 0x00007fc488e9a73a in start_thread (arg=<value optimized out>) at pthread_create.c:300
#21 0x00007fc487c0769d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#22 0x0000000000000000 in ?? ()

(gdb) list
1813        if (clients.count(client)) {
1814          dout(10) << " doing async NULL snapflush on " << snapid << " from client" << client << dendl;
1815          CInode *sin = mdcache->get_inode(head_in->ino(), snapid);
1816          if (!sin && head_in->is_multiversion())
1817            sin = head_in;
1818          assert(sin);
1819          _do_snap_update(sin, snapid, 0, sin->first - 1, client, NULL, NULL);
1820          head_in->remove_need_snapflush(sin, snapid, client);
1821        }
1822      }

Kept logs and core in pudgy:~gregf/logs/mds_assert

History

#1 Updated by Sage Weil over 13 years ago

  • Assignee set to Sage Weil

Nice catch. Fixed by commit:3d10b340748e5bbff86b49ac7386da9efa27a070. Added a unit test too!

#2 Updated by Sage Weil over 13 years ago

  • Status changed from New to Resolved

#3 Updated by John Spray over 7 years ago

  • Project changed from Ceph to CephFS
  • Category deleted (1)
  • Target version deleted (v0.23)

Bulk updating project=ceph category=mds bugs so that I can remove the MDS category from the Ceph project to avoid confusion.

Also available in: Atom PDF