Version: (using Devel) Compiler: gcc (Ubuntu 4.3.3-5ubuntu4) 4.3.3 OS: Linux Installed from: Compiled sources On Ubuntu 9.04 I use valgrind-3.4.1-Debian and run this command: valgrind --trace-children=yes --read-var-info=yes --num-callers=2 --tool=exp-ptrcheck nab/network/test/nabnetwork_unit_test and get this result: ==29918== exp-ptrcheck, a heap, stack & global array overrun detector. ==29918== NOTE: This is an Experimental-Class Valgrind Tool. ==29918== Copyright (C) 2003-2008, and GNU GPL'd, by OpenWorks Ltd et al. ==29918== Using LibVEX rev 1884, a library for dynamic binary translation. ==29918== Copyright (C) 2004-2008, and GNU GPL'd, by OpenWorks LLP. ==29918== Using valgrind-3.4.1-Debian, a dynamic binary instrumentation framework. ==29918== Copyright (C) 2000-2008, and GNU GPL'd, by Julian Seward et al. ==29918== For more details, rerun with: -v ==29918== Running 7 test cases... INF[2009-09-25 13:00:41.500][network_unit_test][0x42f9f10][nab/network/test/network_unit_test.cpp(276) iserver_test_interface] start sysno == 254 exp-ptrcheck: the 'impossible' happened: unhandled syscall ==29918== at 0x38012BDD: report_and_quit (m_libcassert.c:140) ==29918== by 0x38012CFB: panic (m_libcassert.c:215) ==29918== by 0x38012D57: vgPlain_tool_panic (m_libcassert.c:230) ==29918== by 0x380038BE: h_post_syscall (h_main.c:2486) ==29918== by 0x3803D355: vgPlain_post_syscall (syswrap-main.c:1178) ==29918== by 0x3803DECC: vgPlain_client_syscall (syswrap-main.c:1090) ==29918== by 0x3803ACC8: handle_syscall (scheduler.c:824) ==29918== by 0x3803BCBE: vgPlain_scheduler (scheduler.c:1018) ==29918== by 0x38051698: run_a_thread_NORETURN (syswrap-linux.c:89) sched status: running_tid=1 Thread 1: status = VgTs_Runnable ==29918== at 0x40007F2: (within /lib/ld-2.9.so) ==29918== by 0x8144725: boost::asio::detail::epoll_reactor<false>::epoll_reactor(boost::asio::io_service&) (epoll_reactor.hpp:78) ==29918== by 0x8144967: boost::asio::detail::epoll_reactor<false>& boost::asio::detail::service_registry::use_service<boost::asio::detail::epoll_reactor<false> >() (service_registry.hpp:109) ==29918== by 0x8144ABE: boost::asio::detail::epoll_reactor<false>& boost::asio::use_service<boost::asio::detail::epoll_reactor<false> >(boost::asio::io_service&) (io_service.ipp:195) ==29918== by 0x8144BC3: boost::asio::detail::reactive_socket_service<boost::asio::ip::tcp, boost::asio::detail::epoll_reactor<false> >::reactive_socket_service(boost::asio::io_service&) (reactive_socket_service.hpp:111) ==29918== by 0x8144C8D: boost::asio::detail::reactive_socket_service<boost::asio::ip::tcp, boost::asio::detail::epoll_reactor<false> >& boost::asio::detail::service_registry::use_service<boost::asio::detail::reactive_socket_service<boost::asio::ip::tcp, boost::asio::detail::epoll_reactor<false> > >() (service_registry.hpp:109) ==29918== by 0x8144DE4: boost::asio::detail::reactive_socket_service<boost::asio::ip::tcp, boost::asio::detail::epoll_reactor<false> >& boost::asio::use_service<boost::asio::detail::reactive_socket_service<boost::asio::ip::tcp, boost::asio::detail::epoll_reactor<false> > >(boost::asio::io_service&) (io_service.ipp:195) ==29918== by 0x8144E15: boost::asio::stream_socket_service<boost::asio::ip::tcp>::stream_socket_service(boost::asio::io_service&) (stream_socket_service.hpp:95) ==29918== by 0x8144ECF: boost::asio::stream_socket_service<boost::asio::ip::tcp>& boost::asio::detail::service_registry::use_service<boost::asio::stream_socket_service<boost::asio::ip::tcp> >() (service_registry.hpp:109) ==29918== by 0x8145026: boost::asio::stream_socket_service<boost::asio::ip::tcp>& boost::asio::use_service<boost::asio::stream_socket_service<boost::asio::ip::tcp> >(boost::asio::io_service&) (io_service.ipp:195) ==29918== by 0x8145047: boost::asio::basic_io_object<boost::asio::stream_socket_service<boost::asio::ip::tcp> >::basic_io_object(boost::asio::io_service&) (basic_io_object.hpp:72) ==29918== by 0x81450B5: boost::asio::basic_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >::basic_socket(boost::asio::io_service&) (basic_socket.hpp:67) ==29918== by 0x81450DB: boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >::basic_stream_socket(boost::asio::io_service&) (basic_stream_socket.hpp:70) ==29918== by 0x8120025: ServerImpl::createCompatibleSocket(bool) (serverimpl.cpp:714) ==29918== by 0x814DADD: iserver_test_interface() (network_unit_test.cpp:282) ==29918== by 0x815DC98: boost::unit_test::ut_detail::unused boost::unit_test::ut_detail::invoker<boost::unit_test::ut_detail::unused>::invoke<void (*)()>(void (*&)()) (callback.hpp:56) ==29918== by 0x815DCC2: boost::unit_test::ut_detail::callback0_impl_t<boost::unit_test::ut_detail::unused, void (*)()>::invoke() (callback.hpp:89) ==29918== by 0x81918CC: boost::unit_test::ut_detail::callback0_impl_t<int, boost::unit_test::(anonymous namespace)::zero_return_wrapper_t<boost::unit_test::callback0<boost::unit_test::ut_detail::unused> > >::invoke() (in /home/radu/core/nab/network/test/nabnetwork_unit_test) ==29918== by 0x81B2C44: boost::execution_monitor::catch_signals(boost::unit_test::callback0<int> const&) (in /home/radu/core/nab/network/test/nabnetwork_unit_test) ==29918== by 0x81B2D04: boost::execution_monitor::execute(boost::unit_test::callback0<int> const&) (in /home/radu/core/nab/network/test/nabnetwork_unit_test) ==29918== by 0x81919BC: boost::unit_test::unit_test_monitor_t::execute_and_translate(boost::unit_test::test_case const&) (in /home/radu/core/nab/network/test/nabnetwork_unit_test) ==29918== by 0x8184602: boost::unit_test::framework_impl::visit(boost::unit_test::test_case const&) (in /home/radu/core/nab/network/test/nabnetwork_unit_test) ==29918== by 0x81AEB4C: boost::unit_test::traverse_test_tree(boost::unit_test::test_suite const&, boost::unit_test::test_tree_visitor&) (in /home/radu/core/nab/network/test/nabnetwork_unit_test) ==29918== by 0x81AEB97: boost::unit_test::traverse_test_tree(boost::unit_test::test_suite const&, boost::unit_test::test_tree_visitor&) (in /home/radu/core/nab/network/test/nabnetwork_unit_test) ==29918== by 0x8180F55: boost::unit_test::framework::run(unsigned long, bool) (in /home/radu/core/nab/network/test/nabnetwork_unit_test) ==29918== by 0x818EBBA: boost::unit_test::unit_test_main(boost::unit_test::test_suite* (*)(int, char**), int, char**) (in /home/radu/core/nab/network/test/nabnetwork_unit_test) ==29918== by 0x8190649: main (in /home/radu/core/nab/network/test/nabnetwork_unit_test) Thread 2: status = VgTs_WaitSys ==29918== at 0x40007F2: (within /lib/ld-2.9.so) ==29918== by 0x8142FEE: boost::asio::detail::task_io_service<boost::asio::detail::epoll_reactor<false> >::do_one(boost::asio::detail::scoped_lock<boost::asio::detail::posix_mutex>&, boost::asio::detail::task_io_service<boost::asio::detail::epoll_reactor<false> >::idle_thread_info*, boost::system::error_code&) (task_io_service.hpp:280) ==29918== by 0x8143115: boost::asio::detail::task_io_service<boost::asio::detail::epoll_reactor<false> >::run(boost::system::error_code&) (task_io_service.hpp:103) ==29918== by 0x81431E6: boost::asio::io_service::run(boost::system::error_code&) (io_service.ipp:65) ==29918== by 0x811F5D1: ServerImpl::workerThread(ServerImpl*) (serverimpl.cpp:1056) ==29918== by 0x81431FC: wt::operator()() (serverimpl.cpp:745) ==29918== by 0x8143215: boost::detail::thread_data<wt>::run() (thread.hpp:56) ==29918== by 0x817C265: thread_proxy (in /home/radu/core/nab/network/test/nabnetwork_unit_test) ==29918== by 0x40514FE: start_thread (in /lib/tls/i686/cmov/libpthread-2.9.so) ==29918== by 0x427549D: clone (in /lib/tls/i686/cmov/libc-2.9.so) Note: see also the FAQ.txt in the source distribution. It contains workarounds to several common problems. If that doesn't help, please report this bug to: www.valgrind.org In the bug report, send all the above text, the valgrind version, and what Linux distro you are using. Thanks.
This system call was added to exp-ptrcheck in the 3.5.0 release.