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

2010-11-03 Thread Simon Marlow

On 29/10/2010 23:24, Ganesh Sittampalam wrote:

On Fri, 22 Oct 2010, Sigbjorn Finne wrote:


On Fri, Oct 22, 2010 at 9:35 AM, Sittampalam, Ganesh 
ganesh.sittampa...@credit-suisse.com wrote:


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?



I'd be much obliged if you could, and I do apologise for leaving all
of this
just hanging.


I've just done this. Thanks for the blessing.

4000.0.10 should fix the reported issue with fail and Either, and bumps
the base dep to build with GHC 7.0


That's great.  Any chance you could also look at this one, which appears 
to be a pretty serious bug for some people, and has a patch?


http://hackage.haskell.org/trac/ghc/ticket/4251

Cheers,
Simon
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


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

2010-11-03 Thread Ganesh Sittampalam

On Wed, 3 Nov 2010, Simon Marlow wrote:


On 29/10/2010 23:24, Ganesh Sittampalam wrote:


4000.0.10 should fix the reported issue with fail and Either, and bumps
the base dep to build with GHC 7.0


That's great.  Any chance you could also look at this one, which appears to 
be a pretty serious bug for some people, and has a patch?


http://hackage.haskell.org/trac/ghc/ticket/4251


Sure, I'll do it this weekend. Given that the HTTP test suite is pretty 
minimal, we'll just have to hope for no unintended side-effects 
though (which also applies to the previous change, of course).


Ganesh
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


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

2010-10-29 Thread Ganesh Sittampalam

On Fri, 22 Oct 2010, Sigbjorn Finne wrote:


On Fri, Oct 22, 2010 at 9:35 AM, Sittampalam, Ganesh 
ganesh.sittampa...@credit-suisse.com wrote:


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?



I'd be much obliged if you could, and I do apologise for leaving all of this
just hanging.


I've just done this. Thanks for the blessing.

4000.0.10 should fix the reported issue with fail and Either, and bumps 
the base dep to build with GHC 7.0



No time available for Haskell projects these days unfortunately, Opera
engine development taking up most of my waking hours. Getting someone to
take over HTTP would be best, or maybe rewrite it altogether..it is not the
prettiest thing around :)


I'm not particularly keen on taking over maintainership, but I guess if 
noone else wants it I could take it over and do at least minimal updates 
like this.


Any other volunteers?

Cheers,

Ganesh
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


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

2010-10-24 Thread Ganesh Sittampalam

On Sun, 24 Oct 2010, Bit Connor wrote:


On Sat, Oct 23, 2010 at 8:49 PM, Ganesh Sittampalam gan...@earth.li wrote:


I'm just looking at fixing this so I can make an upload as discussed with
Sigbjorn. I guess the best thing to do is to make all the calls to fail into
something more explicit.


Yep. Ideally, simpleHTTP and its friends should never throw an IO
exception (and should certainly never call prelude's error, as
happens now). Network errors and other errors should be reported by
returning an appropriate ConnError Result:


I'm not going to try to audit for that exhaustively right now, but I've 
changed all the calls to fail that were broken by the Either change, so 
hopefully we should be back where we started.


I've put a repo up with the changes and a base dependency bump at 
http://urchin.earth.li/git/HTTP - could you (and anyone else interested) 
give it a try? I haven't done anything but the most minimal testing and in 
particular I haven't made any effort to reproduce your specific problem.


I plan to upload this as HTTP-4000.0.10 in the next few days.

Cheers,

Ganesh
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


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

2010-10-23 Thread Ganesh Sittampalam

Hi Bit,

On Thu, 21 Oct 2010, Bit Connor wrote:


On Sat, Oct 16, 2010 at 10:29 AM, Claus Reinke claus.rei...@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'm just looking at fixing this so I can make an upload as discussed with 
Sigbjorn. I guess the best thing to do is to make all the calls to fail 
into something more explicit.


BTW, can you confirm that you were using GHC 7.0 (or 6.13) when this went 
wrong?


Cheers,

Ganesh___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


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

2010-10-23 Thread Bit Connor
On Sat, Oct 23, 2010 at 8:49 PM, Ganesh Sittampalam gan...@earth.li wrote:
 Hi Bit,

 On Thu, 21 Oct 2010, Bit Connor wrote:

 On Sat, Oct 16, 2010 at 10:29 AM, Claus Reinke claus.rei...@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'm just looking at fixing this so I can make an upload as discussed with
 Sigbjorn. I guess the best thing to do is to make all the calls to fail into
 something more explicit.

Yep. Ideally, simpleHTTP and its friends should never throw an IO
exception (and should certainly never call prelude's error, as
happens now). Network errors and other errors should be reported by
returning an appropriate ConnError Result:

http://hackage.haskell.org/packages/archive/HTTP/4000.0.9/doc/html/Network-Stream.html#t:Result

 BTW, can you confirm that you were using GHC 7.0 (or 6.13) when this went
 wrong?

Yes, I am using ghc 7.1.20100925

Thanks,
Bit Connor
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


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

2010-10-22 Thread Sittampalam, Ganesh
Bit Connor wrote:
 On Sat, Oct 16, 2010 at 10:29 AM, Claus Reinke
 claus.rei...@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?

Cheers,

Ganesh

=== 
Please access the attached hyperlink for an important electronic communications 
disclaimer: 
http://www.credit-suisse.com/legal/en/disclaimer_email_ib.html 
=== 

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


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

2010-10-22 Thread Sigbjorn Finne
On Fri, Oct 22, 2010 at 9:35 AM, Sittampalam, Ganesh 
ganesh.sittampa...@credit-suisse.com wrote:

 Bit Connor wrote:
  On Sat, Oct 16, 2010 at 10:29 AM, Claus Reinke
  claus.rei...@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?


I'd be much obliged if you could, and I do apologise for leaving all of this
just hanging.

No time available for Haskell projects these days unfortunately, Opera
engine development taking up most of my waking hours. Getting someone to
take over HTTP would be best, or maybe rewrite it altogether..it is not the
prettiest thing around :)

--sigbjorn
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


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

2010-10-22 Thread Michael Snoyman
On Fri, Oct 22, 2010 at 11:36 AM, Sigbjorn Finne
sigbjorn.fi...@gmail.com wrote:


 On Fri, Oct 22, 2010 at 9:35 AM, Sittampalam, Ganesh
 ganesh.sittampa...@credit-suisse.com wrote:

 Bit Connor wrote:
  On Sat, Oct 16, 2010 at 10:29 AM, Claus Reinke
  claus.rei...@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?

 I'd be much obliged if you could, and I do apologise for leaving all of this
 just hanging.
 No time available for Haskell projects these days unfortunately, Opera
 engine development taking up most of my waking hours. Getting someone to
 take over HTTP would be best, or maybe rewrite it altogether..it is not the
 prettiest thing around :)

I know it may not be appropriate as-is due to its dependency list, but
http-enumerator[1] may be something to consider. It's still young, but
I think the API is pretty clean, and I've heard from users that it
performs favorably versus HTTP.

Michael

[1] http://hackage.haskell.org/cgi-bin/hackage-scripts/package/http-enumerator
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


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

2010-10-21 Thread Bit Connor
On Sat, Oct 16, 2010 at 10:29 AM, Claus Reinke claus.rei...@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
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


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

2010-10-16 Thread Claus Reinke

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.

Claus

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe