|
Problem |
MSGS0101E: Start Queue Manager command failed with exit
code: XX
might be seen in the SystemOut.log when starting an application server.
This error indicates that the Embedded Queue Manager in WebSphere®
Application Server V5 did not start successfully. The exit code indicates
the reason it failed.
If you receive an MQ error with an error code when attempting to connect
to the queue manager, meaning that the queue manager started successfully,
the message logged is J2CA0046E.
In either case, a nested com.ibm.mq.MQException: MQJE001 error is also
logged. |
|
Cause |
The cause is indicated by the exit code. |
|
Solution |
Use the following recommendations to prevent the MSGS0101E
error and to help ensure that the Embedded Queue Manager starts
successfully.
- On Unix® systems, determine if the user ID used to start WebSphere
Application Server has root or non-root authority.
- Check the permissions on the following directories and files to make
sure that the user that is used to run Embedded Messaging has the
necessary permissions for these directories.
On Windows® platforms:
Queue Manager: x:\Program Files\IBM\WebSphere MQ
Broker: x:\Program Files\IBM\WebSphere MQ\WEMPS
On AIX®:
Queue Manager: /usr/mqm
Broker: /usr/opt/wemps
On Solaris Operating System™:
Queue Manager: /opt/mqm
Broker: /opt/wemps
Also verify that the user ID is in the mqm group.
- If you use a non-root user ID to start WebSphere Application Server,
follow the steps in this WebSphere Application Server Information Center
article:
http://publib.boulder.ibm.com/infocenter/wasinfo/topic/com.ibm.websphere.base.doc/info/aes/ae/trun_svr_nonroot.html
To verify that the permissions for the user ID running MQ are correct,
issue the following commands using the user ID that runs WebSphere. If
these are successful, the permissions are probably correct.
Use the command crtmqm to create a test queue manager.
crtmqm TEST
Next, use strmqm to start that queue manager.
strmqm TEST
If these commands run successfully, start the queue manager that is
failing.
- From the MSGS0101E: Start Queue Manager command failed with exit
code: XX message, look up the meaning of the exit code in this table:
MQ Exit code |
Symbolic Name |
Diagnostic Action |
16 |
lpiRC_Q_MGR_DOES_NOT_EXIST == Queue manager does not
exist |
If the underlying problem is a
Exception:java.io.IOException: crtmqm: not found
Cause This problem is most likely to occur on a Unix system when
WebSphere Application Server is started by a non-root user. In this
case, the non-root user has the necessary permissions to access the
WebSphere installation directory, but not the directories under which
the embedded MQ queue manager and broker are installed.
Solution, confirm the results from step 1.
This exit code means the queue manager does not exist. Check the
WSAS_HOME\logs\createmq.nodename_server1.log to determine what failure
occurred. Run WSAS_HOME\bin\deletemq(.sh or .bat) and then
WSAS_HOME\bin\createmq(.sh or .bat) to recreate the Embedded queue manager
and broker. |
23 |
lpiRC_LOG_NOT_AVAILABLE == The log could not be
accessed |
This is logged when an MQ queue manager cannot access its
transaction logs. These are the logs where MQ records transactions and
persistent data. For Embedded Messaging, the logs are written to
MQ_HOME/Log/QueueManager/active
Either the logs are missing or the permissions are not set correctly;
1. The logs should have the following permissions and should be owned by:
mqm:mqm rwxrwsr-x
2. If the logs are gone, then it will be necessary to delete and recreate
the queue manager by running the deletemq and createmq commands as shown
above. |
24 |
lpiRC_Q_MGR_STOPPED == Queue manager is already
stopped |
If this exit code is logged when starting the queue
manager, then this indicates that "A process that was using the previous
instance of the queue manager has not yet disconnected." To check whether
the queue manager is already running, enter the command dspmq to show the
status of the queue managers on the machine.
( For more information on these commands and this error message, refer to
the Chapter 17 of this MQ reference manual,
http://publibfp.boulder.ibm.com/epubs/html/amqzag04/amqzag04tfrm.htm)
Use MQ commands or the WebSphere administrative console to stop the queue
manager and then restart the JMSServer.
To do this using MQ commands, issue the endmqm <queue_manager_name>
command to stop the queue manager and then restart the jmsserver. |
71 |
lpiRC_CSPRC_UNEXPECTED_ERROR == Command service program
return code which will be mapped to MQRC_UNEXPECTED_ERROR at the SPI
interface |
This exit code indicates an MQ internal error. Some
possible causes for this error include:
-- APAR IY43610 (this is fixed in MQ 5.3 CSD04),
-- a firewall that is preventing the connection,
-- other causes. Check the MQ error logs for additional information.
If mqver indicates that MQ 5.3 CSD03 is installed and MQ is terminating
abnormally, then it is recommended to upgrade to MQ 5.3 CSD04. An MQ
message file will contain something like this:
Probe Id :- XC130031
Probe Description :- AMQ6119: An internal WebSphere MQ error has occurred
(Access Violation at address C07A434C when writing)
An MQ error file, such as AMQERROR1.log, will contain the message
08/28/2003 10:29:33
AMQ6119: An internal WebSphere MQ error has occurred (Access Violation at
address C07A434C when writing)
If a firewall is causing this problem, then one might see that the MQ
command is failing when the program makes a call to
"gethostbyname("localhost")" in the MQ error logs or in a trace of this
problem.
Some other problems that this exit code indicates include a problem with
permissions, a large number of IPC objects owned by mqm in memory,
licensing issues.
-- for permissions problems, see 2. above
-- There are 2 ways to clear out stale IPC objects
1) Reboot the machine
2) Run the following command
amqiclen -m QMGRNAME
(All running queue managers should be stopped before running
this command.)
|
119 |
lpiRC_USER_NOT_AUTHORISED ==User not authorized |
This message means that the user id making the request is
not authorized to do so.
There are a few possible reasons for this.
1. the queue manager name contains invalid characters. The crtmqm can be
used to check if a queue manager name in question contains invalid
characters. Refer to
http://publibfp.boulder.ibm.com/epubs/html/amqzag04/amqzag04tfrm.htm
to see what characters are valid for a queue manager name.
2. the WebSphere Application Server was started using a script and the
root user id was not given RunAs authority for the Application Server. See
technote, JMS Server
exitcode 119
Also see MSGS0129E:
User not authorized to start Queue Manager, command failed with exit code:
119
3. This may also occur if you use telnet to access the WebSphere system
and start the Application Server. See technote
1214974 |
- Check the AMQERR*.log files in MQ_HOME/Qmgrs/qmgr name/errors
for relevant errors that occurred at the same time as the MSGS0101E error.
- Enable tracing to help determine the cause of the problem. To enable a
trace:
- Open the WebSphere administrative console.
- Expand Servers, then click on Application Servers.
- Select the server that is having the problem; for WebSphere
Application Server Base, this is your Application Server. For WebSphere
Application Server ND, this is your jmsserver.
- Click on Diagnostic Trace Service.
- Click on the Configuration tab.
- Type the following string in the Trace Specification:
JMSQueueManager=all=enabled:JMSServer=all=enabled:JMSApi=all=enabled
Set the number of historical files to 10.
- Click Apply.
- Stop and restart the server.
|
|
|
|
Cross Reference information |
Segment |
Product |
Component |
Platform |
Version |
Edition |
Application Servers |
Runtimes for Java Technology |
Java SDK |
|
|
|
|
|
|
|