Gnus development mailing list
 help / color / mirror / Atom feed
* That nntp connection problem
@ 1997-04-01  9:12 Lars Magne Ingebrigtsen
  1997-04-01 20:25 ` Scott Blachowicz
  0 siblings, 1 reply; 3+ messages in thread
From: Lars Magne Ingebrigtsen @ 1997-04-01  9:12 UTC (permalink / raw)


Ok, so it wasn't as easy as I thought.  One really has to open a
separate connection for each virtual server (in general).  For
instance, it's perfectly valid to have two virtual servers that differ
only in what the `nntp-rlogin-paramters' are, and they really have to
have separate connections, because they might connect to different
physical servers in the end.

The current situation (with the tens of different open server
connections) is a rather serious bug, though.  Opening that many
connections could be called a denial of service attack.

We really have to find out why Gnus is opening so many unnecessary
connections.  Could everybody who run Gnus do a "netstat"?  If you see
more connections than are expected, could you `^' in the group buffer
and see what the server buffer has to say?

-- 
(domestic pets only, the antidote for overdose, milk.)
  lmi@gnus.org * Lars Magne Ingebrigtsen


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: That nntp connection problem
  1997-04-01  9:12 That nntp connection problem Lars Magne Ingebrigtsen
@ 1997-04-01 20:25 ` Scott Blachowicz
  1997-04-01 20:48   ` Scott Blachowicz
  0 siblings, 1 reply; 3+ messages in thread
From: Scott Blachowicz @ 1997-04-01 20:25 UTC (permalink / raw)
  Cc: ding

------- =_aaaaaaaaaa0
Content-Type: text/plain; charset="us-ascii"
Content-ID: <4941.859926164.1@bloke.statsci.com>

[this message is getting kinda long...]

Lars Magne Ingebrigtsen <lmi@gnus.org> wrote:

> We really have to find out why Gnus is opening so many unnecessary
> connections.  Could everybody who run Gnus do a "netstat"?

OK...I just created a little perl script to sit in a loop doing 'netstat
-n' and reporting lines on the 119 port.  I'll append my check.port script
to this message.  Now, running it, then doing `M-x gnus' gives me these
results:

  970401.105550: 206.63.206.184.36616 206.63.206.48.119    31744      0  8760      0 ESTABLISHED
  970401.105556: 206.63.206.184.36616 206.63.206.48.119    31744      0  8760      0 ESTABLISHED
  970401.105603: 206.63.206.184.36616 206.63.206.48.119    31744      0  8760      0 ESTABLISHED
  970401.105610: 206.63.206.184.36616 206.63.206.48.119    31744      0  8760      0 ESTABLISHED
  970401.105610: 206.63.206.184.36620 207.68.144.14.119     8722      0  8760      0 ESTABLISHED
  970401.105616: 206.63.206.184.36616 206.63.206.48.119    31744      0  8760      0 ESTABLISHED
  970401.105616: 206.63.206.184.36620 207.68.144.14.119     8722      0  8760      0 ESTABLISHED
  ...etc [lots of groupings of those 2 connections]...

206.63.206.48 is our news.statsci.com server and 207.68.144.14 corresponds
to my msnews.microsoft.com entries.  Some of my gnus settings:

    gnus-select-method '(nntp "news")
    gnus-default-select-method '(nntp "news")
    gnus-refer-article-method '(nntp "news")
    gnus-secondary-select-methods '((nntp "msnews.microsoft.com"))
    gnus-use-nocem t

Let me know if more are relevant.  After a while I notice that the MS news
connection goes away:

  970401.110624: 206.63.206.184.36616 206.63.206.48.119    31744      0  8760      0 ESTABLISHED
  970401.110624: 206.63.206.184.36620 207.68.144.14.119     8722      0  8760      0 ESTABLISHED
  970401.110630: 206.63.206.184.36616 206.63.206.48.119    31744      0  8760   1024 ESTABLISHED
  970401.110637: 206.63.206.184.36616 206.63.206.48.119    31744      0  8760      0 ESTABLISHED
  970401.110643: 206.63.206.184.36616 206.63.206.48.119    31744      0  8760      0 ESTABLISHED
  ...etc...

