[HECnet] More NRT

Paul Koning paulkoning at comcast.net
Tue May 5 10:31:38 PDT 2020



> On May 5, 2020, at 1:21 PM, Thomas DeBellis <tommytimesharing at gmail.com> wrote:
> 
> Thanks Paul,
> 
> As usual, very informative.  What you've verified is Tops-20's monitor based NRT server implementation, which is good.  Therefore, for the moment, I think it reasonable to assume that the monitor client implementation is also not suspect.
> 
> NI1D displayed the same failure mode as Tron: report of a successful connection and then, nothing, viz:
> 
> % Do not have Control-C capability, proceeding...
> Escape character(^Y):
> Host name: NI1D
> [Connecting to remote host: NI1D]
> [Remote system is running RSTS/E]
> [Connected: type ^Y to return to node VENTI2]
> 
> This shows that the client had a successful connection and handed off to the monitor.  This was verified by further investigation (with SYSDPY which showed SETHOST in a WAIT%, pending interrupt from the MTOPR%).  Since the NRT client implementation eventually hands off to the monitor for all the data flow, for Initial investigation, I'll have a look at some that pre-MTOPR% post-connection open logic.  I'll try to do a little more trouble shooting tonight and see what might be happening.

I noticed that the server at my end (the application that answers the NRT connection) had gone into a hard loop.  I restarted it.  

> You mention four 'flavors' (?) of NRT; are these documented anywhere?  (I mean, other than in the code...)

I don't know of any official documentation.  You could use the Linux source code as a reference; that implements all four flavors, I think, and it's probably more readable.  In working on that I did some protocol reverse engineering; I may be able to find the notes for that.

>From the messages you quoted, it looks like SETHOST knows it's talking to a RSTS system, which should mean it knows to speak that protocol, but apparently something goes wrong in there somewhere.  The fact that the RSTS end breaks is of course a bug at that end -- it violates rule 1 of distributed systems, "if your code fails because of a received message, it is always your fault, not the sender's".

	paul





More information about the Hecnet-list mailing list