[Haskell-cafe] Bug in HTTP (bad internal error handling)

Sittampalam, Ganesh ganesh.sittampalam at credit-suisse.com
Fri Oct 22 03:35:02 EDT 2010

Bit Connor wrote:
> On Sat, Oct 16, 2010 at 10:29 AM, Claus Reinke
> <claus.reinke at talk21.com> wrote: 
>>> After it catches this error, the function returns (line 376):
>>> return (fail (show e))
>>> The "fail" is running in the Either monad (The Result type =
>>> Either). This calls the default Monad implementation of fail, which
>>> is just a call to plain old error. This basically causes the entire
>>> program to crash.
>>> Actually, it appears that simpleHTTP isn't actually supposed to
>>> throw an IOException, and it is instead supposed to return a
>>> ConnError result. So the real fix is to fix the code to make this
>>> happen. But 
>> Sounds like a victim of
>>   http://hackage.haskell.org/trac/ghc/ticket/4159
>> For mtl clients, 'fail' for 'Either' used to call 'Left'. That was
>> changed, though the ticket does not indicate the library versions
>> affected.
> This looks like the problem. Any idea how to get the HTTP package
> fixed? I could try making a patch myself, but I would prefer hearing
> from the HTTP maintainer first, who doesn't seem to be around.  

I've tried contacting him a few times about getting the base dependencies in HTTP bumped and an upload made, without success. This is a widely used package that's in the platform and that won't work with GHC 7.0 with the current dependencies, so it really needs to get fixed soon.

libraries@, what's the right way to proceed? Can I make a Debian-style "non-maintainer upload" with minimal changes to fix urgent issues like these?



Please access the attached hyperlink for an important electronic communications disclaimer: 

More information about the Libraries mailing list