From b2e9c5e2b9a2e0d085cd102a676d3a82b166c542 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bernhard=20=C3=9Cbelacker?= Date: Sat, 1 Apr 2023 10:55:34 +0200 Subject: [PATCH] Continue with EBADF in AutoRemoteSyscalls::retrieve_fd_arch too. bin/rr --fatal-errors --check-cached-mmaps record bin/pid_ns_reap [FATAL src/AutoRemoteSyscalls.cc:659:retrieve_fd_arch() errno: EBADF] (task 693273 (rec:693273) at time 308) -> Assertion `errno == ENOSYS' failed to hold. Failed in pidfd_getfd errno=EBADF Is there a reason not to continue here? Seems to just show up with "--fatal-errors --check-cached-mmaps". --- src/AutoRemoteSyscalls.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/AutoRemoteSyscalls.cc b/src/AutoRemoteSyscalls.cc index d36373d33af..09297dd419e 100644 --- a/src/AutoRemoteSyscalls.cc +++ b/src/AutoRemoteSyscalls.cc @@ -655,7 +655,7 @@ template ScopedFd AutoRemoteSyscalls::retrieve_fd_arch(int fd) { if (ret.is_open()) { return ret; } - ASSERT(t, errno == ENOSYS) << "Failed in pidfd_getfd errno=" << errno_name(errno); + ASSERT(t, errno == ENOSYS || errno == EBADF) << "Failed in pidfd_getfd errno=" << errno_name(errno); } // Clear out any pending message in the socket.