Help debugging a deadlock in salvia on GHC 6.10 i386

Simon Marlow marlowsd at gmail.com
Mon Jun 15 07:58:55 EDT 2009


On 13/06/2009 17:21, Corey O'Connor wrote:
> On Sat, Jun 6, 2009 at 2:09 PM, Corey O'Connor<coreyoconnor at gmail.com>  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


More information about the Glasgow-haskell-users mailing list