[Boost-bugs] [Boost C++ Libraries] #4766: MinGW: ip_tcp test hangs on io_service::run() after tcp::socket::cancel()

Subject: [Boost-bugs] [Boost C++ Libraries] #4766: MinGW: ip_tcp test hangs on io_service::run() after tcp::socket::cancel()
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2010-10-22 02:13:25


#4766: MinGW: ip_tcp test hangs on io_service::run() after tcp::socket::cancel()
------------------------------------------------------------+---------------
 Reporter: Jim Bell <jim@…> | Owner: chris_kohlhoff
     Type: Bugs | Status: new
Milestone: Boost-1.45.0 | Component: asio
  Version: Boost 1.44.0 | Severity: Problem
 Keywords: mingw gcc-4.4 tcp socket cancel io_service run |
------------------------------------------------------------+---------------
 The MinGW-32
 [http://www.boost.org/development/tests/trunk/developer/MinGW-32%20jc-
 bell-com-asio-gcc-mingw-4-4-0-ip_tcp-variants_.html trunk regression test]
 (current as of 2010/10/21) simply says:
 {{{
 Run [2010-10-21 16:24:46 UTC]: fail
 }}}
 bjam.log says:
 {{{
 300 second time limit exceeded
 }}}
 Running it in gdb verifies that it seems hung indefinitely, and breaking
 shows this stack trace:
 {{{
 #0 0x7c90e514 in ntdll!LdrAccessResource ()
    from C:\WINDOWS\system32\ntdll.dll
 #1 0x7c90da4a in ntdll!ZwRemoveIoCompletion ()
    from C:\WINDOWS\system32\ntdll.dll
 #2 0x7c80a7e6 in KERNEL32!GetQueuedCompletionStatus ()
    from C:\WINDOWS\system32\kernel32.dll
 #3 0x00443dfb in boost::asio::detail::win_iocp_io_service::do_one (
     this=0x3e8f8, block=true, ec=@0x23f314)
     at ../boost/asio/detail/impl/win_iocp_io_service.ipp:349
 #4 0x00443954 in boost::asio::detail::win_iocp_io_service::run (
     this=0x3e8f8, ec=@0x23f314)
     at ../boost/asio/detail/impl/win_iocp_io_service.ipp:160
 #5 0x00438cee in boost::asio::io_service::run (this=0x23f61c)
     at ../boost/asio/impl/io_service.ipp:57
 #6 0x004061c1 in ip_tcp_socket_runtime::test ()
     at ..\libs\asio\test\ip\tcp.cpp:453
 #7 0x0046873a in
 boost::unit_test::ut_detail::invoker<boost::unit_test::ut_detail::unused>::invoke<void
 (*)()> (this=0x23f93f, f=@0x386cc)
     at ../boost/test/utils/callback.hpp:56
 #8 0x00466a63 in
 boost::unit_test::ut_detail::callback0_impl_t<boost::unit_test::ut_detail::unused,
 void (*)()>::invoke (this=0x386c8)
     at ../boost/test/utils/callback.hpp:89
 #9 0x00473065 in
 boost::unit_test::callback0<boost::unit_test::ut_detail::unused>::operator()
 (this=0x38aac) at ../boost/test/utils/callback.hpp:118
 #10 0x004214c1 in operator() (this=0x34dac)
     at ../boost/test/impl/unit_test_monitor.ipp:41
 #11 0x004214ab in
 invoke<boost::unit_test::<unnamed>::zero_return_wrapper_t<boost::unit_test::callback0<boost::unit_test::ut_detail::unused>
> > (
     this=0x23f9cf, f=@0x34dac) at ../boost/test/utils/callback.hpp:42
 #12 0x00421497 in invoke (this=0x34da8) at
 ../boost/test/utils/callback.hpp:89
 #13 0x00473085 in boost::unit_test::callback0<int>::operator()
 (this=0x23fad4)
     at ../boost/test/utils/callback.hpp:118
 #14 0x004500ad in
 boost::detail::do_invoke<boost::shared_ptr<boost::detail::translator_holder_base>,
 boost::unit_test::callback0<int> > (tr=@0x4e6540,
     F=@0x23fad4) at ../boost/test/impl/execution_monitor.ipp:253
 #15 0x004204cb in boost::execution_monitor::catch_signals (this=0x4e6530,
     F=@0x23fad4) at ../boost/test/impl/execution_monitor.ipp:1129
 #16 0x0042064d in boost::execution_monitor::execute (this=0x4e6530,
     F=@0x23fad4) at ../boost/test/impl/execution_monitor.ipp:1160
 #17 0x004210b6 in
 boost::unit_test::unit_test_monitor_t::execute_and_translate
     (this=0x4e6530, tc=@0x38a80)
     at ../boost/test/impl/unit_test_monitor.ipp:69
 #18 0x00460d53 in boost::unit_test::framework_impl::visit (this=0x5233c8,
     tc=@0x38a80) at ../boost/test/impl/framework.ipp:156
 #19 0x00409e33 in boost::unit_test::traverse_test_tree (tc=@0x38a80,
     V=@0x5233c8) at ../boost/test/impl/unit_test_suite.ipp:193
 #20 0x0040a267 in boost::unit_test::traverse_test_tree (id=65539,
 V=@0x5233c8)
     at ../boost/test/impl/unit_test_suite.ipp:232
 #21 0x00409f70 in boost::unit_test::traverse_test_tree (suite=@0x385c8,
     V=@0x5233c8) at ../boost/test/impl/unit_test_suite.ipp:207
 #22 0x0040a283 in boost::unit_test::traverse_test_tree (id=2, V=@0x5233c8)
     at ../boost/test/impl/unit_test_suite.ipp:234
 #23 0x00409f70 in boost::unit_test::traverse_test_tree (suite=@0x384d8,
     V=@0x5233c8) at ../boost/test/impl/unit_test_suite.ipp:207
 #24 0x0040a283 in boost::unit_test::traverse_test_tree (id=1, V=@0x5233c8)
     at ../boost/test/impl/unit_test_suite.ipp:234
 #25 0x0040d9d1 in boost::unit_test::framework::run (id=1,
 continue_test=true)
     at ../boost/test/impl/framework.ipp:442
 #26 0x00407ddd in boost::unit_test::unit_test_main (
     init_func=0x407695 <init_unit_test_suite(int, char**)>, argc=1,
     argv=0x32f08) at ../boost/test/impl/unit_test_main.ipp:185
 #27 0x00407fd1 in main (argc=1, argv=0x32f08)
     at ../boost/test/impl/unit_test_main.ipp:237
 }}}

 Key line: ..\libs\asio\test\ip\tcp.cpp:453; The io_service::run() call
 after tcp::socket::cancel().

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/4766>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:04 UTC