Re: [squid-users] Squid loops on epoll/read/gettimeofday

From: Henrik Nordström <henrik_at_henriknordstrom.net>
Date: Fri, 02 Apr 2010 14:08:55 +0200

mån 2010-03-29 klockan 13:58 -0300 skrev Marcus Kool:

> 0.000033 epoll_wait(6, {{EPOLLIN, {u32=23, u64=8800387989527}}}, 2400, 10) = 1
> 0.000032 gettimeofday({1269878848, 223083}, NULL) = 0
> 0.000031 read(27, 0xffd3de98, 256) = -1 EAGAIN (Resource temporarily unavailable)

This is odd.. epoll_wait says fd 23 is ready for reading, but then Squid
reads on fd 27.

Can you please use cachemgr to view the current filedescriptors page to
note what fd 23 & fd 27 is being used for?

> Note that FD 27 and FD 28 have the same NODE.
> This pipe is used for what ???

Are you using aufs? If so then it's an internal notification channel to
wake up the main thread when disk I/O have completed.

> The EAGAIN return code to read is strange. It suggest that the
> read() could return data soon, but Squid is looping now for over 4 hours.

Not strange if fd 27 is the aufs notification pipe.

The strange thing is why it does not act on fd 23 as returned by
epoll_wait.

Regards
Henrik
Received on Fri Apr 02 2010 - 12:08:58 MDT

This archive was generated by hypermail 2.2.0 : Sat Apr 03 2010 - 12:00:02 MDT