home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #1 / NN_1993_1.iso / spool / comp / sys / isis / 359 < prev    next >
Encoding:
Text File  |  1993-01-04  |  5.2 KB  |  114 lines

  1. Newsgroups: comp.sys.isis
  2. Path: sparky!uunet!caen!batcomputer!cornell!ken
  3. From: ken@cs.cornell.edu (Ken Birman)
  4. Subject: Re: clients loosing connection
  5. Message-ID: <1993Jan4.214514.3759@cs.cornell.edu>
  6. Keywords: isis,clients,connection
  7. Organization: Cornell Univ. CS Dept, Ithaca NY 14853
  8. References: <1ia2mnINN9ak@fnnews.fnal.gov>
  9. Date: Mon, 4 Jan 1993 21:45:14 GMT
  10. Lines: 102
  11.  
  12. In article <1ia2mnINN9ak@fnnews.fnal.gov> udumula@fndaug.fnal.gov (Lourdu Udumula) writes:
  13. >Hi,
  14. >    I am a new user of this system. I installed the isis system on
  15. >a sun machine. I started up a client on the same machine which just waits for
  16. >isis messages. The client is up and waiting as expected. I started the same
  17. >client on a different machine. The client comes up and runs ok but quits if
  18. >it is left running for a while. The message I get is this
  19. >
  20. >
  21. >ISIS client rtcp_159: lost connection to <isis-protos>
  22. >
  23. >I dont know what  is wrong. Did I install the isis toolkit properly or am i
  24. >making a mistake in the client programs. The same thing happened with a demo
  25. >program that I got with isis. I am talking about the bank service program. 
  26. >So I suspect that there could be something wrong with isis installation.
  27.  
  28. Actually, if it gets far enough to print this and nothing else, I
  29. suspect something is wrong with Isis or some sort of O/S interaction
  30. is at fault.
  31.  
  32. A connection to protos can break under several conditions:
  33.    1. protos crashes.
  34.    2. the client crashes, or TCP thinks it did.
  35.    3. protos doesn't send pings through and the client concludes that
  36.       protos is dead
  37.    4. the client doesn't sent I'm alive's to protos and protos concludes
  38.       that the client is dead.
  39.    5. some other program is trying to talk to this client and has not seen
  40.       acknowledgements despite having retransmitted some message 10 times
  41.       AND having waited until "RTTIMEOUT" seconds elapsed (currently, 45)
  42.  
  43. You can distinguish these cases:
  44.    1. Pretty obvious.  Not your problem...
  45.  
  46.    2. This is usually due to a very flakey network.  E.g. if you try
  47.       and run Isis as if a node in Italy and a node in New York are on the
  48.       same LAN...
  49.  
  50.       Workaround -- get a better link, or split system into two LAN's and
  51.       use the wide-area system to connect them.
  52.  
  53.    3. We think there may be a bug in this part of Isis, but have only seen
  54.       it after protos has been up for 27 days.  This is long enough to overflow
  55.       a signed 32-bit timer with units in milliseconds, so probably there is
  56.       some bug in the timer code -- I am studying this and will fix it in
  57.       ISIS V3.0.8.  In this case protos puts nothing in its log, and the
  58.       client suddenly jumps into its isis_disconnect() routine -- you can
  59.       deduce that this case occured by ruling out cases 4 and 5, below.
  60.  
  61.       There is a workaround that was posted around December 23 on this.
  62.       You need to comment out one line of cl_isis.c:
  63.                 /* Line 2288 of cl_isis.c */
  64.         VOID
  65.         protos_disconnect()
  66.         {
  67.         protos_timer = T47e9b894(protos_timer, 45000, protos_disconnect, 0, 0);
  68.         if((P366170ce-last_input >= 40000) && !R76d124b4(&H46d3cd8))
  69.         /* Ld0b19d0(-1); */ <----- COMMENT THIS OUT */
  70.         }
  71.       The problem this can introduce, however, is that once you do
  72.       make this change, Isis may run into a UNIX bug, in TCP.
  73.  
  74.       TCP on some systems doesn't report that channels have broken.
  75.       So, cases (1) and (2) never arise -- SUN 4.1.1 has this bug, for
  76.       example.
  77.  
  78.       With this line commented out, what can happen is that protos failure
  79.       (case 1) will not be detected.  So, if you do make this change, be
  80.       aware that this could now become a problem, and test to make sure that
  81.       if protos does crash, your application notices.  The problem is a bug
  82.       in TCP, so for many users, you won't have a problem depending on which
  83.       version of TCP your vendor happens to have used...
  84.      
  85.    4. In old copies of Isis, like V3.0.5, there was a bug in which this
  86.       occured.  Currently, we think this is working and the issue is
  87.       usually that isis_probe() has been set (or allowed to default)
  88.       to too low a value.  Mostly a problem in Lisp or Ada, where a
  89.       flukey scheduler can starve Isis for long periods of time.
  90.  
  91.       In this case protos puts a message in its log (look in 1.logdir/1.log
  92.       for site number 1):
  93.       *** TIMEOUT: client failed, rtcp_67
  94.  
  95.       Work-around: increase isis_probe() parameters.
  96.  
  97.    5. In this case the client who had problems sending prints a message to
  98.       it console:
  99.           WARNING: unable to communicate with (1/0:1234.0)
  100.                 ... asking <isis/protos> to break connection
  101.       and protos subsequently puts this in the log on site 1:
  102.           *** DISCONNECTING from (1/0:1234.0)
  103.           [host fafnir.cs.cornell.edu (128.19.27.0:1876)]
  104.           ... not responding to UDP messages after 10 retries and 30 seconds
  105.       (NB: the number 30 is always shown; the number should be the value of
  106.       RTTIMEOUT that was used -- a minor thing, not a bug).
  107.  
  108.       Work-around: recompile cl_inter.c with -DRTTIMEOUT=99 or some other
  109.       number larger than 45.
  110. -- 
  111. Kenneth P. Birman                              E-mail:  ken@cs.cornell.edu
  112. 4105 Upson Hall, Dept. of Computer Science     TEL:     607 255-9199 (office)
  113. Cornell University Ithaca, NY 14853 (USA)      FAX:     607 255-4428
  114.