After a recent server move, we are troubleshooting this weird issue of one of the servers losing network connectivity for no apparent reason and regaining the connectivity in a few seconds or minutes. There are no traces of it in /var/log/messages dmesg or mcelogs. While trying to debug this, I issued

strace ping google.com

and it returns

= -1 EAGAIN (Resource temporarily unavailable)

Could someone throw light to what this message could mean? ping resolves google.com, but it wouldn't show any response as if ping replies are set to reject in the firewall.

sendmsg(3, {msg_name(16)={sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("")}, msg_iov(1)=[{"\10\0005\321?i\0\3v\301lT\0\0\0\0\335\331\3\0\0\0\0\0\20\21\22\23\24\25\26\27"..., 64}], msg_controllen=0, msg_flags=0}, 0) = 64
recvmsg(3, 0x7fffd48b9cc0, 0)           = -1 EAGAIN (Resource temporarily unavailable)

P.S: This is a VMware VM and runs RHEL 6.5

2 Answers 2


When you read from a socket (or pipe or other asynchronous source), you can choose what happens if there's no data immediately available. Either you can have the read wait until some data arrives (blocking mode), or you can have it return immediately with an error (nonblocking mode).

The error it returns in the second case is EAGAIN.

So the EAGAIN error isn't really telling you anything here. It just means that there was nothing for that recvmsg() to receive just then.


I was getting this error by trying to read from stdin while there was no stdin, e.g. isTTY was false.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.