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.)