On Sat, Aug 20, 2022 at 11:19 PM Jeff Layton <jlayton@xxxxxxxxxx> wrote: > > This mailing list is for the ceph kernel client, but the report below is > for the userland ceph project. Can you change where these alerts get > mailed to dev@xxxxxxx? Sorry Jeff, I'm pretty sure I've changed this but let me know if you get anything else. > > Thanks, > Jeff > > On Sat, 2022-08-20 at 12:22 +0000, scan-admin@xxxxxxxxxxxx wrote: > > Hi, > > > > Please find the latest report on new defect(s) introduced to ceph found with Coverity Scan. > > > > 293 new defect(s) introduced to ceph found with Coverity Scan. > > 2803 defect(s), reported by Coverity Scan earlier, were marked fixed in the recent build analyzed by Coverity Scan. > > > > New defect(s) Reported-by: Coverity Scan > > Showing 20 of 293 defect(s) > > > > > > ** CID 1509769: Security best practices violations (DC.WEAK_CRYPTO) > > /home/kkeithle/src/github/ceph/src/msg/async/ProtocolV2.cc: 1041 in ProtocolV2::handle_hello(ceph::buffer::v15_2_0::list &)() > > > > > > ________________________________________________________________________________________________________ > > *** CID 1509769: Security best practices violations (DC.WEAK_CRYPTO) > > /home/kkeithle/src/github/ceph/src/msg/async/ProtocolV2.cc: 1041 in ProtocolV2::handle_hello(ceph::buffer::v15_2_0::list &)() > > 1035 a.set_type(entity_addr_t::TYPE_MSGR2); // anything but NONE; learned_addr ignores this > > 1036 a.set_port(0); > > 1037 connection->lock.unlock(); > > 1038 messenger->learned_addr(a); > > 1039 if (cct->_conf->ms_inject_internal_delays && > > 1040 cct->_conf->ms_inject_socket_failures) { > > > > > CID 1509769: Security best practices violations (DC.WEAK_CRYPTO) > > > > > "rand" should not be used for security-related applications, because linear congruential algorithms are too easy to break. > > 1041 if (rand() % cct->_conf->ms_inject_socket_failures == 0) { > > 1042 ldout(cct, 10) << __func__ << " sleep for " > > 1043 << cct->_conf->ms_inject_internal_delays << dendl; > > 1044 utime_t t; > > 1045 t.set_from_double(cct->_conf->ms_inject_internal_delays); > > 1046 t.sleep(); > > > > ** CID 1509768: Control flow issues (UNREACHABLE) > > /src/pybind/rbd/rbd.c: 30844 in __pyx_pf_3rbd_3RBD_96group_list() > > > > > > ________________________________________________________________________________________________________ > > *** CID 1509768: Control flow issues (UNREACHABLE) > > /src/pybind/rbd/rbd.c: 30844 in __pyx_pf_3rbd_3RBD_96group_list() > > 30838 * if name] > > 30839 * finally: > > 30840 * free(c_names) # <<<<<<<<<<<<<< > > 30841 * > > 30842 * def group_rename(self, ioctx, src, dest): > > 30843 */ > > > > > CID 1509768: Control flow issues (UNREACHABLE) > > > > > This code cannot be reached: "{ > > __pyx_L4_error: > > ; > > {...". > > 30844 /*finally:*/ { > > 30845 __pyx_L4_error:; > > 30846 /*exception exit:*/{ > > 30847 __Pyx_PyThreadState_declare > > 30848 __Pyx_PyThreadState_assign > > 30849 __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; > > > > ** CID 1509767: (UNCAUGHT_EXCEPT) > > /home/kkeithle/src/github/ceph/src/SimpleRADOSStriper.cc: 547 in SimpleRADOSStriper::lock_keeper_main()() > > /home/kkeithle/src/github/ceph/src/SimpleRADOSStriper.cc: 547 in SimpleRADOSStriper::lock_keeper_main()() > > /home/kkeithle/src/github/ceph/src/SimpleRADOSStriper.cc: 547 in SimpleRADOSStriper::lock_keeper_main()() > > /home/kkeithle/src/github/ceph/src/SimpleRADOSStriper.cc: 547 in SimpleRADOSStriper::lock_keeper_main()() > > /home/kkeithle/src/github/ceph/src/SimpleRADOSStriper.cc: 547 in SimpleRADOSStriper::lock_keeper_main()() > > > > > > ________________________________________________________________________________________________________ > > *** CID 1509767: (UNCAUGHT_EXCEPT) > > /home/kkeithle/src/github/ceph/src/SimpleRADOSStriper.cc: 547 in SimpleRADOSStriper::lock_keeper_main()() > > 541 /* Do lock renewal in a separate thread: while it's unlikely sqlite chews on > > 542 * something for multiple seconds without calling into the VFS (where we could > > 543 * initiate a lock renewal), it's not impossible with complex queries. Also, we > > 544 * want to allow "PRAGMA locking_mode = exclusive" where the application may > > 545 * not use the sqlite3 database connection for an indeterminate amount of time. > > 546 */ > > > > > CID 1509767: (UNCAUGHT_EXCEPT) > > > > > In function "SimpleRADOSStriper::lock_keeper_main()" an exception of type "boost::container::length_error" is thrown and never caught. > > 547 void SimpleRADOSStriper::lock_keeper_main(void) > > 548 { > > 549 d(20) << dendl; > > 550 const auto ext = get_first_extent(); > > 551 while (!shutdown) { > > 552 d(20) << "tick" << dendl; > > /home/kkeithle/src/github/ceph/src/SimpleRADOSStriper.cc: 547 in SimpleRADOSStriper::lock_keeper_main()() > > 541 /* Do lock renewal in a separate thread: while it's unlikely sqlite chews on > > 542 * something for multiple seconds without calling into the VFS (where we could > > 543 * initiate a lock renewal), it's not impossible with complex queries. Also, we > > 544 * want to allow "PRAGMA locking_mode = exclusive" where the application may > > 545 * not use the sqlite3 database connection for an indeterminate amount of time. > > 546 */ > > > > > CID 1509767: (UNCAUGHT_EXCEPT) > > > > > In function "SimpleRADOSStriper::lock_keeper_main()" an exception of type "boost::container::length_error" is thrown and never caught. > > 547 void SimpleRADOSStriper::lock_keeper_main(void) > > 548 { > > 549 d(20) << dendl; > > 550 const auto ext = get_first_extent(); > > 551 while (!shutdown) { > > 552 d(20) << "tick" << dendl; > > /home/kkeithle/src/github/ceph/src/SimpleRADOSStriper.cc: 547 in SimpleRADOSStriper::lock_keeper_main()() > > 541 /* Do lock renewal in a separate thread: while it's unlikely sqlite chews on > > 542 * something for multiple seconds without calling into the VFS (where we could > > 543 * initiate a lock renewal), it's not impossible with complex queries. Also, we > > 544 * want to allow "PRAGMA locking_mode = exclusive" where the application may > > 545 * not use the sqlite3 database connection for an indeterminate amount of time. > > 546 */ > > > > > CID 1509767: (UNCAUGHT_EXCEPT) > > > > > In function "SimpleRADOSStriper::lock_keeper_main()" an exception of type "boost::container::length_error" is thrown and never caught. > > 547 void SimpleRADOSStriper::lock_keeper_main(void) > > 548 { > > 549 d(20) << dendl; > > 550 const auto ext = get_first_extent(); > > 551 while (!shutdown) { > > 552 d(20) << "tick" << dendl; > > /home/kkeithle/src/github/ceph/src/SimpleRADOSStriper.cc: 547 in SimpleRADOSStriper::lock_keeper_main()() > > 541 /* Do lock renewal in a separate thread: while it's unlikely sqlite chews on > > 542 * something for multiple seconds without calling into the VFS (where we could > > 543 * initiate a lock renewal), it's not impossible with complex queries. Also, we > > 544 * want to allow "PRAGMA locking_mode = exclusive" where the application may > > 545 * not use the sqlite3 database connection for an indeterminate amount of time. > > 546 */ > > > > > CID 1509767: (UNCAUGHT_EXCEPT) > > > > > In function "SimpleRADOSStriper::lock_keeper_main()" an exception of type "boost::container::length_error" is thrown and never caught. > > 547 void SimpleRADOSStriper::lock_keeper_main(void) > > 548 { > > 549 d(20) << dendl; > > 550 const auto ext = get_first_extent(); > > 551 while (!shutdown) { > > 552 d(20) << "tick" << dendl; > > /home/kkeithle/src/github/ceph/src/SimpleRADOSStriper.cc: 547 in SimpleRADOSStriper::lock_keeper_main()() > > 541 /* Do lock renewal in a separate thread: while it's unlikely sqlite chews on > > 542 * something for multiple seconds without calling into the VFS (where we could > > 543 * initiate a lock renewal), it's not impossible with complex queries. Also, we > > 544 * want to allow "PRAGMA locking_mode = exclusive" where the application may > > 545 * not use the sqlite3 database connection for an indeterminate amount of time. > > 546 */ > > > > > CID 1509767: (UNCAUGHT_EXCEPT) > > > > > In function "SimpleRADOSStriper::lock_keeper_main()" an exception of type "boost::container::length_error" is thrown and never caught. > > 547 void SimpleRADOSStriper::lock_keeper_main(void) > > 548 { > > 549 d(20) << dendl; > > 550 const auto ext = get_first_extent(); > > 551 while (!shutdown) { > > 552 d(20) << "tick" << dendl; > > > > ** CID 1509766: Uninitialized members (UNINIT_CTOR) > > /home/kkeithle/src/github/ceph/src/messages/MMDSSnapUpdate.h: 32 in MMDSSnapUpdate::MMDSSnapUpdate()() > > > > > > ________________________________________________________________________________________________________ > > *** CID 1509766: Uninitialized members (UNINIT_CTOR) > > /home/kkeithle/src/github/ceph/src/messages/MMDSSnapUpdate.h: 32 in MMDSSnapUpdate::MMDSSnapUpdate()() > > 26 inodeno_t get_ino() const { return ino; } > > 27 int get_snap_op() const { return snap_op; } > > 28 > > 29 ceph::buffer::list snap_blob; > > 30 > > 31 protected: > > > > > CID 1509766: Uninitialized members (UNINIT_CTOR) > > > > > Non-static class member "snap_op" is not initialized in this constructor nor in any functions that it calls. > > 32 MMDSSnapUpdate() : MMDSOp{MSG_MDS_SNAPUPDATE} {} > > 33 MMDSSnapUpdate(inodeno_t i, version_t tid, int op) : > > 34 MMDSOp{MSG_MDS_SNAPUPDATE}, ino(i), snap_op(op) { > > 35 set_tid(tid); > > 36 } > > 37 ~MMDSSnapUpdate() final {} > > > > ** CID 1509765: Performance inefficiencies (AUTO_CAUSES_COPY) > > /home/kkeithle/src/github/ceph/src/common/ceph_json.cc: 934 in JSONFormattable::encode_json(const char *, ceph::Formatter *) const() > > > > > > ________________________________________________________________________________________________________ > > *** CID 1509765: Performance inefficiencies (AUTO_CAUSES_COPY) > > /home/kkeithle/src/github/ceph/src/common/ceph_json.cc: 934 in JSONFormattable::encode_json(const char *, ceph::Formatter *) const() > > 928 break; > > 929 case JSONFormattable::FMT_ARRAY: > > 930 ::encode_json(name, arr, f); > > 931 break; > > 932 case JSONFormattable::FMT_OBJ: > > 933 f->open_object_section(name); > > > > > CID 1509765: Performance inefficiencies (AUTO_CAUSES_COPY) > > > > > Using the "auto" keyword without an "&" causes the copy of an object of type pair. > > 934 for (auto iter : obj) { > > 935 ::encode_json(iter.first.c_str(), iter.second, f); > > 936 } > > 937 f->close_section(); > > 938 break; > > 939 case JSONFormattable::FMT_NONE: > > > > ** CID 1509764: Concurrent data access violations (MISSING_LOCK) > > /home/kkeithle/src/github/ceph/src/common/Finisher.cc: 93 in Finisher::finisher_thread_entry()() > > > > > > ________________________________________________________________________________________________________ > > *** CID 1509764: Concurrent data access violations (MISSING_LOCK) > > /home/kkeithle/src/github/ceph/src/common/Finisher.cc: 93 in Finisher::finisher_thread_entry()() > > 87 } > > 88 // If we are exiting, we signal the thread waiting in stop(), > > 89 // otherwise it would never unblock > > 90 finisher_empty_cond.notify_all(); > > 91 > > 92 ldout(cct, 10) << "finisher_thread stop" << dendl; > > > > > CID 1509764: Concurrent data access violations (MISSING_LOCK) > > > > > Accessing "this->finisher_stop" without holding lock "ceph::mutex_debug_detail::mutex_debug_impl<false>.m". Elsewhere, "Finisher.finisher_stop" is accessed with "mutex_debug_impl.m" held 1 out of 2 times (1 of these accesses strongly imply that it is necessary). > > 93 finisher_stop = false; > > 94 return 0; > > > > ** CID 1509763: (UNCAUGHT_EXCEPT) > > /home/kkeithle/src/github/ceph/src/msg/async/rdma/Infiniband.cc: 1255 in Infiniband::QueuePair::~QueuePair()() > > /home/kkeithle/src/github/ceph/src/msg/async/rdma/Infiniband.cc: 1255 in Infiniband::QueuePair::~QueuePair()() > > > > > > ________________________________________________________________________________________________________ > > *** CID 1509763: (UNCAUGHT_EXCEPT) > > /home/kkeithle/src/github/ceph/src/msg/async/rdma/Infiniband.cc: 1255 in Infiniband::QueuePair::~QueuePair()() > > 1249 delete cq; > > 1250 return NULL; > > 1251 } > > 1252 return cq; > > 1253 } > > 1254 > > > > > CID 1509763: (UNCAUGHT_EXCEPT) > > > > > An exception of type "boost::container::length_error" is thrown but the exception specification "noexcept" doesn't allow it to be thrown. This will result in a call to terminate(). > > 1255 Infiniband::QueuePair::~QueuePair() > > 1256 { > > 1257 ldout(cct, 20) << __func__ << " destroy Queue Pair, qp number: " << qp->qp_num << " left SQ WR " << recv_queue.size() << dendl; > > 1258 if (qp) { > > 1259 ldout(cct, 20) << __func__ << " destroy qp=" << qp << dendl; > > 1260 ceph_assert(!ibv_destroy_qp(qp)); > > /home/kkeithle/src/github/ceph/src/msg/async/rdma/Infiniband.cc: 1255 in Infiniband::QueuePair::~QueuePair()() > > 1249 delete cq; > > 1250 return NULL; > > 1251 } > > 1252 return cq; > > 1253 } > > 1254 > > > > > CID 1509763: (UNCAUGHT_EXCEPT) > > > > > An exception of type "boost::container::length_error" is thrown but the exception specification "noexcept" doesn't allow it to be thrown. This will result in a call to terminate(). > > 1255 Infiniband::QueuePair::~QueuePair() > > 1256 { > > 1257 ldout(cct, 20) << __func__ << " destroy Queue Pair, qp number: " << qp->qp_num << " left SQ WR " << recv_queue.size() << dendl; > > 1258 if (qp) { > > 1259 ldout(cct, 20) << __func__ << " destroy qp=" << qp << dendl; > > 1260 ceph_assert(!ibv_destroy_qp(qp)); > > > > ** CID 1509762: Error handling issues (UNCAUGHT_EXCEPT) > > /home/kkeithle/src/github/ceph/src/msg/async/rdma/Infiniband.cc: 1255 in Infiniband::QueuePair::~QueuePair()() > > > > > > ________________________________________________________________________________________________________ > > *** CID 1509762: Error handling issues (UNCAUGHT_EXCEPT) > > /home/kkeithle/src/github/ceph/src/msg/async/rdma/Infiniband.cc: 1255 in Infiniband::QueuePair::~QueuePair()() > > 1249 delete cq; > > 1250 return NULL; > > 1251 } > > 1252 return cq; > > 1253 } > > 1254 > > > > > CID 1509762: Error handling issues (UNCAUGHT_EXCEPT) > > > > > An exception of type "std::system_error" is thrown but the exception specification "noexcept" doesn't allow it to be thrown. This will result in a call to terminate(). > > 1255 Infiniband::QueuePair::~QueuePair() > > 1256 { > > 1257 ldout(cct, 20) << __func__ << " destroy Queue Pair, qp number: " << qp->qp_num << " left SQ WR " << recv_queue.size() << dendl; > > 1258 if (qp) { > > 1259 ldout(cct, 20) << __func__ << " destroy qp=" << qp << dendl; > > 1260 ceph_assert(!ibv_destroy_qp(qp)); > > > > ** CID 1509761: Error handling issues (CHECKED_RETURN) > > /src/pybind/rados/rados.c: 56264 in __pyx_pw_5rados_5Ioctx_87watch() > > > > > > ________________________________________________________________________________________________________ > > *** CID 1509761: Error handling issues (CHECKED_RETURN) > > /src/pybind/rados/rados.c: 56264 in __pyx_pw_5rados_5Ioctx_87watch() > > 56258 __Pyx_RaiseArgtupleInvalid("watch", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 3314, __pyx_L3_error) > > 56259 __pyx_L3_error:; > > 56260 __Pyx_AddTraceback("rados.Ioctx.watch", __pyx_clineno, __pyx_lineno, __pyx_filename); > > 56261 __Pyx_RefNannyFinishContext(); > > 56262 return NULL; > > 56263 __pyx_L4_argument_unpacking_done:; > > > > > CID 1509761: Error handling issues (CHECKED_RETURN) > > > > > Calling "__Pyx__ArgTypeTest" without checking return value (as is done elsewhere 132 out of 132 times). > > 56264 if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_obj), (&PyUnicode_Type), 1, "obj", 1))) __PYX_ERR(0, 3314, __pyx_L1_error) > > 56265 __pyx_r = __pyx_pf_5rados_5Ioctx_86watch(((struct __pyx_obj_5rados_Ioctx *)__pyx_v_self), __pyx_v_obj, __pyx_v_callback, __pyx_v_error_callback, __pyx_v_timeout); > > 56266 > > 56267 /* "rados.pyx":3314 > > 56268 * return completion > > 56269 * > > > > ** CID 1509760: Error handling issues (CHECKED_RETURN) > > /src/pybind/rados/rados.c: 47064 in __pyx_pw_5rados_5Ioctx_37aio_remove() > > > > > > ________________________________________________________________________________________________________ > > *** CID 1509760: Error handling issues (CHECKED_RETURN) > > /src/pybind/rados/rados.c: 47064 in __pyx_pw_5rados_5Ioctx_37aio_remove() > > 47058 __Pyx_RaiseArgtupleInvalid("aio_remove", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2640, __pyx_L3_error) > > 47059 __pyx_L3_error:; > > 47060 __Pyx_AddTraceback("rados.Ioctx.aio_remove", __pyx_clineno, __pyx_lineno, __pyx_filename); > > 47061 __Pyx_RefNannyFinishContext(); > > 47062 return NULL; > > 47063 __pyx_L4_argument_unpacking_done:; > > > > > CID 1509760: Error handling issues (CHECKED_RETURN) > > > > > Calling "__Pyx__ArgTypeTest" without checking return value (as is done elsewhere 132 out of 132 times). > > 47064 if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_object_name), (&PyUnicode_Type), 1, "object_name", 1))) __PYX_ERR(0, 2640, __pyx_L1_error) > > 47065 __pyx_r = __pyx_pf_5rados_5Ioctx_36aio_remove(((struct __pyx_obj_5rados_Ioctx *)__pyx_v_self), __pyx_v_object_name, __pyx_v_oncomplete, __pyx_v_onsafe); > > 47066 > > 47067 /* "rados.pyx":2640 > > 47068 * return completion > > 47069 * > > > > ** CID 1509759: Program hangs (SLEEP) > > /home/kkeithle/src/github/ceph/src/SimpleRADOSStriper.cc: 703 in SimpleRADOSStriper::lock(unsigned long)() > > > > > > ________________________________________________________________________________________________________ > > *** CID 1509759: Program hangs (SLEEP) > > /home/kkeithle/src/github/ceph/src/SimpleRADOSStriper.cc: 703 in SimpleRADOSStriper::lock(unsigned long)() > > 697 } else if (rc == -EBUSY) { > > 698 if ((slept % 500000) == 0) { > > 699 d(-1) << "waiting for locks: "; > > 700 print_lockers(*_dout); > > 701 *_dout << dendl; > > 702 } > > > > > CID 1509759: Program hangs (SLEEP) > > > > > Call to "usleep" might sleep while holding lock "lock._M_device". > > 703 usleep(5000); > > 704 slept += 5000; > > 705 continue; > > 706 } else if (rc == -ECANCELED) { > > 707 /* CMPXATTR failed, a locker didn't cleanup. Try to recover! */ > > 708 if (rc = recover_lock(); rc < 0) { > > > > ** CID 1509758: Error handling issues (CHECKED_RETURN) > > /src/pybind/rbd/rbd.c: 81568 in __pyx_pw_3rbd_17GroupSnapIterator_1__init__() > > > > > > ________________________________________________________________________________________________________ > > *** CID 1509758: Error handling issues (CHECKED_RETURN) > > /src/pybind/rbd/rbd.c: 81568 in __pyx_pw_3rbd_17GroupSnapIterator_1__init__() > > 81562 __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5773, __pyx_L3_error) > > 81563 __pyx_L3_error:; > > 81564 __Pyx_AddTraceback("rbd.GroupSnapIterator.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); > > 81565 __Pyx_RefNannyFinishContext(); > > 81566 return -1; > > 81567 __pyx_L4_argument_unpacking_done:; > > > > > CID 1509758: Error handling issues (CHECKED_RETURN) > > > > > Calling "__Pyx__ArgTypeTest" without checking return value (as is done elsewhere 8 out of 8 times). > > 81568 if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_group), __pyx_ptype_3rbd_Group, 1, "group", 0))) __PYX_ERR(0, 5773, __pyx_L1_error) > > 81569 __pyx_r = __pyx_pf_3rbd_17GroupSnapIterator___init__(((struct __pyx_obj_3rbd_GroupSnapIterator *)__pyx_v_self), __pyx_v_group); > > 81570 > > 81571 /* function exit code */ > > 81572 goto __pyx_L0; > > 81573 __pyx_L1_error:; > > > > ** CID 1509757: Error handling issues (CHECKED_RETURN) > > /src/pybind/rados/rados.c: 47527 in __pyx_pw_5rados_5Ioctx_41set_locator_key() > > > > > > ________________________________________________________________________________________________________ > > *** CID 1509757: Error handling issues (CHECKED_RETURN) > > /src/pybind/rados/rados.c: 47527 in __pyx_pw_5rados_5Ioctx_41set_locator_key() > > 47521 int __pyx_lineno = 0; > > 47522 const char *__pyx_filename = NULL; > > 47523 int __pyx_clineno = 0; > > 47524 PyObject *__pyx_r = 0; > > 47525 __Pyx_RefNannyDeclarations > > 47526 __Pyx_RefNannySetupContext("set_locator_key (wrapper)", 0); > > > > > CID 1509757: Error handling issues (CHECKED_RETURN) > > > > > Calling "__Pyx__ArgTypeTest" without checking return value (as is done elsewhere 132 out of 132 times). > > 47527 if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc_key), (&PyUnicode_Type), 1, "loc_key", 1))) __PYX_ERR(0, 2680, __pyx_L1_error) > > 47528 __pyx_r = __pyx_pf_5rados_5Ioctx_40set_locator_key(((struct __pyx_obj_5rados_Ioctx *)__pyx_v_self), ((PyObject*)__pyx_v_loc_key)); > > 47529 > > 47530 /* function exit code */ > > 47531 goto __pyx_L0; > > 47532 __pyx_L1_error:; > > > > ** CID 1509756: (CHECKED_RETURN) > > /src/pybind/rgw/rgw.c: 29532 in __Pyx_PyUnicode_Join() > > /src/pybind/cephfs/cephfs.c: 44814 in __Pyx_PyUnicode_Join() > > /src/pybind/rbd/rbd.c: 99756 in __Pyx_PyUnicode_Join() > > /src/pybind/rados/rados.c: 89361 in __Pyx_PyUnicode_Join() > > > > > > ________________________________________________________________________________________________________ > > *** CID 1509756: (CHECKED_RETURN) > > /src/pybind/rgw/rgw.c: 29532 in __Pyx_PyUnicode_Join() > > 29526 char_pos = 0; > > 29527 for (i=0; i < value_count; i++) { > > 29528 int ukind; > > 29529 Py_ssize_t ulength; > > 29530 void *udata; > > 29531 PyObject *uval = PyTuple_GET_ITEM(value_tuple, i); > > > > > CID 1509756: (CHECKED_RETURN) > > > > > Calling "_PyUnicode_Ready" without checking return value (as is done elsewhere 8 out of 8 times). > > 29532 if (unlikely(__Pyx_PyUnicode_READY(uval))) > > 29533 goto bad; > > 29534 ulength = __Pyx_PyUnicode_GET_LENGTH(uval); > > 29535 if (unlikely(!ulength)) > > 29536 continue; > > 29537 if (unlikely(char_pos + ulength < 0)) > > /src/pybind/cephfs/cephfs.c: 44814 in __Pyx_PyUnicode_Join() > > 44808 char_pos = 0; > > 44809 for (i=0; i < value_count; i++) { > > 44810 int ukind; > > 44811 Py_ssize_t ulength; > > 44812 void *udata; > > 44813 PyObject *uval = PyTuple_GET_ITEM(value_tuple, i); > > > > > CID 1509756: (CHECKED_RETURN) > > > > > Calling "_PyUnicode_Ready" without checking return value (as is done elsewhere 8 out of 8 times). > > 44814 if (unlikely(__Pyx_PyUnicode_READY(uval))) > > 44815 goto bad; > > 44816 ulength = __Pyx_PyUnicode_GET_LENGTH(uval); > > 44817 if (unlikely(!ulength)) > > 44818 continue; > > 44819 if (unlikely(char_pos + ulength < 0)) > > /src/pybind/rbd/rbd.c: 99756 in __Pyx_PyUnicode_Join() > > 99750 char_pos = 0; > > 99751 for (i=0; i < value_count; i++) { > > 99752 int ukind; > > 99753 Py_ssize_t ulength; > > 99754 void *udata; > > 99755 PyObject *uval = PyTuple_GET_ITEM(value_tuple, i); > > > > > CID 1509756: (CHECKED_RETURN) > > > > > Calling "_PyUnicode_Ready" without checking return value (as is done elsewhere 8 out of 8 times). > > 99756 if (unlikely(__Pyx_PyUnicode_READY(uval))) > > 99757 goto bad; > > 99758 ulength = __Pyx_PyUnicode_GET_LENGTH(uval); > > 99759 if (unlikely(!ulength)) > > 99760 continue; > > 99761 if (unlikely(char_pos + ulength < 0)) > > /src/pybind/rados/rados.c: 89361 in __Pyx_PyUnicode_Join() > > 89355 char_pos = 0; > > 89356 for (i=0; i < value_count; i++) { > > 89357 int ukind; > > 89358 Py_ssize_t ulength; > > 89359 void *udata; > > 89360 PyObject *uval = PyTuple_GET_ITEM(value_tuple, i); > > > > > CID 1509756: (CHECKED_RETURN) > > > > > Calling "_PyUnicode_Ready" without checking return value (as is done elsewhere 8 out of 8 times). > > 89361 if (unlikely(__Pyx_PyUnicode_READY(uval))) > > 89362 goto bad; > > 89363 ulength = __Pyx_PyUnicode_GET_LENGTH(uval); > > 89364 if (unlikely(!ulength)) > > 89365 continue; > > 89366 if (unlikely(char_pos + ulength < 0)) > > > > ** CID 1509755: Control flow issues (UNREACHABLE) > > /src/pybind/rbd/rbd.c: 72245 in __pyx_pf_3rbd_5Image_210snap_get_trash_namespace() > > > > > > ________________________________________________________________________________________________________ > > *** CID 1509755: Control flow issues (UNREACHABLE) > > /src/pybind/rbd/rbd.c: 72245 in __pyx_pf_3rbd_5Image_210snap_get_trash_namespace() > > 72239 * } > > 72240 * finally: > > 72241 * free(_name) # <<<<<<<<<<<<<< > > 72242 * > > 72243 * @requires_not_closed > > 72244 */ > > > > > CID 1509755: Control flow issues (UNREACHABLE) > > > > > This code cannot be reached: "{ > > __pyx_L4_error: > > ; > > {...". > > 72245 /*finally:*/ { > > 72246 __pyx_L4_error:; > > 72247 /*exception exit:*/{ > > 72248 __Pyx_PyThreadState_declare > > 72249 __Pyx_PyThreadState_assign > > 72250 __pyx_t_14 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; > > > > ** CID 1509754: Uninitialized members (UNINIT_CTOR) > > /home/kkeithle/src/github/ceph/src/messages/MMDSPing.h: 19 in MMDSPing::MMDSPing()() > > > > > > ________________________________________________________________________________________________________ > > *** CID 1509754: Uninitialized members (UNINIT_CTOR) > > /home/kkeithle/src/github/ceph/src/messages/MMDSPing.h: 19 in MMDSPing::MMDSPing()() > > 13 static constexpr int COMPAT_VERSION = 1; > > 14 public: > > 15 version_t seq; > > 16 > > 17 protected: > > 18 MMDSPing() : MMDSOp(MSG_MDS_PING, HEAD_VERSION, COMPAT_VERSION) { > > > > > CID 1509754: Uninitialized members (UNINIT_CTOR) > > > > > Non-static class member "seq" is not initialized in this constructor nor in any functions that it calls. > > 19 } > > 20 MMDSPing(version_t seq) > > 21 : MMDSOp(MSG_MDS_PING, HEAD_VERSION, COMPAT_VERSION), seq(seq) { > > 22 } > > 23 ~MMDSPing() final {} > > 24 > > > > ** CID 1509753: Error handling issues (UNCAUGHT_EXCEPT) > > /home/kkeithle/src/github/ceph/src/osdc/Objecter.cc: 5005 in Objecter::~Objecter()() > > > > > > ________________________________________________________________________________________________________ > > *** CID 1509753: Error handling issues (UNCAUGHT_EXCEPT) > > /home/kkeithle/src/github/ceph/src/osdc/Objecter.cc: 5005 in Objecter::~Objecter()() > > 4999 Dispatcher(cct), messenger(m), monc(mc), service(service) > > 5000 { > > 5001 mon_timeout = cct->_conf.get_val<std::chrono::seconds>("rados_mon_op_timeout"); > > 5002 osd_timeout = cct->_conf.get_val<std::chrono::seconds>("rados_osd_op_timeout"); > > 5003 } > > 5004 > > > > > CID 1509753: Error handling issues (UNCAUGHT_EXCEPT) > > > > > An exception of type "boost::container::length_error" is thrown but the exception specification "noexcept" doesn't allow it to be thrown. This will result in a call to terminate(). > > 5005 Objecter::~Objecter() > > 5006 { > > 5007 ceph_assert(homeless_session->get_nref() == 1); > > 5008 ceph_assert(num_homeless_ops == 0); > > 5009 homeless_session->put(); > > 5010 > > > > ** CID 1509752: Error handling issues (CHECKED_RETURN) > > /src/pybind/rados/rados.c: 63069 in __pyx_pw_5rados_5Ioctx_139remove_omap_keys() > > > > > > ________________________________________________________________________________________________________ > > *** CID 1509752: Error handling issues (CHECKED_RETURN) > > /src/pybind/rados/rados.c: 63069 in __pyx_pw_5rados_5Ioctx_139remove_omap_keys() > > 63063 __Pyx_RaiseArgtupleInvalid("remove_omap_keys", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 3821, __pyx_L3_error) > > 63064 __pyx_L3_error:; > > 63065 __Pyx_AddTraceback("rados.Ioctx.remove_omap_keys", __pyx_clineno, __pyx_lineno, __pyx_filename); > > 63066 __Pyx_RefNannyFinishContext(); > > 63067 return NULL; > > 63068 __pyx_L4_argument_unpacking_done:; > > > > > CID 1509752: Error handling issues (CHECKED_RETURN) > > > > > Calling "__Pyx__ArgTypeTest" without checking return value (as is done elsewhere 19 out of 19 times). > > 63069 if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_write_op), __pyx_ptype_5rados_WriteOp, 1, "write_op", 0))) __PYX_ERR(0, 3821, __pyx_L1_error) > > 63070 __pyx_r = __pyx_pf_5rados_5Ioctx_138remove_omap_keys(((struct __pyx_obj_5rados_Ioctx *)__pyx_v_self), __pyx_v_write_op, __pyx_v_keys); > > 63071 > > 63072 /* function exit code */ > > 63073 goto __pyx_L0; > > 63074 __pyx_L1_error:; > > > > ** CID 1509751: Memory - illegal accesses (USE_AFTER_FREE) > > /home/kkeithle/src/github/ceph/src/msg/async/ProtocolV2.cc: 1399 in ProtocolV2::handle_message()() > > > > > > ________________________________________________________________________________________________________ > > *** CID 1509751: Memory - illegal accesses (USE_AFTER_FREE) > > /home/kkeithle/src/github/ceph/src/msg/async/ProtocolV2.cc: 1399 in ProtocolV2::handle_message()() > > 1393 ldout(cct, 1) << __func__ << " decode message failed " << dendl; > > 1394 return _fault(); > > 1395 } else { > > 1396 state = READ_MESSAGE_COMPLETE; > > 1397 } > > 1398 > > > > > CID 1509751: Memory - illegal accesses (USE_AFTER_FREE) > > > > > Using freed pointer "this->connection". > > 1399 INTERCEPT(17); > > 1400 > > 1401 message->set_byte_throttler(connection->policy.throttler_bytes); > > 1402 message->set_message_throttler(connection->policy.throttler_messages); > > 1403 > > 1404 // store reservation size in message, so we don't get confused > > > > ** CID 1509750: Error handling issues (UNCAUGHT_EXCEPT) > > /home/kkeithle/src/github/ceph/src/common/perf_counters_collection.cc: 55 in ceph::common::PerfCountersDeleter::operator ()(ceph::common::PerfCounters *)() > > > > > > ________________________________________________________________________________________________________ > > *** CID 1509750: Error handling issues (UNCAUGHT_EXCEPT) > > /home/kkeithle/src/github/ceph/src/common/perf_counters_collection.cc: 55 in ceph::common::PerfCountersDeleter::operator ()(ceph::common::PerfCounters *)() > > 49 } > > 50 void PerfCountersCollection::with_counters(std::function<void(const PerfCountersCollectionImpl::CounterMap &)> fn) const > > 51 { > > 52 std::lock_guard lck(m_lock); > > 53 perf_impl.with_counters(fn); > > 54 } > > > > > CID 1509750: Error handling issues (UNCAUGHT_EXCEPT) > > > > > An exception of type "std::system_error" is thrown but the exception specification "noexcept" doesn't allow it to be thrown. This will result in a call to terminate(). > > 55 void PerfCountersDeleter::operator()(PerfCounters* p) noexcept > > 56 { > > 57 if (cct) > > 58 cct->get_perfcounters_collection()->remove(p); > > 59 delete p; > > 60 } > > 61 > > > > > > ________________________________________________________________________________________________________ > > To view the defects in Coverity Scan visit, https://u15810271.ct.sendgrid.net/ls/click?upn=HRESupC-2F2Czv4BOaCWWCy7my0P0qcxCbhZ31OYv50yojIR8ODHcGVd1JcCGjvdH5QZ17VgLZQT3XYfB8Bhzp4w-3D-3Dapsi_yvgqM0IBcPiStiVTuWpgYFnMA4H-2BJYqMHWw4jQPoaoo-2BtqsVYKtfl9A0JRaS-2FbbUsKzdvQMj2WBidmXXDYpXO5qx9Y4cnFn0p-2FQkZWWe5JHh8ejaBgEwaUzBM3x-2FyM-2FOpvKqhT-2BCzg-2FNUNemZtHf5voIH7BYbWLrdioyp5fcmOVIoUi-2FywPSoY8zfzN1w6jANMlnLaDKN7b-2BOFQMLI5WK5wsImAoh9oNG6AqvJrylMM-3D > > > > -- > Jeff Layton <jlayton@xxxxxxxxxx> > -- Cheers, Brad