Hi Joseph,
I re-created the issue on a new install of Ubuntu 14.04.3 (amd64)
running the linux-image-3.19.0-26-generic kernel using the following
code:
#include <stdlib.h>
#include <netinet/ip.h>
int main(void)
{
struct sockaddr_in addr = {
.sin_family = AF_INET,
.sin_port = htons(1234),
.sin_addr = { INADDR_ANY }
};
int conn;
char buf[16];
int s =
socket(AF_INET, SOCK_STREAM, 0);
bind(s, (void *)&addr, sizeof addr);
listen(s, 1);
conn = accept(s, NULL, 0);
recv(conn, buf, sizeof buf, MSG_PEEK|MSG_WAITALL);
}
----
$ gcc x.c
$ ./a.out &
$ nc 127.0.0.1 1234
1234<enter>
--> 'a.out' consumes 100% CPU
----
After downloading and installing kernel packages from
http://kernel.ubuntu.com/~jsalisbury/lp1486146/ I rebooted, and re-ran
the test as above, this time 'a.out' does not consume 100% CPU any more,
so the bug seems fixed at least in this simple test case using the
replacement kernel.
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1486146
Title:
recvfrom SYSCALL infinite loop/deadlock chewing 100% CPU
(MSG_PEEK|MSG_WAITALL)
To manage notifications about this bug go to:
https://bugs.launchpad.net/linux/+bug/1486146/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs