* 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).