This topic contains advice for dealing with some of the common
problems that can arise when debugging message flows.
Java class error messages are displayed when you start the debugger
Scenario: You are trying to start the debugger on a message
flow, but the debugger does not start, and a number of event errors are issued
about Java classes.
Explanation: The most likely cause of this problem is that
you have not installed the Rational Agent Controller. Although the Agent
Controller is not a prerequisite for WebSphere Message Broker,
it is a prerequisite for the message flow debugger.
Solution: Install the Agent Controller.
An endless "waiting for communication" message is displayed when you
start the debugger
Scenario: After you click Start Debugging,
you get an endlessly cycling progress bar entitled "waiting for communication".
The "debug session started" message is not displayed in the information pane.
Explanation: If the message flow has nodes with ESQL statements,
the flow might not deploy even if the statements are correct syntactically. This can occur, for example, because of multiple declarations or
uninitialized variables (that is, semantic problems that the syntax parser
does not pick up). Always check the workbench Event
log to confirm that the debugged version of your message flow has deployed
successfully; it has the same name as the original message flow, with the
suffix _debug_.
If the message flow does not deploy properly,
the debugger cannot establish communication with the flow, and you see the
endless progress bar.
Solution: Click Cancel to clean up
and return to a good state, then fix your errors and try again. As
a check, see if your flow can deploy without the debugger.
The debugger seems to stop
Scenario: You are debugging a message flow and continue
after encountering a breakpoint. However, nothing seems to happen and after
about a minute, a progress bar appears, indicating that the debugger is waiting
for communication.
Explanation: There are two possibilities.
The message flow might have encountered a time-intensive operation, such
as a huge database query that you simply have to wait for.
The broker ended, or some other extraordinary condition occurred, and
communication was lost. In this case, click Cancel to
stop the debug session.
The session ends abnormally while debugging
Scenario: After debugging a message flow, the session ends
abnormally and you still have the debug instance of the message flow (mf_debug_)
deployed to the broker's execution group. You are concerned that this is going
to affect the operation of the flow, and want to put the execution group back
to its original state.
Explanation: The orphaned message flow should behave as
the flow would have done normally, and the Debug nodes have no effect on message
processing. If you have a small number of nodes in the message
flow, corrective action makes no noticeable difference to the flow, apart
from its name. However, if you have a large message flow (that is, more than
15 nodes or several subflows), take the corrective action described below,
because the performance of message processing might be affected.
Solution: Redeploy the broker.
A full redeploy
of the broker should replace the orphaned flow with the original message flow.
If this has no effect, remove the orphaned flow from the execution group,
deploy, and then add the flow and deploy to restore the original state of
the broker as it was before the debugging session.
An error message is displayed indicating that the Rational Agent Controller
is not installed
Scenario: You are using the message flow debugger and an
error is issued indicating that the Agent Controller is not installed, or
that you have chosen the wrong hostname or port. You have the Agent Controller
service started, and the hostname and port are valid.
Solution: Close and reopen the workbench,
and retry the command. You can also try stopping and restarting the Agent
Controller service.
Message
flow engines are not available
for selection
Scenario: You open the Attach to the Message Flow
Engine wizard, but there are no message flow engines
listed for the host computer.
Scenario: Your Rational Agent Controller is started, your
broker is running, but you cannot see the list of execution groups in the
Agent page when you attach to the debugger.
Solution: Start your Agent Controller services before you
start the broker. Restart the Agent Controller and try to attach again.
You see the wrong execution group names in the Agent page
Scenario: You see the same execution group names in the
Agent page when you try to attach to the debugger.
Explanation: The Rational Agent Controller has not updated
the agent list since the last attempt to attach to the debugger.
Solution: Restart the Agent Controller to refresh the list.
Shared Memory Allocation Error on AIX
Scenario: Your Rational Agent Controller has started, your
broker is running, and you see an error message saying that shared memory
allocation has failed after the broker is attached to the Agent Controller.
Explanation: This is a general timing problem that occurs
when the Agent Controller is connected to the broker when the broker has not
started completely.
Solution: Wait until the broker has started completely before
attaching it to the Flow Debugger. Alternatively, set the logging level in
the Agent Controller to debug or information; this allows more time for the
broker to start up. The following steps show you how to change the logging
level.
Go to the IBM Agent Controller install dir/config directory
and open the configuration file serviceconfig.xml.
Change the loggingLevel tag to debug or
information. The default value is warning.
An error message is displayed indicating that the debug session cannot
be launched
Scenario: You try to relaunch or invoke a new debug session
but when you click the green Debug icon , an error message is displayed
stating: Cannot launch this debug session.
Explanation: When you click the Debug icon,
it re-launches the last debug session. It fails if you have not created a
debug session previously. It also fails if the broker and execution group
that were attached to previously in a debug session are no longer running
or have been restarted; the session cannot be re-attached without re-selection
of the new broker and execution group process instance.
Solution:
Close the error message and click the drop-down arrow immediately
to the right of the Debug icon.
Re-select or modify the broker and execution group information
in the previous debug launch configuration by clicking Debug in
the drop-down menu and selecting the previous debug launch configuration.
See Attaching to the flow engine for debugging for more information.
Errors are generated when you copy a message map into a message flow
project
Scenario: You copied a message map into a message flow project
and errors appeared in the task list.
Explanation: The message flow project did not have the
correct references set before you copied the message mapping.
Solution: These errors will remain in the task list, even
if you reset the project references immediately after copying; you must perform
a clean build of the message flow project.