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

Bit Connor bit at mutantlemon.com
Thu Oct 21 17:39:21 EDT 2010


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.

Bit Connor


More information about the Haskell-Cafe mailing list