Project

General

Profile

Bug #23618

Updated by Brad Hubbard about 6 years ago

<pre> 
 (gdb) bt 
 #0    0x00007f77454c303e in AsyncConnection::_process_connection (this=this@entry=0x55b71778c700) at /home/brad/working/src/ceph4/src/msg/async/AsyncConnection.cc:974 
 #1    0x00007f77454c49f8 in AsyncConnection::process (this=<optimized out>) at /home/brad/working/src/ceph4/src/msg/async/AsyncConnection.cc:822 
 #2    0x00007f77454d536d in EventCenter::process_events (this=this@entry=0x55b717573700, timeout_microseconds=<optimized out>, timeout_microseconds@entry=30000000, working_dur=working_dur@entry=0x7f773f0542d8) 
     at /home/brad/working/src/ceph4/src/msg/async/Event.cc:412 
 #3    0x00007f77454d8034 in NetworkStack::<lambda()>::operator() (__closure=0x55b71766d2f8) at /home/brad/working/src/ceph4/src/msg/async/Stack.cc:53 
 #4    std::_Function_handler<void(), NetworkStack::add_thread(unsigned int)::<lambda()> >::_M_invoke(const std::_Any_data &) (__functor=...) at /usr/include/c++/7/bits/std_function.h:316 
 #5    0x00007f77420d814f in execute_native_thread_routine () from /lib64/libstdc++.so.6 
 #6    0x00007f77427c550b in start_thread () from /lib64/libpthread.so.0 
 #7    0x00007f77417f916f in clone () from /lib64/libc.so.6 
 (gdb) l 974 
 969 
 970               ldout(async_msgr->cct, 20) << __func__ << " connect peer addr for me is " << peer_addr_for_me << dendl; 
 971               lock.unlock(); 
 972               async_msgr->learned_addr(peer_addr_for_me); 
 973               if (async_msgr->cct->_conf->ms_inject_internal_delays) { 
 974                 if (rand() % async_msgr->cct->_conf->ms_inject_socket_failures == 0) { 
 975                   ldout(msgr->cct, 10) << __func__ << " sleep for " 
 976                                        << async_msgr->cct->_conf->ms_inject_internal_delays << dendl; 
 977                   utime_t t; 
 978                   t.set_from_double(async_msgr->cct->_conf->ms_inject_internal_delays); 
 (gdb) p async_msgr->cct->_conf->ms_inject_socket_failures 
 $2 = 0 
 </pre> 

 If ms_inject_internal_delays is set, but ms_inject_socket_failures is left at its default value of zero we get an fpe. Elsewhere similar code is wrapped in a test of ms_inject_socket_failures so let's do that. 

 https://github.com/ceph/ceph/pull/21314

Back