Project

General

Profile

Backport #21899

Updated by Nathan Cutler over 6 years ago

https://github.com/ceph/ceph/pull/18491 A client application that was compiled against a pre-Luminous librados C++ API and therefore utilizing bufferlist will now be ABI incompatible w/ the Luminous version of librados. Specifically, the addition of "_mempool" within buffer::list causes a seg fault since pre-Luminous clients would not have initialized that field. 

 <pre> 
 #0    mempool::pool_t::adjust_count (this=0x8737e8a5c980, items=items@entry=1, bytes=bytes@entry=4008) 
     at /home/jdillaman/ceph/src/common/mempool.cc:85 
 #1    0x00007ffff75dea47 in ceph::buffer::raw::reassign_to_mempool (this=<optimized out>, this=<optimized out>, pool=1879025072) 
     at /home/jdillaman/ceph/src/common/buffer.cc:206 
 #2    ceph::buffer::list::append (this=this@entry=0x7fff6fffa5b0, data=data@entry=0x7fffee427477 "ceph v027", len=len@entry=9) 
     at /home/jdillaman/ceph/src/common/buffer.cc:1912 
 #3    0x00007fffee0ab632 in AsyncConnection::_process_connection (this=this@entry=0x7fff64009730) 
     at /home/jdillaman/ceph/src/msg/async/AsyncConnection.cc:923 
 #4    0x00007fffee0b1e98 in AsyncConnection::process (this=0x7fff64009730) at /home/jdillaman/ceph/src/msg/async/AsyncConnection.cc:838 
 #5    0x00007fffee0c4405 in EventCenter::process_events (this=this@entry=0xb09910, timeout_microseconds=<optimized out>,  
     timeout_microseconds@entry=30000000, working_dur=working_dur@entry=0x7fff6fffb2e8) at /home/jdillaman/ceph/src/msg/async/Event.cc:436 
 #6    0x00007fffee0c8b68 in NetworkStack::<lambda()>::operator()(void) const (__closure=0xb369c8) 
     at /home/jdillaman/ceph/src/msg/async/Stack.cc:53 
 #7    0x00007ffff703376f in ?? () from /lib64/libstdc++.so.6 
 #8    0x00007ffff730773a in start_thread () from /lib64/libpthread.so.0 
 #9    0x00007ffff6aa2e7f in clone () from /lib64/libc.so.6 
 </pre>

Back