Project

General

Profile

Actions

Bug #23618

closed

SIGFPE, Arithmetic exception in AsyncConnection::_process_connection

Added by Brad Hubbard about 6 years ago. Updated about 5 years ago.

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

0%

Source:
Development
Tags:
Backport:
luminous
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

(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

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


Related issues 1 (0 open1 closed)

Copied to Messengers - Backport #23666: luminous: SIGFPE, Arithmetic exception in AsyncConnection::_process_connectionResolvedPrashant DActions
Actions #1

Updated by John Spray about 6 years ago

  • Project changed from Ceph to RADOS
  • Category deleted (msgr)
Actions #2

Updated by Kefu Chai about 6 years ago

  • Status changed from New to Pending Backport
Actions #3

Updated by Brad Hubbard about 6 years ago

  • Description updated (diff)
Actions #4

Updated by Nathan Cutler about 6 years ago

  • Copied to Backport #23666: luminous: SIGFPE, Arithmetic exception in AsyncConnection::_process_connection added
Actions #6

Updated by Nathan Cutler almost 6 years ago

  • Status changed from Pending Backport to Resolved
Actions #7

Updated by Greg Farnum about 5 years ago

  • Project changed from RADOS to Messengers
Actions

Also available in: Atom PDF