Debugging PicLan SERVER-PROCESS Hangs
April 24, 1998
This paper discusses the proceedures to follow to determine why the
PicLan SERVER-PROCESS phantom job has stopped operating.
How the SERVER-PROCESS Runs
The PicLan SERVER-PROCESS is a Pick/BASIC program that calls a large number
of Pick/BASIC subroutines. It also uses a bit of PicLan assembler
code and driver code for it's operation as well. This program runs
on the following types of ports:
The PicLan SERVER-PROCESS is run on an AP/OA phantom process that is started
with the system Z command. If the SERVER-PROCESS fails with a BASIC
run-time error or system abort, the system will log the process off automatically.
The PicLan SERVER-PROCESS is run on a standard system port that does not
have a physical terminal attached to it. It is started with the system
LOGON command. If the SERVER-PROCESS fails with a BASIC run-time
error or system abort, it will just sit there in the debugger.
The PicLan SERVER-PRCOESS is run on a system background port. It
is started with the system LOGON command. If the SERVER-PROCESS fails
with a BASIC run-time error or system abort, it will just sit there in
The PicLan SERVER-PROCESS is run on a standard system dynamic port that
does not have any terminal devices assigned to it. It is started
with the system LOGON command. If the SERVER-PROCESS fails with a
BASIC run-time error or system abort, it will just sit there in the debugger.
What Happens When the SERVER-PROCESS Fails
If the PicLan SERVER-PROCESS fails, PicLan does not stop working entirely.
Some PicLan functions do not require the server-processes presence, and
some do. The following elements will continue to operate without
an active SERVER-PROCESS:
Other functions do require the SERVER-PROCESS:
Inbound terminal sessions.
PicLan TCL commands and remote access subroutines:
Terminal session auto-logon and auto-logoff functions
PL-COPY commands originated from other systems
All network printing functions
VB API functions
Other functions that start on other system and ask for resources from the
How Do You Know the SERVER-PROCESS has Failed
The most obvious symptom is that something that you need to work is not
working. This is most commonly network printing. You can also
execute PL-STAT and it will display a warning message if the SERVER-PROCESS
is not active and alive.
Why Does the SERVER-PROCESS Fail
This is the most difficult question to answer. The SERVER-PROCESS
can fail for all of the reasons that any Pick application program can fail:
In most cases, the SERVER-PROCESS does not fail because of a SERVER-PROCESS
internal bug (we try to fix these and most seem to be gone at this point),
but instead because of some more general system problem like an abort.
A bug in the SERVER-PROCESS code was encountered.
A bug in the data records that the SERVER-PROCESS uses.
The system aborted because of:
A system ABS corruption
Out of disk space
Out of workspace
How Do You Diagnose SERVER-PROCESS Failures
The first step in diagnosing a SERVER-PROCESS problem is to run the SERVER-PROCESS
where you can see it's output. This means that you need to run the
SERVER-PROCESS on a normal, terminal connected, port instead of on a system
phantom processes. Doing this takes a couple of steps:
Stop the current SERVER-PROCESS
This may require you to run PL-STOP-SERVER is the SERVER-PROCESS is
still working or use the system LOGOFF command if the SERVER-PROCESS is
currently sitting in the debugger. You should use the WHERE display
to make sure the SERVER-PROCESS is gone. If you cannot kill off the
current server-process, you can de-configure the SERVER-PROCESS in PL-CONFIGURE
and reboot the host.
Manually run the SERVER-PROCESS in the forground on a standard terminal
or network connection that you can watch.
This allows you to run the SERVER-PROCESS in a location where you will
see any errors and messages that would be lost if the SERVER-PROCESS were
running on a phantom port.
What Port Should I Run the SERVER-PROCESS on During Debugging
While you are trying to figure out why the SERVER-PROCESS is failing, you
will need to give it a standard, terminal connected (either serial, console,
or network), port to run on. This proceedure will use a Pick login
license and will tie up a terminal port for the duration of the debugging
operations. The best port to use is probably the system console (port
0), but you can freely use serial connected terminals as well as PicLan
How Do I Start the SERVER-PROCESS Manually Once the Phantom SERVER-PROCESS
The steps to start the SERVER-PROCESS manually are very simple:
Log to the PIC-LAN account and access TCL
At TCL type:
RUN PL.BP SERVER-PROCESS (E)
The SERVER-PROCESS will run in the forground until you either
Execute a PL-STOP-SERVER on another port
Press the letter X
Now That I See Why the SERVER-PROCESS Fails, What Next
Once you see the SERVER-PROCESS fail, you can use the information that
you see to take further action. If you see a GFE or system abort
relating to file space, you may need to consider reloading ABS, the PIC-LAN
account, or the entire system. If you get a system abort that you
do not understand, you should contact your Pick technical support people.
Modular Software does not provide general Pick technical support.
On AP/Pro and Mentor PRO platforms, Modular Software only provides technical
support as backup to Pick Systems and General Automation PicLan technical
support. Users of other platforms can contact Modular Software directly.