[Catalyst] Hangs in RenderView in "end"

Tomas Doran bobtfish at bobtfish.net
Wed Jul 15 21:08:40 GMT 2009


On 15 Jul 2009, at 09:31, Gordon Yeong wrote:

> hi, gents:)
>
>  any ideas?
>  I have tried firefox 3.0 and 3.5 on my mac os X and it causes  
> myapp_server.pl to hang (ie. cause the CPU server to go 100%).
>
>  Running an strace just shows me
>
>
> write(6, "=\"http://www.myexample.com."..., 2715) = -1 EAGAIN  
> (Resource temporarily unavailable)
> write(6, "=\"http://www.myexample."..., 2715) = -1 EAGAIN (Resource  
> temporarily unavailable)
> write(6, "=\"http://www.myexample."..., 2715) = -1 EAGAIN (Resource  
> temporarily unavailable)
> write(6, "=\"http://www.myexample."..., 2715) = -1 EAGAIN (Resource  
> temporarily unavailable)
> write(6, "=\"http://www.myexample."..., 2715) = -1 EAGAIN (Resource  
> temporarily unavailable)
> write(6, "=\"http://www.myexample."..., 2715) = -1 EAGAIN (Resource  
> temporarily unavailable)
> write(6, "=\"http://www.myexample."..., 2715) = -1 EAGAIN (Resource  
> temporarily unavailable)
> write(6, "=\"http://www.myexample."..., 2715) = -1 EAGAIN (Resource  
> temporarily unavailable)
> write(6, "=\"http://www.myexample."..., 2715) = -1 EAGAIN (Resource  
> temporarily unavailable)
>

Hmm. I don't know why this could happen.

Catalyst appears to be doing the correct thing here - from the Darwin  
reference man pages:

      [EAGAIN]           The file is marked for non-blocking I/O, and  
no data could be written immediately.

so I guess firefox has filled up the socket buffer in some way and  
isn't reading stuff, although I don't understand why Darwin is  
signaling Catalyst that the socket is available for writing, and then  
returning EAGAIN when we try to write :/

Can you extract the section of the trace just before it goes into the  
EAGAIN loop and paste that?

Which specific version / patch level of osX is this?

Does using the Prefork engine work, or does it exhibit the same  
behavior?

Cheers
t0m




More information about the Catalyst mailing list