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