[erlang-questions] Re: Possible leak in inets httpc.

Anthony Molinaro anthonym@REDACTED
Thu Jul 8 23:34:10 CEST 2010


Well, looks like the answer is yes and no.  I was able to get a patch
which applied cleanly, however, the problem does not appear to be fixed.
The ets table still fills up with every request that times out
(I unfortunately don't have a standalone test, but I've tested
repeatedly and it always seem to get an extra entry for every request
that times out).

This is sort of a show stopper for me upgrading, so I'll be trying to
figure out a fix, but if anyone more familiar with the code wants to
help me out, it would be appreciated.

Thanks,

-Anthony

On Thu, Jul 08, 2010 at 01:13:41PM -0700, Anthony Molinaro wrote:
> Hi, anyone know if its safe to backport this fix to R13B04?  I'm in the process
> of deploying R13B04 as an upgrade from R12B05 and since I make heavy use of
> httpc this will bite me.  Ideally, I can just grab the appropriate files from
> git and plop them into my R13B04 when I build an rpm (of course I need to
> remember enough git to do that :) ), so wondering if it's possible or if
> there are deps outside of the inets directory which matter?
> 
> Thanks,
> 
> -Anthony
> 
> On Thu, Jul 08, 2010 at 02:12:07PM +0400, Andrey Popp wrote:
> > It seems it has been fixed with [1] in inets-5.3.2. Sorry.
> > 
> > [1]: http://github.com/erlang/otp/commit/91c89d54d45989a85367f10d5902b9b508754a49
> > 
> > On Thu, Jul 8, 2010 at 1:57 PM, Andrey Popp <8mayday@REDACTED> wrote:
> > > Hello,
> > >
> > > I have application that makes huge number of HTTP requests with httpc
> > > and I have spotted that `httpc_manager__handler_db` ETS table growing
> > > in size and doesn't clean up. That is the example records from this
> > > table (ets:i(httpc_manager__handler_db)):
> > >
> > > <1   > {handler_info,#Ref<0.0.0.18800>,undefined,<0.177.0>,undefined,operational}
> > > <2   > {handler_info,#Ref<0.0.0.35242>,undefined,<0.3075.0>,undefined,operational}
> > > <3   > {handler_info,#Ref<0.0.0.61713>,undefined,<0.5755.0>,undefined,operational}
> > > <4   > {handler_info,#Ref<0.0.0.68114>,undefined,<0.6943.0>,undefined,operational}
> > > <5   > {handler_info,#Ref<0.0.0.85303>,undefined,<0.8305.0>,undefined,operational}
> > >
> > > and processes with handler pids are no longer alive. Also, note that I
> > > have no timeout setting in my http:request HTTPOptions, but I think
> > > inets should not leak even in that case.
> > >
> > > Thanks.
> > >
> > > --
> > > Andrey Popp
> > >
> > > phone: +7 911 740 24 91
> > > e-mail: 8mayday@REDACTED
> > >
> > 
> > 
> > 
> > -- 
> > Andrey Popp
> > 
> > phone: +7 911 740 24 91
> > e-mail: 8mayday@REDACTED
> > 
> > ________________________________________________________________
> > erlang-questions (at) erlang.org mailing list.
> > See http://www.erlang.org/faq.html
> > To unsubscribe; mailto:erlang-questions-unsubscribe@REDACTED
> > 
> 
> -- 
> ------------------------------------------------------------------------
> Anthony Molinaro                           <anthonym@REDACTED>

-- 
------------------------------------------------------------------------
Anthony Molinaro                           <anthonym@REDACTED>


More information about the erlang-questions mailing list