then comes back:
  970401.111449: 206.63.206.184.36616 206.63.206.48.119    31744      0  8760      0 ESTABLISHED
  970401.111455: 206.63.206.184.36616 206.63.206.48.119    31744      0  8760      0 ESTABLISHED
  970401.111500: 206.63.206.184.36616 206.63.206.48.119    31744      0  8760      0 ESTABLISHED
  970401.111500: 206.63.206.184.36627 207.68.144.14.119     8655     46  8760      0 ESTABLISHED
  ...etc...

and we get a 2nd connection to our local server:
  970401.111517: 206.63.206.184.36616 206.63.206.48.119    31744      0  8760      0 ESTABLISHED
  970401.111517: 206.63.206.184.36627 207.68.144.14.119     8645      0  8760      0 ESTABLISHED
  970401.111517: 206.63.206.184.36628 206.63.206.48.119    31744      0  8760      0 ESTABLISHED
  ...etc...

and more:
  970401.111603: 206.63.206.184.36616 206.63.206.48.119    31744      0  8760      0 ESTABLISHED
  970401.111603: 206.63.206.184.36627 207.68.144.14.119     8645      0  8760      0 ESTABLISHED
  970401.111603: 206.63.206.184.36628 206.63.206.48.119    31744      0  8760      0 ESTABLISHED
  970401.111603: 206.63.206.184.36629 206.63.206.48.119    31744      0  8760      0 ESTABLISHED
  970401.111603: 206.63.206.184.36630 206.63.206.48.119    31744      0  8760      0 ESTABLISHED
  ...etc...

So, I did some filtering to get a connection count...

  sed < nntp.checking -e 's/\.184\.[0-9]*/.184/' -e 's/\.119[ 	].*$//' |
    sort | uniq -c > nntp.checking.count


to come up with some counts at each time point for number of connections
for each IP address...

   1 970401.111506: 206.63.206.184 206.63.206.48
   1 970401.111506: 206.63.206.184 207.68.144.14
   2 970401.111511: 206.63.206.184 206.63.206.48
   1 970401.111511: 206.63.206.184 207.68.144.14
   2 970401.111517: 206.63.206.184 206.63.206.48
   1 970401.111517: 206.63.206.184 207.68.144.14
   2 970401.111523: 206.63.206.184 206.63.206.48
   1 970401.111523: 206.63.206.184 207.68.144.14
   2 970401.111529: 206.63.206.184 206.63.206.48
   1 970401.111529: 206.63.206.184 207.68.144.14
   2 970401.111534: 206.63.206.184 206.63.206.48
   1 970401.111534: 206.63.206.184 207.68.144.14
   2 970401.111540: 206.63.206.184 206.63.206.48
   1 970401.111540: 206.63.206.184 207.68.144.14
   2 970401.111546: 206.63.206.184 206.63.206.48
   1 970401.111546: 206.63.206.184 207.68.144.14
   2 970401.111551: 206.63.206.184 206.63.206.48
   1 970401.111551: 206.63.206.184 207.68.144.14
   2 970401.111557: 206.63.206.184 206.63.206.48
   1 970401.111557: 206.63.206.184 207.68.144.14
   4 970401.111603: 206.63.206.184 206.63.206.48
   1 970401.111603: 206.63.206.184 207.68.144.14
   5 970401.111608: 206.63.206.184 206.63.206.48
   1 970401.111608: 206.63.206.184 207.68.144.14
   6 970401.111614: 206.63.206.184 206.63.206.48
   1 970401.111614: 206.63.206.184 207.68.144.14
   8 970401.111620: 206.63.206.184 206.63.206.48
   1 970401.111620: 206.63.206.184 207.68.144.14
  12 970401.111626: 206.63.206.184 206.63.206.48
   1 970401.111626: 206.63.206.184 207.68.144.14
  12 970401.111633: 206.63.206.184 206.63.206.48
   1 970401.111633: 206.63.206.184 207.68.144.14
  17 970401.111639: 206.63.206.184 206.63.206.48
   1 970401.111639: 206.63.206.184 207.68.144.14
  20 970401.111647: 206.63.206.184 206.63.206.48
   1 970401.111647: 206.63.206.184 207.68.144.14
  24 970401.111654: 206.63.206.184 206.63.206.48
   1 970401.111654: 206.63.206.184 207.68.144.14
  26 970401.111701: 206.63.206.184 206.63.206.48
   1 970401.111701: 206.63.206.184 207.68.144.14
  26 970401.111707: 206.63.206.184 206.63.206.48
  ...etc...

