On 30/03/15 12:52, Craig Small wrote: > On Mon, Mar 30, 2015 at 11:43:21AM +0100, Vsevolod Stakhov wrote: >> Could you please paste strace of rspamd worker when the timeout occurs? > epoll_wait(10, {{EPOLLIN, {u32=3, u64=3}}}, 32, 20267) = 1 > accept(3, {sa_family=AF_INET6, sin6_port=htons(38141), inet_pton(AF_INET6, > "::ffff:127.0.0.1", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, [28]) = 21 > fcntl(21, F_GETFL) = 0x2 (flags O_RDWR) > fcntl(21, F_SETFL, O_RDWR|O_NONBLOCK) = 0 > fcntl(21, F_SETFD, FD_CLOEXEC) = 0 > clock_gettime(CLOCK_PROCESS_CPUTIME_ID, {3, 396313080}) = 0 > stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2197, ...}) = 0 > writev(2, [{"2015-03-30 22:37:07 #32545(norma"..., 50}, {"accepted connection > from ::ffff:"..., 52}, {"\n", 1}], 3) = 103 > epoll_ctl(10, EPOLL_CTL_ADD, 21, {EPOLLIN, {u32=21, u64=21}}) = 0 > epoll_wait(10, {{EPOLLIN, {u32=21, u64=21}}}, 32, 12628) = 1 > epoll_ctl(10, EPOLL_CTL_DEL, 21, 7fffac3ee930) = 0 > stat("/etc/rspamd/2tld.inc", {st_mode=S_IFREG|0644, st_size=86920, ...}) = 0 > epoll_ctl(10, EPOLL_CTL_ADD, 21, {EPOLLIN, {u32=21, u64=21}}) = 0 > stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2197, ...}) = 0 > writev(2, [{"2015-03-30 22:37:07 #32545(norma"..., 64}, {"abnormally closing > connection fr"..., 71}, {"\n", 1}], 3) = 136 > close(21) = 0 > > I am using IPv6 here, so possibly something inside rspam isn't liking > it. You can see in the accept function the IP address. >
This is very weird behaviour. As you can see, epoll_wait returns 1 but there is no attempt to read anything from a socket, however, according to the code this could happen if and only if libevent returns EV_TIMEOUT: https://github.com/vstakhov/rspamd/blob/rspamd-0.8/src/libutil/http.c#L668 Just curious, does this problem exist if you edit your workers.conf and set parameter `count` to 1 for normal worker there? -- Vsevolod Stakhov -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org