I'm a patient man. Good information is worth waiting for. It's not holding me up on anything else.
I added addition debug information in-between those last two steps. The new version will give us more detail about where the hang time occurs.
bRIAN
I finally had a lockup with v3.81 on Win98. As before, I had my dialup PPP connection running. I started DebugView and clicked on the .tnt shortcut on the desktop. Whir. Nothing. I tred to open Windows Explorer, but that wouldn't start. Then I opened a small text editor (metapad) from a desktop shortcut, and both A.T. and Explorer started. Here is the log:
 00000000	0.00000000	[Absolute] Entering WinMain()
 00000001	0.06083280	[Absolute] Determine Max Session
 00000002	0.07307200	[Absolute] Entering InitApplication
 00000003	0.07521360	[Absolute] Registring Application class
 00000004	0.07555520	[Absolute] Registering Screen class
 00000005	0.07569040	[Absolute] Registering hidden class
 00000006	0.07579840	[Absolute] Create notification thread
 00000007	0.08332400	[Absolute] Return from InitApplication
 00000008	0.08336880	[Absolute] Create mutex
 00000009	0.08347760	[Absolute] Loading RichEDIT Library
 00000010	0.38993040	[Absolute] Loading accelerators
 00000011	0.39003360	[Absolute] Allocating memory for scrollback
 00000012	0.43370880	[Absolute] Creating main window
 00000013	0.44863200	[Absolute] In wm_create
 00000014	0.44876080	[Absolute] Leaving wm_create
 00000015	0.44884080	[Absolute] Window created
 00000016	0.44892480	[Absolute] Initialize Ole Library
 00000017	0.47563520	[Absolute] Initialize components
 00000018	23.18711920	[Absolute] Initialize statusbar
 00000019	23.18910960	[Absolute] Initialize toolbar
 00000020	23.30423600	[Absolute] Initialize scrollback
 00000021	23.37648000	[Absolute] Initialize factory
 00000022	23.38439120	[Absolute] Parsing command line arguments