where it seems to be stable.  At some point in here, I starting getting
things like "Auto-saving error" out of emacs trying to save
.newsrc-news-dribble...ahhh...from my *Messages* buffer, I see this:

  Opening nntp server on news+halcyon.announce...

  Opening nntp server on news...

  Opening nntp server on news+lists.bind...

  Opening nntp server on news+lists.galaxy-bugs...

  Opening nntp server on news...

  Opening nntp server on news+lists.hpux-admin...

  Opening nntp server on news...

  Opening nntp server on news+lists.ora-book...

  Opening nntp server on news...

  Opening nntp server on news+lists.perl.win32.announce...

  Opening nntp server on news+lists.emacs.ntemacs-users...

  Opening nntp server on news+lists.perl.win32.users...

  Opening nntp server on news+lists.rdist-announce...

  Opening nntp server on news...

  Opening nntp server on news+misc.news.internet.announce...

  Opening nntp server on news+misc.news.internet.discuss...

  Opening nntp server on news...

  Cannot open load file: nnvirtual
  Auto-saving...
  Autosaving...error for .newsrc-news-dribble
  Autosaving...error for .newsrc-n

> If you see more connections than are expected, could you `^' in the
> group buffer and see what the server buffer has to say?

I can't - my *Group* buffer ends up in Text mode...when I do (buffer-list)
I see a large number of *nntpd* and other gnus related buffers...let's see
here...

    (mapcar (lambda (buffer)
              (let ((bn (buffer-name buffer)))
                (if (string-match "\\(news\\|gnus\\|nntp\\)" bn)
                    (progn
                      (goto-char (point-max))
                      (insert (format "===== %s\n" (buffer-name buffer)))
                      (insert (save-excursion
                                (switch-to-buffer buffer)
                                (buffer-substring (point-min) (point-max))))
                      (insert "\n====================\n")))))
            (buffer-list))

    ===== .newsrc-news-dribble
    (gnus-group-change-level "gnu.cfengine.help" 3 9 "gnu.gnustep.announce" nil)
    (gnus-group-set-info '("gnu.cfengine.help" 3 nil))
    (gnus-group-change-level "comp.infosystems.www.authoring.stylesheets" 3 9 "comp.lang.java.advocacy" nil)
    (gnus-group-set-info '("comp.infosystems.www.authoring.stylesheets" 3 nil))
    (gnus-group-change-level "rec.antiques.bottles" 3 9 "rec.arts.sf.tv.babylon5.moderated" nil)
    (gnus-group-set-info '("rec.antiques.bottles" 3 nil))
    (gnus-group-change-level "comp.infosystems.www.authoring.tools" 3 9 "comp.lang.java.advocacy" nil)
    (gnus-group-set-info '("comp.infosystems.www.authoring.tools" 3 nil))
    (gnus-group-change-level "alt.comics.jack-kirby" 3 9 "alt.infertility.alternatives" nil)
    (gnus-group-set-info '("alt.comics.jack-kirby" 3 nil))
    (gnus-group-change-level "alt.lang.euphoria" 3 9 "alt.movies.kevin-smith" nil)
    (gnus-group-set-info '("alt.lang.euphoria" 3 nil))
    (gnus-group-change-level "nntp+msnews.microsoft.com:microsoft.public.windowsnt.steelhead" 3 9 "nntp+msnews.microsoft.com:microsoft.public.word.applicationerrors" nil)
    (gnus-group-set-info '("nntp+msnews.microsoft.com:microsoft.public.windowsnt.steelhead" 3 nil nil (nntp "msnews.microsoft.com")))
    (gnus-group-change-level "nntp+msnews.microsoft.com:microsoft.public.msaccess.chat" 3 9 "nntp+msnews.microsoft.com:microsoft.public.mshardware.product" nil)
    (gnus-group-set-info '("nntp+msnews.microsoft.com:microsoft.public.msaccess.chat" 3 nil nil (nntp "msnews.microsoft.com")))
    (gnus-group-change-level "nntp+msnews.microsoft.com:microsoft.public.internet.mschat" 3 9 "nntp+msnews.microsoft.com:microsoft.public.internet.netmeeting.beta" nil)
    (gnus-group-set-info '("nntp+msnews.microsoft.com:microsoft.public.internet.mschat" 3 nil nil (nntp "msnews.microsoft.com")))

    ====================

NOTE: I don't know where the dribble stuff came from unless those are new
      groups found on their servers.

    =====  *nntpd*
    211 1245 1541 2796 misc.taxes

    ====================
    =====  *server news nntp  *nntpd**
    503 Timeout after 600 seconds, closing connection.

    Process nntpd exited abnormally with code 256

    ====================
    =====  *gnus work*

    ====================
    =====  *server msnews.microsoft.com nntp  *nntpd**
    503 connection timed out 

    Process nntpd<1> exited abnormally with code 256

    ====================
    =====  *server news nntp  *nntpd**<2>
    503 Timeout after 600 seconds, closing connection.

    Process nntpd<2> exited abnormally with code 256

NOTE: <2> thru <25> all say the same thing (aside from the buffer name).
      By the time I'm getting around to gathering their contents, they've
      been closed down.

    ====================
    =====  *server news nntp  *nntpd**<27>

NOTE: *nntpd**<27> thru *nntpd**<53> were empty.

Hope there's some useful clues in there SOMEWHERE...Maybe I've got some
old cruft in my .newsrc* files from ancient versions? Maybe a nocem thing?
Maybe a nnvirtual thing? Maybe it's the comet's passing? I don't know.

Scott Blachowicz  Ph: 206/283-8802x240   Mathsoft (Data Analysis Products Div)
                                         1700 Westlake Ave N #500
scott@statsci.com                        Seattle, WA USA   98109
Scott.Blachowicz@seaslug.org


------- =_aaaaaaaaaa0
Content-Type: text/plain; charset="us-ascii"
Content-ID: <4941.859926164.2@bloke.statsci.com>
Content-Description: check.port script

#! /usr/adm/bin/perl

require 'getopts.pl';
do Getopts('s:m:');
$usage = ":
  check.port [-s SLEEPTIME] [-n MAX_ITERATIONS] [PORT1 [PORT2 ...[PORTn]]]
";

$sleep = $opt_s ? $opt_s : 5;
$maxnum = $opt_m ? $opt_m : 0;

@ports = @ARGV;
push(@ports, "119") if @ports == 0;

$portmatch = "/\\." . join("\\s/ || /\\.", @ports) . "\\s/";

while (1) {
    ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) =
        localtime(time);

    open(IN, "netstat -n |") ||
        die "Couldn't run 'netstat -n'";

    @in = grep (eval "$portmatch", <IN>);
    if (@in > 0) {
        printf ("%d%02d%02d.%02d%02d%02d: %s", $year, $mon+1, $mday,
                $hour, $min, $sec, $in)
            while ($in = shift(@in));
    }
    $num++;
    if ($maxnum > 0 && $num >= $maxnum) {
        print "# Hit $maxnum iterations...outta here!\n";
        last;
    }
    sleep($sleep);
}

------- =_aaaaaaaaaa0--



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: That nntp connection problem
  1997-04-01 20:25 ` Scott Blachowicz
@ 1997-04-01 20:48   ` Scott Blachowicz
  0 siblings, 0 replies; 3+ messages in thread
From: Scott Blachowicz @ 1997-04-01 20:48 UTC (permalink / raw)


Scott Blachowicz <scott@bloke.statsci.com> wrote:

> ------- =_aaaaaaaaaa0
> Content-Type: text/plain; charset="us-ascii"
> Content-ID: <4941.859926164.1@bloke.statsci.com>
Yes, I screwed up the MIME-ness of the message somehow.

Also, I forgot to mention that I'm running Gnus v5.4.32 under emacs 19.33
on a SunOS 5.5 SPARC system.  Probably soon to be 5.4.39+ ... or maybe
5.4.Final or MSIE 5.0, now that Lars has moved on :-)).

Scott Blachowicz  Ph: 206/283-8802x240   Mathsoft (Data Analysis Products Div)
                                         1700 Westlake Ave N #500
scott@statsci.com                        Seattle, WA USA   98109
Scott.Blachowicz@seaslug.org


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~1997-04-01 20:48 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1997-04-01  9:12 That nntp connection problem Lars Magne Ingebrigtsen
1997-04-01 20:25 ` Scott Blachowicz
1997-04-01 20:48   ` Scott Blachowicz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).