[asio] null reference in epoll_reactor
Hi, Running the tutorial async TCP server (http://www.boost.org/doc/libs/1_65_1/doc/html/boost_asio/tutorial/tutdaytime...) or any other asynchronous operation in valgrind yields an error like this: = Syscall param epoll_pwait(sigmask) points to unaddressable byte(s) = epoll_pwait (in /usr/lib/libc-2.26.so) = boost::asio::detail::epoll_reactor::run(bool, boost::asio::detail::op_queueboost::asio::detail::task_io_service_operation&) (in /.../server) = boost::asio::detail::task_io_service::do_run_one(boost::asio::detail::scoped_lockboost::asio::detail::posix_mutex&, boost::asio::detail::task_io_service_thread_info&, boost::system::error_code const&) (in /.../server) = boost::asio::detail::task_io_service::run(boost::system::error_code&) (in /.../server) = boost::asio::io_service::run() (in /.../server) = main (in /.../server) = Address 0x0 is not stack'd, malloc'd or (recently) free'd I suspect it's due to some recent changes because it didn't use to be an error. Boost version is 1.65.1(Arch Linux). Thank you.
On Tue, Oct 17, 2017 at 8:27 AM, Phil Sean via Boost-users
I suspect it's due to some recent changes because it didn't use to be an error. Boost version is 1.65.1(Arch Linux).
Could you possibly bisect the 1.65.1 git branch and determine precisely which commit causes the problem? Thanks
Could you possibly bisect the 1.65.1 git branch and determine precisely which commit causes the problem?
Turns out valgrind had a typo that mistakingly reports epoll_pwait() with a NULL sigmask as an error, and glibc happens to have a condition to invoke epoll_pwait() for calls to epoll_wait(), filling sigmask with NULL. The error has been fixed but not yet released ([https://sourceware.org/git/?p=valgrind.git;a=commit;h=3ac87cf9277964802ddd9af9747a10ff0b838c29)](https://sourceware.org/git/?p=valgrind.git;a=commit;h=3ac87cf9277964802ddd9af9747a10ff0b838c29). Thanks for your attention.
participants (2)
-
Phil Sean
-
Vinnie Falco