| Front Page | News Headlines | Technical Headlines | Planning Features | Advanced Search |

August 2004

Get the most out of your Robelle Tools

Debugging Qedit for Windows Problems

By Bob Green

Debugging a client server application is more interesting. Here are the steps to debug connection problems in Qedit for Windows.

The Server Program
Verify that the client can find the server program, and that Qedit on the host is enabled for server mode:
1. Use the Server command of the Options menu and check that the MPE server filename points to the correct server program in PUB.ROBELLE (or PUBTRI in the case of some trials).
2. Use the Connections command of the Options menu and check that for each MPE connection, the word ‘Hello’ is not included as part of the login string.
3. Try to logon exactly the same way as the connection and see if you can run the named server program.
4. Is there a short expiry message?
If yes then this is probably a Trial, and server mode is enabled.
If not, then logon as Mgr.Robelle and run extend,verify to confirm that the HPSUSAN number also has an option #1. For example, you see 584654857 U 1 reported. The final “1” means Option 1 (Server mode enabled). The previous “U” means unlimited license (i.e. not 2-user)
5. Check that there is a QLOG or QLOGTRI group in the Robelle account. (This should have been built as part of the regular installation jobstream.)
One tricky case: If you’re using Time Machine (or another Date Manipulating product), expiring versions of the Qedit program will fail. Note that the date software can be configured for particular user sessions, so be sure to login as that user when verifying that their server program starts normally.
Another case (HP-UX only) of expired server is that the daemon hasn’t expired when first run, but expired after it was started. This way, the initial daemon keeps running, but subsequent connections will fail when they try to start their own server process.

Stuck at “Waiting for Host Response”
The “waiting for server response” usually indicates that RPM was able to start a new session but the server program has not started, or aborted immediately. This usually displays a logon message on the console immediately followed by a logoff message.
You can run the server with a “-d” argument, which should help in identifying the problem. Simply do:
1. Logon at a terminal or via Reflection using the exact same string used in the Hello text box of the Connection List dialog.
2. Run the server program entered in the Server name text box of the Server Configuration dialog. You have to use the “-d” argument with a port number. For example,
run qedit.pub.robelle;info=”-d 7395”
3. At this point, if everything is working properly, you will not see anything on the screen. Qedit simply displays a few empty lines. If there is any message, something has failed during the main server/listener initialization.
4. If you don’t see anything peculiar, try to change the Connection in QW so it uses the Firewall Protocol. Make sure the port number in the Server Configuration dialog matches the number used on the Info string.
5. Try to open a file on that connection. Keep an eye on the terminal session for any error message.

Security/3000
When VESoft’s Security/3000 reports, “Unable to start MPE server because the supplied login was not valid,” this error can be returned when the session limit on the host has been exceeded. Check the session limit and session count.
If the wrong passwords were entered, or Security/3000 has been incorrectly configured, the connection will fail with the above message. Here are some things to check:
1. Is the BACKG job running? Without it, the user won’t need to supply Security/3000 passwords. Its configured via the HELLO.DATA.VESOFT configuration file, which will contain a line like $CONFIG NETWORK check @,@.@
Within this config file, always check network logins, or $CONFIG NETWORK allow. Always allow network logins without prompting for passwords, or $CONFIG NETWORK refuse. Always refuse network logins. Qedit for Windows will only work if this is set to check (must supply session password) or allow (do not supply login password).
2. In SECURCON.DATA.VESOFT, do you specify that Security must be applied to batch logins?: $BATCH-VEPROFILE @.@
If so, it will allow “batch” logins only when initiated through STREAMX. Security/3000 incorrectly identifies QWIN connections as batch logins (this is a Security/3000 bug that was fixed in version 27.81128).
The solution (for older versions of Security/3000) is to add “-ONLINE” as in $BATCH-VEPROFILE @.@-ONLINE
3. Do you use session names? With Security/3000 its possible to apply session-password security without session names; i.e. HELLO MGR.MYACCT could prompt for an MPE user password for MGR, an account password for MYACCT, and then a Security/3000 password for MGR.MYACCT. Specifying a session password for the connection in the QWin client will return an error at connect time, “There is no session name and a session password was specified.” The solution to this is to specify a session name in the QWin connection, and change the Security/3000 user profile to allow session-name “@”:
:run logon.pub.vesoft,change
SECURITY/CHANGE 25N50418 (c) VESOFT Inc, 1981
Enter user id: mgr
Enter account: test
Enter session name: @ <- allows any session name
4. We had a trial customer who had all the above in order, but still couldn’t connect. After much investigation, the problem was traced to a VE-DEACTIVATE cap=SM line in their SECURCON.DATA file. Commenting it out with “(* .... *)” worked around the problem. This also was traced to a bug in Security/3000 which is fixed in version 2.7.x. If you have this problem, you should contact VEsoft for a new version, or a command file which works around the problem.
5. Another customer reported that if a user had devices excluded in their Security/3000 profile, then they couldn’t connect.

RPM
RPM reports that “Host refused the connection.” On MPE, If security and server are okay, check whether the RPM process is running. On MPE/iX 5.0 and up, RPM is part of the OS. On MPE/iX 4.0, RPM is part of the NS/3000 product.
1. Run god.pub.vesoft to get SM capability, or login as manager.sys
2. Then enter: nscontrol status. You should see RPM and RPML in the list. RPM should also have “autologon on,” If RPM is not running, stream jconfjob.net.sys, then do a nscontrol/netcontrol stop and restart. If RPM is running, but has AUTOLOGON OFF, you can enter :nscontrol autologon=on, rpm.
If you are getting: ”unknown RPM error 116, unable to start MPE server” on the system console when trying to establish a connection, you should make sure the NSSTAT and NSSTATL services have been started. To do this, simply enter NSCONTROL STATUS.
If the services are not started, enter:
nscontrol start=nsstatl
nscontrol start=nsstat
There is a way to have these services started automatically by modifying the file NSMAST.NET.SYS. Warning: This is a sensitive area. and you should contact HP’s Response Center before changing the file.

IP Address
You get the error, “Host refused the connection.” On some systems, there is more than one IP address going into the system. For example, one address for the DTC, and one for the machine. You should use the IP address for the machine. When typing in IP addresses, do NOT use leading zeroes, because that means an octal value.

Ping
To check that the lowest level of connectivity is working, you need to ping from the client to the host and from the host to the client, first by the IP address and then by the name. For more details on using Ping to debug client/server applications like Qedit for Windows, see the Web page at www.robelle.com/support/qwin/debug.html

Next month: Date conversions and calculations in Suprtool.


Copyright The 3000 NewsWire. All rights reserved.