Re: Squid loops on epoll_wait/read

From: Henrik Nordström <henrik_at_henriknordstrom.net>
Date: Thu, 02 Jun 2011 09:24:54 +0200

ons 2011-06-01 klockan 16:31 -0700 skrev Phil Oester:

> 103 Pipe 0 0* 0 async-io completetion event: main
> 115 Pipe 0 0* 0 async-io completetion event: main

Odd, why is there two marked as "main"?

> Is it possible this is a simple off by one error within aufs?

From the cachemgr output it looks like the pipe has been opened twice,
and an event got queued on the first which has then been overwritten
before read.

A quick check shows that the pipe initialization is done wrongly. Should
be done in the main thread but is done when first worker thread tries to
notify the main thread, and without any protection leaving it completely
open to races.

Regards
Henrik
Received on Thu Jun 02 2011 - 07:46:43 MDT

This archive was generated by hypermail 2.2.0 : Thu Jun 02 2011 - 12:00:05 MDT