PCjr Telnet Server Test - Done!

Michael B. Brutman mbbrutman-cctalk at brutman.com
Tue Sep 16 23:58:15 CDT 2008

After close to 3.5 days of run time I finally shut the PCjr down. Here 
are the raw stats:

     685 sessions (of which about 370 were generated by a script)
     TCP packets sent: 93204
     TCP packets received: 87367
     TCP packets retransmitted: 414
     TCP packets dropped due to low buffer space: None

     Raw packets sent: 93789
     Raw packets received: 92458
     Raw packets dropped due to low buffer space: 24

The first part of the test started Friday night, and the machine crashed 
early on Saturday afternoon. That was the stack corruption bug exposed 
by the failed connection attempt with the SYN packets being 
retransmitted. I had about 70 connections and 40 or 50,000 packets in 
and out before the crash.

After a quick debug session and some new code I started the test again. 
The statistics reflect the activity after the restart.

The rate of retransmitted packets is very low, which is good. About one 
half of one percent of packets (or 1 in 200) needed to be retransmitted. 
This often occurs when the remote connection drops - my code might try 
to send a packet, retransmit the packet because there is no response, 
and then eventually give up. It's also possible that packets were being 
dropped along the way depending on routers and traffic.

The 'Raw packet' numbers refer to the packet driver. All 24 packets were 
lost in a 15 minute period while Chuck G. was on the machine 
experimenting with OS/2 Warp clients. I don't know what caused the 
hiccup, but it was brutal. Nothing crashed though, and no active 
sessions were prematurely lost as a result although a few of his 
sessions seemed to be hung. (I need to find the spot in the very large 
tcpdump trace where that happened.)

Here are some of the gripes:

  - Backspace (ASCII 8 ) vs. DEL (ASCII 127) - I probably need to accept 
  - User interface issues - sorry, this is a test of my TCP code .. I 
put the bare minimum up to get it going.
  - Some lag time .. depending on your geographic location it could be 
very bad. Not much I can do here, except let the code negotiate line mode.

Now on the other hand, I think that everybody who commented on it 
thought it was the coolest thing. Which really made me feel pretty good 
about my on and off again three year investment in the TCP/IP code.  I 
even traded wisecracks with a certain collector who's name starts with 
an S who was completely blown away by the power and might of the Jr.  He 
thought it was a Cray.  I corrected him, and let him know that I use the 
Cray strictly as a firewall. ;-0

I'm going to be reading logs and looking for problems in the traces the 
next few weeks, and possibly fix a few bugs. I'm also still debating in 
my head whether the world needs a another Telnet BBS. It's a fun project 
and it might be worth doing on a small scale, but a big full featured 
Telnet BBS is a lot of work.

If I do it, I've already started thinking about how to cluster a few Jrs 
to increase the total number of concurrent online users.

Thanks for all of the help testing it.


More information about the cctalk mailing list