Bug 208492 - exp-ptrcheck: the 'impossible' happened: unhandled syscall sysno == 254
Summary: exp-ptrcheck: the 'impossible' happened: unhandled syscall sysno == 254
Status: RESOLVED FIXED
Alias: None
Product: valgrind
Classification: Developer tools
Component: sgcheck (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR normal
Target Milestone: ---
Assignee: Julian Seward
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-09-25 12:26 UTC by R
Modified: 2012-08-10 14:04 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description R 2009-09-25 12:26:09 UTC
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.
Comment 1 Tom Hughes 2009-10-27 10:28:57 UTC
This system call was added to exp-ptrcheck in the 3.5.0 release.