[ROOT] root problem (fwd)

From: stevenkj (stevenkj@fnal.gov)
Date: Thu Feb 13 2003 - 21:49:45 MET


Hello,

	I'm having real trouble right now with getting socket
communication to work in root (Version   3.03/07    14 August 2002).
I'm opening  tscoket in a loop

    TSocket *s = new TSocket("localhost", 9090);

    then transfer histograms across the tsocket,

s->Recv(mess_in);
  if (mess_in){
    if (mess_in->What() == kMESS_OBJECT)
      HTrksPSec = (TH1F *)mess_in->ReadObject(mess_in->GetClass());
    else {
      cout << "***Unexpected message***" << endl;
      if (mess_in->What() == kMESS_STRING)
	{ char errstr[64];  mess_in->ReadString(errstr, 64);
printf("%s\n", errstr); }
    }
  }
I then close the tsocket before continuing in another loop iteration.
s->Close()

ps. I tried s->Close("force"); which didn't work either.

	The problem is that root doesn't seem to close the socket properly
which is causing serious problems with our online monitoring (see mail
below) & is starting to hurt our trigger comissioning. Has anyone ever
seen this before, is it a known problem, is there a solution ?

				Kyle.


---------- Forwarded message ----------
Date: Fri, 07 Feb 2003 17:12:19 -0600 (CST)
From: Stu Fuess <fuess@fnal.gov>
To: Kyle Stevenson <stevenkj@fnal.gov>
Subject: root problem

We looked at file descriptor usage:

[root@d0ol43 ~]# ls -1 /proc/23124/fd | wc -l
   1016
[root@d0ol43 ~]# ls -1 /proc/23124/fd | wc -l
   1018
[root@d0ol43 ~]# ls -1 /proc/23124/fd | wc -l
   1020
[root@d0ol43 ~]# ls -1 /proc/23124/fd | wc -l
   1024
[root@d0ol43 ~]# ls -1 /proc/23124/fd | wc -l
   1024
[root@d0ol43 ~]# ls -1 /proc/23124/fd | wc -l
   1024

It hits the kernel limit of 1024 files per process max.

where 23124 was the pid of
../../bin/Linux2.4-KCC_4_0/l1CTT_examine_x -rcp  ../rcp/runol_vsvx_framework.rcp


see from netstat -a that CLOSE_WAIT sockets never go away:

tcp        1      0 localhost.localdom:9090 localhost.localdo:39646 CLOSE_WAIT
tcp        1      0 localhost.localdom:9090 localhost.localdo:38110 CLOSE_WAIT
tcp        1      0 localhost.localdom:9090 localhost.localdo:40157 CLOSE_WAIT
tcp        1      0 localhost.localdom:9090 localhost.localdo:39133 CLOSE_WAIT
tcp        1      0 localhost.localdom:9090 localhost.localdo:39389 CLOSE_WAIT
tcp        1      0 localhost.localdom:9090 localhost.localdo:38365 CLOSE_WAIT
tcp        1      0 localhost.localdom:9090 localhost.localdo:41180 CLOSE_WAIT
tcp        1      0 localhost.localdom:9090 localhost.localdo:38620 CLOSE_WAIT



This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:09 MET