
On 13/06/2009 17:21, Corey O'Connor wrote:
On Sat, Jun 6, 2009 at 2:09 PM, Corey O'Connor
wrote: I'm running a webserver built using salvia [1] and GHC 6.10 [2]. I've trimmed down the code enough such that there is no obvious source of a deadlock in either salvia or the reset of the web server. I don't have any specific conditions that reproduce the issue as well. Just after some time, anywhere from a few minutes to a few hours, the server deadlocks. No particular request or number of requests seem to trigger the deadlock.
I've narrowed down the issue to be related to the use of System.Timeout.timeout. Without the use of the timeout combinator the server does not hit a deadlock condition. With the use of the combinator the server eventually deadlocks.
I'll look into if any of salvia's threads would be aversely effected by a timeout. Are there any known issues with the timeout implementation besides the (reasonable) inability to timeout FFI calls?
I don't know of any current issues, but historically there have been several bugs in this area. System.Timeout uses throwTo, which is devilishly difficult to get right. I assume you're using GHC 6.10.3? If you could compile your server with -debug and capture the output when running it with +RTS -Ds, that might help us diagnose the problem. Cheers, Simon