Boost C++ Libraries: Ticket #8605: SIGSEGV at asio/detail/impl/epoll_reactor.ipp https://svn.boost.org/trac10/ticket/8605 <p> Program received signal SIGSEGV, Segmentation fault. </p> <p> (gdb) bt <a class="missing ticket">#0</a> 0x0000000000505e69 in boost::asio::detail::epoll_reactor::start_op (this=0x7fffd4002bf0, op_type=1, descriptor=39, </p> <blockquote> <p> descriptor_data=@0x7fffd4003920: 0x0, op=0x7fffc8002940, allow_speculative=false) at /usr/include/boost/asio/detail/impl/epoll_reactor.ipp:217 </p> </blockquote> <p> <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/1" title="#1: Bugs: boost.build causes ftjam to segfault (closed: Wont Fix)">#1</a> 0x00000000005086e2 in boost::asio::detail::reactive_descriptor_service::start_op (this=0x7fffd40039d8, impl=..., op_type=1, </p> <blockquote> <p> op=0x7fffc8002940, is_non_blocking=false, noop=false) at /usr/include/boost/asio/detail/impl/reactive_descriptor_service.ipp:189 </p> </blockquote> <p> <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/2" title="#2: Bugs: list::size should be const (closed: fixed)">#2</a> 0x000000000050b877 in boost::asio::detail::reactive_descriptor_service::async_write_some&lt;boost::_bi::bind_t&lt;void, boost::_mfi::mf1&lt;void, eve::USBDeviceProxy::Impl, boost::system::error_code const&amp;&gt;, boost::_bi::list2&lt;boost::_bi::value&lt;eve::USBDeviceProxy::Impl*&gt;, boost::arg&lt;1&gt; (*)()&gt; &gt; &gt; (this=0x7fffd40039d8, impl=..., handler=...) </p> <blockquote> <p> at /usr/include/boost/asio/detail/reactive_descriptor_service.hpp:221 </p> </blockquote> <p> <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/3" title="#3: Bugs: automatic conversion and overload proble (closed: fixed)">#3</a> 0x000000000050ae03 in boost::asio::posix::stream_descriptor_service::async_write_some&lt;boost::asio::null_buffers, boost::_bi::bind_t&lt;void, boost::_mfi::mf1&lt;void, eve::USBDeviceProxy::Impl, boost::system::error_code const&amp;&gt;, boost::_bi::list2&lt;boost::_bi::value&lt;eve::USBDeviceProxy::Impl*&gt;, boost::arg&lt;1&gt; (*)()&gt; &gt; &gt; (this=0x7fffd40039b0, impl=..., buffers=..., handler=...) </p> <blockquote> <p> at /usr/include/boost/asio/posix/stream_descriptor_service.hpp:205 </p> </blockquote> <p> <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/4" title="#4: Bugs: any_ptr in any library documentation? (closed: Fixed)">#4</a> 0x0000000000509fe5 in boost::asio::posix::basic_stream_descriptor&lt;boost::asio::posix::stream_descriptor_service&gt;::async_write_some&lt;boost::asio::null_buffers, boost::_bi::bind_t&lt;void, boost::_mfi::mf1&lt;void, eve::USBDeviceProxy::Impl, boost::system::error_code const&amp;&gt;, boost::_bi::list2&lt;boost::_bi::value&lt;eve::USBDeviceProxy::Impl*&gt;, boost::arg&lt;1&gt; (*)()&gt; &gt; &gt; (this=0x7fffd4003910, </p> <blockquote> <p> buffers=..., handler=...) at /usr/include/boost/asio/posix/basic_stream_descriptor.hpp:235 </p> </blockquote> <p> <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/5" title="#5: Bugs: shared_ptr and self-owning objects (closed: Fixed)">#5</a> 0x00000000004fe402 in eve::USBDeviceProxy::Impl::schedule_async_write (this=0x7fffd4003870) at usbdevice_proxy.cpp:513 <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/6" title="#6: Bugs: tie in utility.hpp and tuple.hpp clash. (closed: Duplicate)">#6</a> 0x00000000004fe5d7 in eve::USBDeviceProxy::Impl::do_write (this=0x7fffd4003870, ec=...) at usbdevice_proxy.cpp:551 <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/7" title="#7: Bugs: g++ 2.96 requires NO_STRINGSTREAM (closed: Fixed)">#7</a> 0x000000000050ce18 in boost::_mfi::mf1&lt;void, eve::USBDeviceProxy::Impl, boost::system::error_code const&amp;&gt;::operator() ( </p> <blockquote> <p> this=0x7fffe55df9e0, p=0x7fffd4003870, a1=...) at /usr/include/boost/bind/mem_fn_template.hpp:165 </p> </blockquote> <p> <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/8" title="#8: Bugs: prop in undirected graph + out_edges (closed: Works For Me)">#8</a> 0x000000000050ccf7 in boost::_bi::list2&lt;boost::_bi::value&lt;eve::USBDeviceProxy::Impl*&gt;, boost::arg&lt;1&gt; (*)()&gt;::operator()&lt;boost::_mfi::mf1&lt;void, eve::USBDeviceProxy::Impl, boost::system::error_code const&amp;&gt;, boost::_bi::list2&lt;boost::system::error_code const&amp;, unsigned long const&amp;&gt; &gt; (this=0x7fffe55df9f0, f=..., a=...) at /usr/include/boost/bind/bind.hpp:313 <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/9" title="#9: Bugs: config_info ambiguity error (closed: Invalid)">#9</a> 0x000000000050cc34 in boost::_bi::bind_t&lt;void, boost::_mfi::mf1&lt;void, eve::USBDeviceProxy::Impl, boost::system::error_code const&amp;&gt;, boost::_bi::list2&lt;boost::_bi::value&lt;eve::USBDeviceProxy::Impl*&gt;, boost::arg&lt;1&gt; (*)()&gt; &gt;::operator()&lt;boost::system::error_code, unsigned long&gt; (this=0x7fffe55df9e0, a1=..., a2=@0x7fffe55dfa08: 0) at /usr/include/boost/bind/bind_template.hpp:102 <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/10" title="#10: Bugs: allyourbase.jam file is bad. (closed: Out of Date)">#10</a> 0x000000000050cbe5 in boost::asio::detail::binder2&lt;boost::_bi::bind_t&lt;void, boost::_mfi::mf1&lt;void, eve::USBDeviceProxy::Impl, boost::system::error_code const&amp;&gt;, boost::_bi::list2&lt;boost::_bi::value&lt;eve::USBDeviceProxy::Impl*&gt;, boost::arg&lt;1&gt; (*)()&gt; &gt;, boost::system::error_code, unsigned long&gt;::operator() (this=0x7fffe55df9e0) at /usr/include/boost/asio/detail/bind_handler.hpp:118 <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/11" title="#11: Bugs: why not using mt19937? (closed: Fixed)">#11</a> 0x000000000050ca8a in boost::asio::asio_handler_invoke&lt;boost::asio::detail::binder2&lt;boost::_bi::bind_t&lt;void, boost::_mfi::mf1&lt;void, eve::USBDeviceProxy::Impl, boost::system::error_code const&amp;&gt;, boost::_bi::list2&lt;boost::_bi::value&lt;eve::USBDeviceProxy::Impl*&gt;, boost::arg&lt;1&gt; (*)()&gt; &gt;, boost::system::error_code, unsigned long&gt; &gt; (function=...) </p> <blockquote> <p> at /usr/include/boost/asio/handler_invoke_hook.hpp:64 </p> </blockquote> <p> <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/12" title="#12: Bugs: Can't specify VertexPredicate (closed: Fixed)">#12</a> 0x000000000050c944 in boost_asio_handler_invoke_helpers::invoke&lt;boost::asio::detail::binder2&lt;boost::_bi::bind_t&lt;void, boost::---Type &lt;return&gt; to continue, or q &lt;return&gt; to quit--- _mfi::mf1&lt;void, eve::USBDeviceProxy::Impl, boost::system::error_code const&amp;&gt;, boost::_bi::list2&lt;boost::_bi::value&lt;eve::USBDeviceProxy::Impl*&gt;, boost::arg&lt;1&gt; (*)()&gt; &gt;, boost::system::error_code, unsigned long&gt;, boost::_bi::bind_t&lt;void, boost::_mfi::mf1&lt;void, eve::USBDeviceProxy::Impl, boost::system::error_code const&amp;&gt;, boost::_bi::list2&lt;boost::_bi::value&lt;eve::USBDeviceProxy::Impl*&gt;, boost::arg&lt;1&gt; (*)()&gt; &gt; &gt; (function=..., context=...) at /usr/include/boost/asio/detail/handler_invoke_helpers.hpp:39 <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/13" title="#13: Bugs: iterator_adapter and abstract classes (closed: Out of Date)">#13</a> 0x000000000050c51a in boost::asio::detail::reactive_null_buffers_op&lt;boost::_bi::bind_t&lt;void, boost::_mfi::mf1&lt;void, eve::USBDeviceProxy::Impl, boost::system::error_code const&amp;&gt;, boost::_bi::list2&lt;boost::_bi::value&lt;eve::USBDeviceProxy::Impl*&gt;, boost::arg&lt;1&gt; (*)()&gt; &gt; &gt;::do_complete (owner=0x7fffd40029e0, base=0x7fffc8002940) </p> <blockquote> <p> at /usr/include/boost/asio/detail/reactive_null_buffers_op.hpp:75 </p> </blockquote> <p> <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/14" title="#14: Feature Requests: Support for static data members (closed: Out of Date)">#14</a> 0x0000000000504f30 in boost::asio::detail::task_io_service_operation::complete (this=0x7fffc8002940, owner=..., ec=..., </p> <blockquote> <p> bytes_transferred=0) at /usr/include/boost/asio/detail/task_io_service_operation.hpp:37 </p> </blockquote> <p> <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/15" title="#15: Feature Requests: thread class needs join() with timeout (closed: None)">#15</a> 0x0000000000506b29 in boost::asio::detail::epoll_reactor::descriptor_state::do_complete (owner=0x7fffd40029e0, </p> <blockquote> <p> base=0x7fffd4002b00, ec=..., bytes_transferred=24) at /usr/include/boost/asio/detail/impl/epoll_reactor.ipp:624 </p> </blockquote> <p> <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/16" title="#16: Feature Requests: way to defer thread creation needed (closed: None)">#16</a> 0x0000000000504f30 in boost::asio::detail::task_io_service_operation::complete (this=0x7fffd4002b00, owner=..., ec=..., </p> <blockquote> <p> bytes_transferred=24) at /usr/include/boost/asio/detail/task_io_service_operation.hpp:37 </p> </blockquote> <p> <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/17" title="#17: Feature Requests: Socket wrapper class (closed: fixed)">#17</a> 0x00000000005075c4 in boost::asio::detail::task_io_service::do_run_one (this=0x7fffd40029e0, lock=..., this_thread=..., </p> <blockquote> <p> private_op_queue=..., ec=...) at /usr/include/boost/asio/detail/impl/task_io_service.ipp:369 </p> </blockquote> <p> <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/18" title="#18: Bugs: lexical_cast fails in some cases (closed: Fixed)">#18</a> 0x0000000000507061 in boost::asio::detail::task_io_service::run (this=0x7fffd40029e0, ec=...) </p> <blockquote> <p> at /usr/include/boost/asio/detail/impl/task_io_service.ipp:146 </p> </blockquote> <p> <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/19" title="#19: Bugs: Problems building on NT &amp; Linux (closed: Out of Date)">#19</a> 0x00000000005079a3 in boost::asio::io_service::run (this=0x7fffd40038e8) at /usr/include/boost/asio/impl/io_service.ipp:59 <a class="deleted ticket" href="https://svn.boost.org/trac10/ticket/20" title="#20: Support Requests: passwords in c++ programming (deleted)">#20</a> 0x00000000004fe2c1 in eve::USBDeviceProxy::Impl::do_run (this=0x7fffd4003870) at usbdevice_proxy.cpp:495 <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/21" title="#21: Bugs: Can't compile transitive closure example (closed: Out of Date)">#21</a> 0x000000000050d421 in boost::_mfi::mf0&lt;void, eve::USBDeviceProxy::Impl&gt;::operator() (this=0x7fffd4004b88, p=0x7fffd4003870) </p> <blockquote> <p> at /usr/include/boost/bind/mem_fn_template.hpp:49 </p> </blockquote> <p> <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/22" title="#22: Support Requests: compilation failure on Linux RH 7.1 (closed: Wont Fix)">#22</a> 0x000000000050d3a2 in boost::_bi::list1&lt;boost::_bi::value&lt;eve::USBDeviceProxy::Impl*&gt; &gt;::operator()&lt;boost::_mfi::mf0&lt;void, eve::USBDeviceProxy::Impl&gt;, boost::_bi::list0&gt; (this=0x7fffd4004b98, f=..., a=...) at /usr/include/boost/bind/bind.hpp:253 <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/23" title="#23: Bugs: Trivial doc error (closed: Fixed)">#23</a> 0x000000000050d347 in boost::_bi::bind_t&lt;void, boost::_mfi::mf0&lt;void, eve::USBDeviceProxy::Impl&gt;, boost::_bi::list1&lt;boost::_bi::value&lt;eve::USBDeviceProxy::Impl*&gt; &gt; &gt;::operator() (this=0x7fffd4004b88) at /usr/include/boost/bind/bind_template.hpp:20 <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/24" title="#24: Bugs: smart_ptr.hpp warnings on vacpp (closed: Wont Fix)">#24</a> 0x000000000050d21a in boost::detail::thread_data&lt;boost::_bi::bind_t&lt;void, boost::_mfi::mf0&lt;void, eve::USBDeviceProxy::Impl&gt;, boost::_bi::list1&lt;boost::_bi::value&lt;eve::USBDeviceProxy::Impl*&gt; &gt; &gt; &gt;::run (this=0x7fffd4004a00) </p> <blockquote> <p> at /usr/include/boost/thread/detail/thread.hpp:62 </p> </blockquote> <p> <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/25" title="#25: Bugs: duplicate symbol string_compare on Sun (closed: Fixed)">#25</a> 0x00007ffff72f66e9 in ?? () from /usr/lib/libboost_thread.so.1.49.0 <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/26" title="#26: Feature Requests: mem_iter - iterator to object member (closed: wontfix)">#26</a> 0x00007ffff770ff8e in start_thread (arg=0x7fffe55e0700) at pthread_create.c:311 <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/27" title="#27: Bugs: type_traits warnings on MSVC (1.26.0) (closed: Fixed)">#27</a> 0x00007ffff659be1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113 </p> <p> void epoll_reactor::start_op(int op_type, socket_type descriptor, </p> <blockquote> <p> epoll_reactor::per_descriptor_data&amp; descriptor_data, reactor_op* op, bool allow_speculative) </p> </blockquote> <p> { </p> <blockquote> <p> if (!descriptor_data) { </p> <blockquote> <p> op-&gt;ec_ = boost::asio::error::bad_descriptor; post_immediate_completion(op); return; </p> </blockquote> <p> } </p> </blockquote> <blockquote> <p> mutex::scoped_lock descriptor_lock(descriptor_data-&gt;mutex_); </p> </blockquote> <blockquote> <p> if (descriptor_data-&gt;shutdown_) <em> segfault, line 217 </em></p> </blockquote> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/8605 Trac 1.4.3 Vadim Grinchishin <vadimgrn@…> Wed, 22 May 2013 13:29:47 GMT attachment set https://svn.boost.org/trac10/ticket/8605 https://svn.boost.org/trac10/ticket/8605 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">asio</span> </li> </ul> Ticket chris_kohlhoff Fri, 24 May 2013 02:39:14 GMT status, severity changed; resolution set https://svn.boost.org/trac10/ticket/8605#comment:1 https://svn.boost.org/trac10/ticket/8605#comment:1 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">worksforme</span> </li> <li><strong>severity</strong> <span class="trac-field-old">Showstopper</span> → <span class="trac-field-new">Problem</span> </li> </ul> <p> I suspect your program is destroying the socket from one thread while it is still in use from another. If this is not the case, please attach a small, self-contained test case that reproduces the problem with the most recent version of boost. Thanks. </p> Ticket