ceph-fuse: xlist crash in ~Inode on osd_op_reply
2013-09-27 12:04:51.057759 7f2678c53700 -1 ./include/xlist.h: In function 'xlist<T>::~xlist() [with T = ObjectCacher::Object*]' thread 7f2678c53700 time 2013-09-27 12:04:51.041340 ./include/xlist.h: 69: FAILED assert(_size == 0) ceph version 0.61.8-30-g6f34287 (6f342872cdd211e24deb19f5e00380494514c437) 1: (Inode::~Inode()+0x28a) [0x4d44ca] 2: (Client::put_inode(Inode*, int)+0x2c7) [0x48a697] 3: (Context::complete(int)+0xa) [0x4cbe7a] 4: (C_Gather::sub_finish(Context*, int)+0x117) [0x4d1497] 5: (C_Gather::C_GatherSub::finish(int)+0x12) [0x4d1662] 6: (Context::complete(int)+0xa) [0x4cbe7a] 7: (finish_contexts(CephContext*, std::list<Context*, std::allocator<Context*> >&, int)+0x95) [0x600255] 8: (ObjectCacher::bh_write_commit(long, sobject_t, long, unsigned long, unsigned long, int)+0x59f) [0x5fc95f] 9: (ObjectCacher::C_WriteCommit::finish(int)+0x6b) [0x60379b] 10: (Objecter::handle_osd_op_reply(MOSDOpReply*)+0xe55) [0x60f0c5] 11: (Client::ms_dispatch(Message*)+0x8b) [0x4cb89b] 12: (DispatchQueue::entry()+0x3f1) [0x646f81] 13: (DispatchQueue::DispatchThread::entry()+0xd) [0x5860cd] 14: (()+0x7e9a) [0x7f267e1b5e9a] 15: (clone()+0x6d) [0x7f267c96bccd] NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this.
#3 Updated by Greg Farnum almost 6 years ago
In general I'm not usually too worried about FS backports since anybody using the FS should be keeping up to date with all the fixes going in. The ObjectCacher is also used by the userspace librbd stuff, though, and it's nice to keep our nightlies running clean at least (that's where I got this; I actually hadn't noticed that it was a cuttlefish run). So Sage backported it.