Thanks, Paul. That log speaks VOLUMES to me. When we started looking at this, I had strong ideas as to where this would lead, but so far, I have been proven wrong. The information you have provided, though, has guided me toward a solution. It may take a few more attempts, however, to home in on the culprit.
Here's the next iteration that will get us closer to our solution:
Thanks again, Brian
OK, I got it. However, I am just starting the process of migrating to a new ISP. (My old one is unilaterally changing the terms of service.) That means that I may not get to the new version right away, and as always, the lockups don't happen every time.
Incidentally, I will want to put a desktop shortcut on the desktop for a new .tnt file for the new ISP. (I will still be logging into a shell account.) I haven't tried it yet, but can I just start A.T., load the oldname.tnt, make appropriate changes, save it as newname.tnt, and create a shortcut for that?
Let me know when you get some results.
Creating new .tnt files is easy and there's lots of ways to do it. You absolutely can do it the way you said. Load oldname.tnt, change a few things and save as newname.tnt. Also, you can just copy the oldname.tnt file in Windows and begin modifying the copy.
To create a brand new file, you can right-click (on the desktop, for example) and choose New->AbsoluteTelnet connection file and start fresh.
Brian
Paul,
Any word on additional debug info?
Brian
Wouldn't you know, the only time I have had a hang I was in a big hurry and forgot to start DebugView? So I don't have any new information yet.
No problem. Let me know when you get something concrete. I have some pretty strong suspicions again, but I've been known to be wrong. 😉
That debug from that last version will tell the tale.
Brian
I finaly had a partial hang with A.T. in my usual configuration. I say "partial" in this sense: I clicked on the .tnt shortcut on the Win98 desktop. Whir goes the disk and then stops. I wait patiently, and eventually A.T. finishes initializing and contacts the host for the shell login. So eventually it did finish starting on its own. Here is the DebugView Log:
 [\\\\I8P9D0]
 00000000	0.00000000	[Absolute] Entering WinMain()
 00000001	0.01786640	[Absolute] Determine Max Session
 00000002	0.03563600	[Absolute] Entering InitApplication
 00000003	0.03761200	[Absolute] Registring Application class
 00000004	0.03797600	[Absolute] Registering Screen class
 00000005	0.03810800	[Absolute] Registering hidden class
 00000006	0.03821920	[Absolute] Create notification thread
 00000007	0.04471440	[Absolute] Return from InitApplication
 00000008	0.04476080	[Absolute] Create mutex
 00000009	0.04488000	[Absolute] Loading RichEDIT Library
 00000010	0.31118240	[Absolute] Loading accelerators
 00000011	0.31128320	[Absolute] Allocating memory for scrollback
 00000012	0.35964960	[Absolute] Creating main window
 00000013	0.37813680	[Absolute] In wm_create
 00000014	0.37827920	[Absolute] Leaving wm_create
 00000015	0.37836160	[Absolute] Window created
 00000016	0.37845200	[Absolute] Initialize Ole Library
 00000017	0.40031280	[Absolute] Initialize components
 00000018	0.42304560	[Absolute] Check to see if I'm registered
 00000019	0.43939280	[Absolute] Getting ipcode
 00000020	19.47543920	[Absolute] Done getting ipcode
 00000021	19.47620560	[Absolute] Done Checking
 00000022	19.47625120	[Absolute] Initialize statusbar
 00000023	19.47848240	[Absolute] Initialize toolbar
 00000024	19.52596880	[Absolute] Check to see if I'm registered
 00000025	19.52602160	[Absolute] Done Checking
 00000026	19.60954320	[Absolute] Initialize scrollback
 00000027	19.95854720	[Absolute] Initialize factory
 00000028	19.97175280	[Absolute] Parsing command line arguments
 00000029	20.99342880	[Absolute] Check to see if I'm registered
 00000030	20.99347360	[Absolute] Done Checking
 00000031	20.99352080	[Absolute] Check to see if I'm registered
 00000032	20.99356080	[Absolute] Done Checking
 00000033	21.36297680	[Absolute] Check to see if I'm registered
 00000034	21.36302480	[Absolute] Done Checking
 00000035	21.40450880	[Absolute] Check to see if I'm registered
 00000036	21.40456320	[Absolute] Done Checking
 00000037	21.49661040	[Absolute] Check to see if I'm registered
 00000038	21.49666000	[Absolute] Done Checking
 00000039	21.50543680	[Absolute] Check to see if I'm registered
 00000040	21.50548480	[Absolute] Done Checking
 00000041	21.50775760	[Absolute] Check to see if I'm registered
 00000042	21.50780560	[Absolute] Done Checking
 00000043	21.54312960	[Absolute] Check to see if I'm registered
 00000044	21.54318080	[Absolute] Done Checking
 00000045	21.55890240	[Absolute] Check to see if I'm registered
 00000046	21.55895200	[Absolute] Done Checking
 00000047	21.59309760	[Absolute] Check to see if I'm registered
 00000048	21.59314800	[Absolute] Done Checking
 00000049	21.63111920	[Absolute] Check to see if I'm registered
 00000050	21.63117280	[Absolute] Done Checking
 00000051	21.68825840	[Absolute] Check to see if I'm registered
 00000052	21.68831040	[Absolute] Done Checking
 00000053	21.71365760	[Absolute] Check to see if I'm registered
 00000054	21.71370800	[Absolute] Done Checking
 00000055	21.78810720	[Absolute] Check to see if I'm registered
 00000056	21.78816240	[Absolute] Done Checking
 00000057	21.82690640	[Absolute] Check to see if I'm registered
 00000058	21.82695600	[Absolute] Done Checking
 00000059	23.65860960	[Absolute] Check to see if I'm registered
 00000060	23.65866240	[Absolute] Done Checking
 00000061	37.69799360	[Absolute] Check to see if I'm registered
 00000062	37.69804960	[Absolute] Done Checking
 00000063	37.70208240	[Absolute] Check to see if I'm registered
 00000064	37.70212880	[Absolute] Done Checking
 00000065	37.81778560	[Absolute] Check to see if I'm registered
 00000066	37.81783760	[Absolute] Done Checking
 00000067	37.82282640	[Absolute] Check to see if I'm registered
 00000068	37.82287360	[Absolute] Done Checking
 00000069	37.93850000	[Absolute] Check to see if I'm registered
 00000070	37.93855120	[Absolute] Done Checking
 00000071	37.94307920	[Absolute] Check to see if I'm registered
 00000072	37.94312880	[Absolute] Done Checking
 00000073	38.04920480	[Absolute] Check to see if I'm registered
 00000074	38.04925280	[Absolute] Done Checking
 00000075	38.05166560	[Absolute] Check to see if I'm registered
 00000076	38.05171040	[Absolute] Done Checking
 00000077	38.12706880	[Absolute] Check to see if I'm registered
 00000078	38.12711920	[Absolute] Done Checking
 00000079	38.13172400	[Absolute] Check to see if I'm registered
 00000080	38.13177200	[Absolute] Done Checking
 00000081	41.14713760	[Absolute] Check to see if I'm registered
 00000082	41.14718960	[Absolute] Done Checking
 00000083	41.15280240	[Absolute] Check to see if I'm registered
 00000084	41.15285200	[Absolute] Done Checking
