innfeed - "blocked sleeping 120" errors"

Petr Novopashenniy pety at rusnet.ru
Wed Apr 15 10:44:50 UTC 2009


Hi, Julien!

On Tue, 14 Apr 2009, Julien ?LIE wrote:

JL> Hi Petr,
JL> 
JL> > I am also concerned that:
JL> > 
JL> > PID USERNAME THR PRI NICE   SIZE    RES STATE  C   TIME   WCPU COMMAND
JL> > 865 news       1  97    0   380M   313M select 1  22.3H  7.81% innd
JL> > 74712 news     1  97    0   259M   257M select 1 216:57  4.30% innfeed
JL> > 74713 news     1  96    0   491M   489M select 1 177:02  2.54% innfeed
JL> > 74714 news     1  96    0 17796K 15760K select 0  64:43  0.34% innfeed
JL> > 
JL> > innfeed-current uses a very large amount of memory.
JL> > 
JL> > I have conducted several tests in our test lab, but I could not get a
JL> > memory leak..
JL> 
JL> Maybe it could become from a thing I fixed on 28 March 2009:
JL> 
JL> Remove useless xstrdup() calls in vector_add().  Memory has been
JL> leaking in both innfeed (since commit 8176) and nnrpd (since
JL> a long time).
JL> 
JL> Index: C:/Users/Julien/Downloads/svn/INN/trunk/innfeed/host.c
JL> ===================================================================
JL> --- C:/Users/Julien/Downloads/svn/INN/trunk/innfeed/host.c (revision 8393)
JL> +++ C:/Users/Julien/Downloads/svn/INN/trunk/innfeed/host.c (revision 8394)
JL> @@ -3369,20 +3369,20 @@
JL>   if (host->ipAddrs) {
JL>     int  i;
JL>     char ip_addr[INET6_ADDRSTRLEN];
JL> -    char *family;
JL> +    const char *family;
JL> 
JL>     for(i = 0; host->ipAddrs[i] != NULL; i++) {
JL>       switch(host->ipAddrs[i]->sa_family) {
JL>         case AF_INET:
JL> -          family = xstrdup("IPv4");
JL> +          family = "IPv4";
JL>           break;
JL> #ifdef HAVE_INET6
JL>         case AF_INET6:
JL> -          family = xstrdup("IPv6");
JL> +          family = "IPv6";
JL>           break;
JL> #endif
JL>         default:
JL> -          family = xstrdup("????");
JL> +          family = "????";
JL>           break;
JL>       }
JL> 
JL> 
JL> Could you please try it?  Though it should probably not eat 300 MB if
JL> leaking!
JL> 
JL> Incidentally, here are the changes for innfeed since INN 2.4.0:
JL> 
JL>    http://inn.eyrie.org/trac/log/trunk/innfeed/?action=stop_on_copy&mode=stop_on_copy&rev=8394&stop_rev=6300
JL> 
JL> 
JL> I do not know what could have generated a problem here.  It is perhaps not
JL> something in this directory but in common INN libraries (?)
JL> 

Now I upgrade from inn-CURRENT-20090327 to inn-CURRENT-20090414, and move 
6 broken peers from one innfeed process to another (for broken peers 
only). And now I look over the situation.

Last night innfeed with pid 74713 crash with signal 10 (maybe out of 
memory), 74712 work fine but up to ~300 MBytes

PS: 
After upgrade, I made a mistake in newsfeeds file, not start new innfeed 
for broken peers (not add these lines):

innfeed-3!\
        :!*\
        :Tc,Wnm*:/usr/local/news/bin/innfeed -c innfeed-3.conf

And innd crash, this is log:

Apr 15 14:14:30 goblin innd: solace.miun.se funnel_bad                                             
Apr 15 14:14:30 goblin innd: surnet.ru funnel_bad                                                  
Apr 15 14:14:30 goblin innd: ya.com funnel_bad                                                     
Apr 15 14:14:30 goblin innd: news.bbh.net.cn funnel_bad                                            
Apr 15 14:14:30 goblin innd: warnet.at funnel_bad                                                  
Apr 15 14:14:30 goblin innd: garr.it funnel_bad                                                    
Apr 15 14:14:30 goblin innd: controlchan! closed                                                   
Apr 15 14:14:30 goblin innd: innfeed! closed                                                       
Apr 15 14:14:30 goblin innd: innfeed-2! closed  
<skip tail>

And this is gdb output:

#0  0x282d3674 in Perl_pop_scope ()
   from /usr/local/lib/perl5/5.8.8/mach/CORE/libperl.so
[New LWP 100303]
(gdb) bt
#0  0x282d3674 in Perl_pop_scope ()
   from /usr/local/lib/perl5/5.8.8/mach/CORE/libperl.so
#1  0x2825a1bb in perl_destruct ()
   from /usr/local/lib/perl5/5.8.8/mach/CORE/libperl.so
#2  0x08069aa9 in PerlClose () at perl.c:237
#3  0x08059227 in JustCleanup () at innd.c:280
#4  0x0805ee47 in SITEparsefile (StartSite=true) at newsfeeds.c:943
#5  0x08059b1e in main (ac=134813491, av=0x0) at innd.c:651
(gdb) 

This is not fatal error, but maybe this is not graceful shutdown?


JL> -- 
JL> Julien ?LIE
JL> 

--pety




More information about the inn-workers mailing list