The prediction_engine probe will not start up
search cancel

The prediction_engine probe will not start up

book

Article ID: 33947

calendar_today

Updated On:

Products

DX Unified Infrastructure Management (Nimsoft / UIM) DX Unified Infrastructure Management (Nimsoft / UIM) CA Unified Infrastructure Management SaaS (Nimsoft / UIM) Unified Infrastructure Management for Mainframe

Issue/Introduction

The prediction_engine probe will not start up.

The probe cannot obtain a port or a PID. Error in the prediction_engine log shows:

Controller: probe_tail_logfile: Unable to stat file probes/slm/prediction_engine/prediction_engine.log for probe prediction_engine

Controller: Max. restarts reached for probe 'prediction_engine' (command = <startup java>)

Environment

Release: UIM 9.x or higher
Component: prediction_engine

Cause

  • Another probe tcp_proxy had been configured to use and already taken the same port (55005), required by the prediction_engine probe.

Resolution

1. Deactivate prediction_engine

2. Run the probe manually using the arguments from the probe Edit window (accessed via rt-click on the probe itself)

C:\Program Files (x86)\Nimsoft\probes\slm\prediction_engine>"../../../jre\jre7/bin/java.exe" -Xmx128m -Xms64m -agentlib:jdwp=transport=dt_socket,address=55005,server=y,suspend=n -Djava.library.path=../../../lib -jar lib/prediction_engine.jar"

Output of the manual command to run the prediction_engine probe was:

ERROR: transport error 202: bind failed: Address already in use
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510) JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [../.
./../src/share/back/debugInit.c:750]
FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197)

3. Running the command, netstat -an | findstr "55005" finds something was LISTENING/using that port.

?TCP??? 0.0.0.0:55005????????? 0.0.0.0:0????????????? LISTENING

4. Doing a netstat -anb | more will show you the executable which in this case is java.exe for the prediction_engine but may be different if some other process is using port 55005.

In this case, the tcp_proxy (tcp_proxy.exe) probe had a profile that had been configured to use that port for RDP so it was preventing the prediction_engine from using that port (which is a required port).

5. Once I deactivated/deselected that profile in the tcp_proxy configuration window, the prediction_engine was able to successfully start up and get a port and a PID.

Additional Information

It may be required that the probe does not take the port defined because of conflict with another windows service:

To avoid that the probe takes 55005:

right click on the probe > edit:

in Arguments you will have:

-Dlog4j.configurationFile=log4j2.xml -agentlib:jdwp=transport=dt_socket,address=55005,server=y,suspend=n -Djava.library.path="../../../lib" -jar lib/prediction_engine.jar

Change that to a different address:

E.g., -Dlog4j.configurationFile=log4j2.xml -agentlib:jdwp=transport=dt_socket,address=55006,server=y,suspend=n -Djava.library.path="../../../lib" -jar lib/prediction_engine.jar