On Thu, 20 Oct 2016, John Spray wrote: > On Thu, Oct 20, 2016 at 2:58 PM, Sage Weil <sweil@xxxxxxxxxx> wrote: > > On Thu, 20 Oct 2016, John Spray wrote: > >> Latest master has the MDS crashing on startup: > >> http://tracker.ceph.com/issues/17636 > >> https://github.com/ceph/ceph/pull/11577 > >> > >> My patch is kind of dumb, clearly the intent of the original code is > >> to avoid any constructor overhead and it would be nice to do so, but > >> the original code seems to make the assumption that no encode/decode > >> implementations deferences the object they're passed. > >> > >> Good motivation to go and immediately familiarise myself with the new > >> code this morning though :-) > > > > Hmm, what compiler version are you using? The intent of the code is > > two-fold: avoid the ctor, as you mention, but also trigger a SEGV if the > > implementation of bound_encode for any traits::bounded type actually > > makes use of the (bogus) reference we're passing in. > > This is gcc 5.3.1 (fedora 22). > > > Which type(s) did it fail on? My guess is that it is either a malformed > > bound_encode (taking a value instead of a reference) or the implementation > > is broken (value-dependent). > > Ah, I see that denc_traits<inodeno_t>::bound_encode was indeed taking a > value instead of a reference. Good to hear. :) The snapid_t was just fixed in another PR yesterday, I think. Can you confirm the same fix works here? (I'm on my laptop and traveling today, slow compiles..) Thanks! sage -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html