Boost C++ Libraries: Ticket #4766: MinGW: ip_tcp test hangs on io_service::run() after tcp::socket::cancel() https://svn.boost.org/trac10/ticket/4766 <p> The MinGW-32 <a href="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</a> (current as of 2010/10/21) simply says: </p> <pre class="wiki">Run [2010-10-21 16:24:46 UTC]: fail </pre><p> bjam.log says: </p> <pre class="wiki">300 second time limit exceeded </pre><p> Running it in gdb verifies that it seems hung indefinitely, and breaking shows this stack trace: </p> <pre class="wiki">#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&lt;boost::unit_test::ut_detail::unused&gt;::invoke&lt;void (*)()&gt; (this=0x23f93f, f=@0x386cc) at ../boost/test/utils/callback.hpp:56 #8 0x00466a63 in boost::unit_test::ut_detail::callback0_impl_t&lt;boost::unit_test::ut_detail::unused, void (*)()&gt;::invoke (this=0x386c8) at ../boost/test/utils/callback.hpp:89 #9 0x00473065 in boost::unit_test::callback0&lt;boost::unit_test::ut_detail::unused&gt;::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&lt;boost::unit_test::&lt;unnamed&gt;::zero_return_wrapper_t&lt;boost::unit_test::callback0&lt;boost::unit_test::ut_detail::unused&gt; &gt; &gt; ( 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&lt;int&gt;::operator() (this=0x23fad4) at ../boost/test/utils/callback.hpp:118 #14 0x004500ad in boost::detail::do_invoke&lt;boost::shared_ptr&lt;boost::detail::translator_holder_base&gt;, boost::unit_test::callback0&lt;int&gt; &gt; (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 &lt;init_unit_test_suite(int, char**)&gt;, 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 </pre><p> Key line: ..\libs\asio\test\ip\tcp.cpp:453; The io_service::run() call after tcp::socket::cancel(). </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/4766 Trac 1.4.3 Richard Webb <richard.webb@…> Fri, 22 Oct 2010 09:40:34 GMT <link>https://svn.boost.org/trac10/ticket/4766#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4766#comment:1</guid> <description> <p> fwiw, I'm not seeing this issue on Mingw 4.5.1 / WinXP (see the RW_Mingw45 runer on Trunk). </p> </description> <category>Ticket</category> </item> <item> <dc:creator>chris_kohlhoff</dc:creator> <pubDate>Fri, 22 Oct 2010 10:15:48 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/4766#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4766#comment:2</guid> <description> <p> I do not think MinGW is the issue here. The VC8 jc-bell.com ip_tcp test also fails. Is this run on the same machine? </p> <p> If so, I suspect that there is a non-standard (and possibly buggy) Winsock LSP (Layered Service Provider) installed on the system. Perhaps there is a firewall or some VPN software installed?. The Microsoft tool sporder.exe (included with some versions of the Windows SDK) will tell you what LSPs are installed. </p> </description> <category>Ticket</category> </item> <item> <author>Jim Bell <jim@…></author> <pubDate>Fri, 22 Oct 2010 10:58:35 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/4766#comment:3 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4766#comment:3</guid> <description> <p> Indeed they are run on the same machine. I'll investigate. Thanks for the pointer. </p> </description> <category>Ticket</category> </item> </channel> </rss>