id summary reporter owner description type status milestone component version severity resolution keywords cc 6006 Potential epoll fd leak in boost::asio::detail::epoll_reactor yafei.zhang@… chris_kohlhoff "in boost/asio/detail/epoll_reactor.hpp: // Constructor. epoll_reactor(boost::asio::io_service& io_service) : boost::asio::detail::service_base >(io_service), mutex_(), epoll_fd_(do_epoll_create()), ------> epoll_fd_ may leak if the following member's initialization throws an exception wait_in_progress_(false), interrupter_(), ------> may throw because of EMFILE read_op_queue_(), write_op_queue_(), except_op_queue_(), pending_cancellations_(), stop_thread_(false), thread_(0), shutdown_(false), need_epoll_wait_(true) { // Start the reactor's internal thread only if needed. if (Own_Thread) { boost::asio::detail::signal_blocker sb; thread_ = new boost::asio::detail::thread( bind_handler(&epoll_reactor::call_run_thread, this)); } // Add the interrupter's descriptor to epoll. epoll_event ev = { 0, { 0 } }; ev.events = EPOLLIN | EPOLLERR; ev.data.fd = interrupter_.read_descriptor(); epoll_ctl(epoll_fd_, EPOLL_CTL_ADD, interrupter_.read_descriptor(), &ev); } and in 1.47.0, there is a similar situation: epoll_fd_ and timer_fd_ may leak. " Bugs closed To Be Determined asio Boost 1.40.0 Problem fixed