Kbase 21365: Proserve Command Errors Starting JVM: Error 22
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  4/30/2004 |
|
Status: Unverified
GOAL:
How to troubleshoot a JVM error 22 when using a Progress script.
FACT(s) (Environment):
Progress 9.x
SYMPTOM(s):
Error appears when issuing a Proserve command.
Error parsing file to execute:(filename)
Error parsing file to execute: (/<directoryname>/_mprosrv)
Error starting JVM error 22.
CAUSE:
The environment variables that are needed to run the script are set incorrectly.
FIX:
When there is an error with a script, use these recommended debugging steps to correct it.
1) See if the executable can execute from the commandline. The Proserve script sets PROSRV to:
PROSRV=${PROSRV-$DLC/bin/_mprosrv}
So, echo $PROSRV to see what the variable is set to verses what it defaults to.
a) In the case where the variable is *not* set, it will be set to DLC/bin/_mprosrv. So, if when the command issued from the command line is successful, then it can be determined that the problem is not with the executable, but must be something else within the script. Go to step 2.
b) If echo $PROSRV shows it *is* set to something, then attempt to execute that command. If it fails, then what needs to be determined is why it failed -- does the file exist in that location? is there a typo? etc.
Once the cause has been determined, then find where the variable is being set and correct the error.
2) If the executable works from the command line, then the script needs to be read to determine where else it may be failing. The script can be read by the user if they are comfortable with the task. The same logic used in step 1 can be used throughout the script file.
There is also a function within the UNIX operating system to debug a script. This process is often referred to as placing a script in debug mode. There are different ways this can be done. One way is editing the script.
Replace the first line of the script:
from: #!/bin/sh
to: #!/bin/sh -x
Now when the script is run (example: proserve dbname), there will be output seen on the screen. Lines with a (+) symbol indicate successful execution of a command and what that command was. Whether it was setting a variable or executing something, the results will be seen and any errors as well. Use these errors to find out where Progress determined which command to execute.