Posts tagged ·

hawk

·...

HMA startup issue on AIX – Hawk 4.5.1

9 comments

I have encountered an error on AIX box, related to start up of hma. When the box is re-started, there is a script that runs to start hawk agent and the agent then should bring up hma automatically.
What is observed is that, when the box is restarted, agent comes up correctly but the hma does not. After I kill the agent and run the same script again, it starts both agent and hma correctly, i.e. agent starts hma automatically.
Script does nothing more than running the hawkagent_domain command.

The versions of Hawk and TRA being used are listed below,
Hawk – 4.5.1
TRA – 5.2.0.

Any suggestions greatly appreciated.

How to trace BusinessWorks application

1 comment

You can set
Trace.Startup=true
Trace.Task.*=true
Trace.JC.*=true
Trace.Engine=true
Trace.Debug.*=true

in deployed tra file and then restart the application, run the process and until the errors appear again, then check detailed log file locates in the <install-path>\tibco\tra\domain\application\logs folder. Please keep in mind that all manual settings will be cleared after redeploy. To keep it permanent, set in bwengine.tra file in <install-path>\tibco\bw\<version>\bin folder.

Also possible to redirect the stdout and stderr output to any file. Please set in deployed cmd:
"/<install-path>/tibco/bw/<version>/bin/bwengine.exe" --run --propFile "/<install-path>/tibco/tra/domain/application/<application>.tra" > "/tmp/trace.out" 2>&1
then start this cmd from command shell.

You can also enable higher tracing to Hawk, set -tsm_tracelevel -1 in your <install-path>\tibco\tra\domain\<domain-name>\hawkagent.cfg and restart your Hawk Agent. The logs will be under <install-path>\tibco\tra\domain\<domain-name>\logs\tsm.log by default, you can define it using -tsm_traceLogFile parameter.

TIBCO Hawk microagent and eventlog.out file growing

no comments

We recently encountered a situation when the hawk\bin\eventlog.out file grew, until it ran out of disk space. This is a known bug: we can’t configure or disable eventlog.out file even if we don’t use Windows event logs monitoring microagent rules.

This has been fixed in Hawk 4.8.1 Hotfix 3:

1-83ZKPM
In the Eventlog microagent, the logging events in the eventlog.out
file kept growing and could not be turned off. This has been fixed.

You can download this or latest hotfix from the TIBCO support ftp server as Hawk hotfixes are cumulative.
To install stop all Hawk services, then just copy these files from the hotfix archive and replace the ones that already exist:

  • /hawk/bin/tibhawkhma.exe
  • /hawk/lib/agent.jar
  • /hawk/lib/console.jar

If you run 64bit Hawk, take /hawk/bin/tibhawkhma64.exe from archive and save it as /hawk/bin/tibhawkhma.exe

By the way, some other important things were fixed in the Hawk 4.8.1 Hotfix 3 and Hotfix 4, so please keep your Hawk agents updated.

Problem with libeay32.dll and ssleay32.dll

7 comments

You may experience this problem, when can’t run TIBCO Administrator, Hawk, BW process or any other TIBCO component. In log files you can find messages related to OpenSSL libraries libeay32.dll and ssleay32.dll. The reason is that TIBCO messaging components use OpenSSL, but other applications may also use OpenSSL and have already installed these dlls in C:\WINDOWS\System32 or C:\WINDOWS\SysWOW64 depending on the platform.

When you start the application, it unsuccessful attempts to find dll files near the binary, then tries to find in the System32 folder. But dlls from other version of OpenSSL are there. Your application will use it, instead correct version from TIBCO Rendezvous bin folder for example, even you have this folder in the PATH. TIBCO product can’t call the necessary functions, gives an error and stops working.

Solution is take libeay32.dll and ssleay32.dll from TIBCO Rendezvous bin folder to the bin folders of every installed TIBCO component. Or just copy and replace to C:\WINDOWS\System32 or C:\WINDOWS\SysWOW64.

Update: these libraries are needed for SSL communication using secured daemons (RVSD or RVSRD) only, if you are not using RVSD or RVSRD then just remove the tibrvjsd.jar file from the classpath.

TIBCO Hawk NoClassDefFoundError issue

1 comment

On the Windows platform you can experience java.lang.NoClassDefFound Error when starting Hawk Agent or Hawk Display. In my example I use TIBCO EMS as a transport for Hawk messaging and issue arose after upgrade EMS from version 4 to version 5 on the server. The reason is that in EMS version 5.1 paths to java class libraries are: <Tibco_Root>\ems\5.1\lib\jms.jar; <Tibco_Root>\ems\5.1\lib\tibjms.jar; <Tibco_Root>\ems\5.1\lib\tibrvjms.jar; <Tibco_Root>\ems\5.1\lib\tibcrypt.jar;
In EMS 4.x. paths were: <Tibco_Root>\ems\clients\java\jms.jar; <Tibco_Root>\ems\clients\java\tibjms.jar; <Tibco_Root>\ems\clients\java\tibrvjms.jar; <Tibco_Root>\ems\clients\java\tibcrypt.jar; <Tibco_Root>\ems\clients\java\jaxp.jar; and they remained in the Hawk configuration.

On windows this configuration is stored in the registry. Just open regedit and modify three classpath strings under HKLM\SOFTWARE\Tibco Software\TIB/Hawk\<version>.

For TIBCO Rendezvous transport situation can be the same, if path to used jar <Tibco_Root>\tibrv\lib\tibrvj.jar; was changed.

About classpath and Hawk. In general, NoClassDefFoundError is a Java (JVM) error that occurs when a class needed to run a Java program cannot be found. Here are Hawk is Java program and classes (a set of dynamically loadable libraries that Java applications can call at runtime) in the jar files mentioned above. Classpath is an argument that tells the JVM where to look for user-defined classes and packages in Java programs.

On Unix in the startagent startup script for TIBCO Hawk Agent for example, you can find something like this:
# If EMS_ROOT is set, add EMS jars files.
if [ ! -z "$EMS_ROOT" ]; then
JARFILE="$JARFILE:$EMS_ROOT/clients/java/jms.jar"
JARFILE="$JARFILE:$EMS_ROOT/clients/java/tibjms.jar"
JARFILE="$JARFILE:$EMS_ROOT/clients/java/tibrvjms.jar"
JARFILE="$JARFILE:$EMS_ROOT/clients/java/tibcrypt.jar"
fi
# Add jar files for RV.
JARFILE="$JARFILE:$RV_ROOT/lib/tibrvj.jar"
# Add existing CLASSPATH environment variable to class path.
JARFILE="$JARFILE:$CLASSPATH"

Here are the same classes and classpath variable. So, please keep in mind this.