Bingo!! That's it! At startup time, Absolute tries to get it's own IP address, to use later. It seems that in your case, this is causing the app to hang and delay startup. I've never seen this happen, but I can't argue with the evidence. After some careful review, I've removed the offending portion of code. It appears that it was a part of some older sections of code that are mostly unused these days.
I've released version 3.84, which should cure your problem. You can download it and try it here:
Try it for a few days and let me know how it goes.
Thanks! Brian
OK, I've downloaded v3.84, but it will probably be Wednesday (23rd) before I can get to it. (Tuesdays tend to be busy.) As I have mentioned all along, the A.T. hangs seem to come along more or less randomly. At least, I've never been able to see a pattern to them. Considering that many days I use A.T. only once, it may be several days before we have any idea on anything.
You didn't say whether to run DebugView with v3.84, so I will try it to see whether anything shows up. I have had two interesting experiences, if you want to call them that, with DebugView itself. Twice the product has not started. (I start it from the Run command line to log to a RAMdisk.) When I ended the task through the Task Manager and tried to start it again, Win98 has crashed and burned hard. Whether the failure of DebugView to start has any relationship to A.T. I have no idea.
it may be several days before we have any idea on anything
No problem. I suspect that the problem will be gone. However, it will be difficult to tell for sure until you run for several days/weeks since it is not directly reproducable.
Run AbsoluteTelnet and DebugView as you have in the past in order to capture the location of any hang, should one occur.
When I ended the task through the Task Manager and tried to start it again, Win98 has crashed and burned hard. Whether the failure of DebugView to start has any relationship to A.T. I have no idea.
I'd rather not speculate on any relationship. DebugView, apparently, has to hook deep into the OS in order to capture the debug messages from other applications. It wouldn't surprise me if the system flaked out every now and then. It's just a tool and does its job well. When we're done with it, uninstall it and discard.
Thanks for the help!
Brian
So far no hangs with the test version I have been running. However, considering that the hangs have occurred more or less at random, I will keep going with it for a while.
I just had a behavior with v3.84 that is a little different from what I have had. I had my dial-up PPP connection running, started DebugView, and then started A.T. via the desktop .tnt shortcut that I always use. A.T. started right away, in the sense that the window opened. However, there was no contact with the host for quite some time. At least, I didn't notice any byte transfer with the little MS Dial-Up Networking icons in the Windows system tray. I pressed once (maybe twice, I don't recall for sure) to see if the host needed tickling. No sign of any data transfer. So I just waited and waited to see if anything would happen. Eventually there was data transfer with the host and a normal logon proceded. Here is the log (a bit long). I do appreciate the level of support you are giving to you users.
 [\\\\I8P9D0]
 00000000	0.00000000	[Absolute] Entering WinMain()
 00000001	0.00894880	[Absolute] Determine Max Session
 00000002	0.02718000	[Absolute] Entering InitApplication
 00000003	0.02977840	[Absolute] Registring Application class
 00000004	0.03013200	[Absolute] Registering Screen class
 00000005	0.03026640	[Absolute] Registering hidden class
 00000006	0.03038080	[Absolute] Create notification thread
 00000007	0.04261360	[Absolute] Return from InitApplication
 00000008	0.04266000	[Absolute] Create mutex
 00000009	0.04277040	[Absolute] Loading RichEDIT Library
 00000010	0.30554320	[Absolute] Loading accelerators
 00000011	0.30564240	[Absolute] Allocating memory for scrollback
 00000012	0.36715120	[Absolute] Creating main window
 00000013	0.38161920	[Absolute] In wm_create
 00000014	0.38174560	[Absolute] Leaving wm_create
 00000015	0.38183040	[Absolute] Window created
 00000016	0.38191760	[Absolute] Initialize Ole Library
 00000017	0.41196960	[Absolute] Initialize components
 00000018	0.44095840	[Absolute] Check to see if I'm registered
 00000019	0.46660240	[Absolute] Done Checking
 00000020	0.46664720	[Absolute] Initialize statusbar
 00000021	0.46855920	[Absolute] Initialize toolbar
 00000022	0.52156240	[Absolute] Check to see if I'm registered
 00000023	0.52161360	[Absolute] Done Checking
 00000024	0.63373040	[Absolute] Initialize scrollback
 00000025	0.81974640	[Absolute] Initialize factory
 00000026	0.82843360	[Absolute] Parsing command line arguments
 00000027	1.81451520	[Absolute] Check to see if I'm registered
 00000028	1.81456000	[Absolute] Done Checking
 00000029	1.81460160	[Absolute] Check to see if I'm registered
 00000030	1.81463520	[Absolute] Done Checking
 00000031	2.06141440	[Absolute] Check to see if I'm registered
 00000032	2.06145920	[Absolute] Done Checking
 00000033	2.07173840	[Absolute] Check to see if I'm registered
 00000034	2.07178240	[Absolute] Done Checking
 00000035	2.07655120	[Absolute] Check to see if I'm registered
 00000036	2.07659760	[Absolute] Done Checking
 00000037	2.09090240	[Absolute] Check to see if I'm registered
 00000038	2.09095040	[Absolute] Done Checking
 00000039	2.10022960	[Absolute] Check to see if I'm registered
 00000040	2.10027600	[Absolute] Done Checking
 00000041	2.14839920	[Absolute] Check to see if I'm registered
 00000042	2.14844560	[Absolute] Done Checking
 00000043	2.15407040	[Absolute] Check to see if I'm registered
 00000044	2.15411600	[Absolute] Done Checking
 00000045	2.15867680	[Absolute] Check to see if I'm registered
 00000046	2.15872560	[Absolute] Done Checking
 00000047	2.16466000	[Absolute] Check to see if I'm registered
 00000048	2.16470880	[Absolute] Done Checking
 00000049	2.17779120	[Absolute] Check to see if I'm registered
 00000050	2.17784080	[Absolute] Done Checking
 00000051	2.18311680	[Absolute] Check to see if I'm registered
 00000052	2.18316080	[Absolute] Done Checking
 00000053	2.19604000	[Absolute] Check to see if I'm registered
 00000054	2.19609040	[Absolute] Done Checking
 00000055	2.20156960	[Absolute] Check to see if I'm registered
 00000056	2.20161440	[Absolute] Done Checking
 00000057	45.30138240	[Absolute] Check to see if I'm registered
 00000058	45.30143200	[Absolute] Done Checking
 00000059	65.85625040	[Absolute] Check to see if I'm registered
 00000060	65.85630160	[Absolute] Done Checking
 00000061	65.86281920	[Absolute] Check to see if I'm registered
 00000062	65.86286240	[Absolute] Done Checking
 00000063	65.97408000	[Absolute] Check to see if I'm registered
 00000064	65.97413120	[Absolute] Done Checking
 00000065	65.97814320	[Absolute] Check to see if I'm registered
 00000066	65.97818880	[Absolute] Done Checking
 00000067	66.06076320	[Absolute] Check to see if I'm registered
 00000068	66.06081120	[Absolute] Done Checking
 00000069	66.06875600	[Absolute] Check to see if I'm registered
 00000070	66.06880240	[Absolute] Done Checking
 00000071	66.15081280	[Absolute] Check to see if I'm registered
 00000072	66.15086240	[Absolute] Done Checking
 00000073	66.15613120	[Absolute] Check to see if I'm registered
 00000074	66.15617840	[Absolute] Done Checking
 00000075	67.84858400	[Absolute] Check to see if I'm registered
 00000076	67.84863360	[Absolute] Done Checking
 00000077	67.85614800	[Absolute] Check to see if I'm registered
 00000078	67.85619200	[Absolute] Done Checking
P.S. I forgot to mention, if it makes any difference, that for a reason I have changed my emulation from vt100 to xterm, although A.T. was starting OK with the different emulation until this evening. (xterm has been giving me good results with colors from some applications on the NetBSD Unix host.)
