Friday, 9 May 2014

IBM Business Monitor and IBM Cognos - DPR-DPR-1035 Dispatcher detected an error

So I noticed an interesting quirk with my IBM Business Monitor 8.0.1.2 environment today, whilst monitoring (!) the logs during a startup.

I saw this: -

35      1       Audit.Other.dispatcher.DISP.pogo        pogo    com.cognos.pogo.reportservice.ProcessManager            Failure <m
essages><message><messageString>DPR-DPR-1035 Dispatcher detected an error.</messageString></message><message><messageString>Proces
s BIBusTKServerMain failed to start properly.</messageString></message></messages>      External Report Server process BIBusTKServ
erMain cannot be startedProcess BIBusTKServerMain failed to start properly.java.io.IOException: Process BIBusTKServerMain failed t
o start properly.       at com.cognos.pogo.reportservice.ReportServerProcess.getProcessOutput
(ReportServerProcess.java:154)     at
 com.cognos.pogo.reportservice.ReportServerProcess.start(ReportServerProcess.java:117)  at com.cognos.pogo.reportservice.ProcessFa
cade.createServerProcess(ProcessFacade.java:219)        at com.cognos.pogo.reportservice.ProcessFacade.<init>(ProcessFacade.java:1
20)     at com.cognos.pogo.reportservice.RSComponentFactory.newProcessFacade(RSComponentFactory.java:67)        at com.cognos.pogo
.reportservice.ProcessManager.createProcessFacade(ProcessManager.java:514)      at com.cognos.pogo.reportservice.ProcessManager.st
artProcess(ProcessManager.java:490)     at com.cognos.pogo.reportservice.ProcessManager.startInitialProcesses(ProcessManager.java:
364)    at com.cognos.pogo.reportservice.ProcessManager.start(ProcessManager.java:295)  at com.cognos.pogo.reportservice.ReportSer
verHandler.start(ReportServerHandler.java:737)  at com.cognos.pogo.services.DefaultHandlerService.start(DefaultHandlerService.java
:94)    at com.cognos.pogo.services.DispatcherServices.start(DispatcherServices.java:189)       at com.cognos.pogo.services.Dispat
cherServices.continueStartup(DispatcherServices.java:417)       at com.cognos.pogo.services.DispatcherServices.configure(Dispatche
rServices.java:137)     at com.cognos.pogo.contentmanager.coordinator.RefreshController.composeAndConfigureServices(RefreshControl
ler.java:120)   at com.cognos.pogo.contentmanager.coordinator.RefreshController.run(RefreshController.java:80)  at com.cognos.pogo
.contentmanager.coordinator.BootstrapConfigurePublish.startConfiguration(BootstrapConfigurePublish.java:154)    at com.cognos.pogo
.contentmanager.coordinator.BootstrapConfigurePublish.checkConfiguration(BootstrapConfigurePublish.java:127)    at com.cognos.pogo
.contentmanager.coordinator.BootstrapConfigurePublish$ConfigurationCheckTask.safeRun(BootstrapConfigurePublish.java:120)        at
 com.cognos.pogo.util.threads.SafeTimerTask.run(SafeTimerTask.java:32)  at java.util.Timer$TimerImpl.run(Timer.java:296)


in: -

/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/cognos/BAM8012.AppTarget.AppSrv01Node.0/logs/cogserver.log

I asked Mr Google, and found this IBM Technote: -


which said, in part: -

...
Known defect with AIX 6.1 TL09 (refer to APAR#IV52684 for AIX6.1, APAR#52745 for AIX7. Thread memory allocation will cause IBM Cognos BIBus to crash
...

and directs one to obtain an iFix from IBM.

However, there's also a circumvention, which appears to have worked for me.

It effectively involves creating a shell script that wraps around the BIBusTKServerMain binary, and 

This is what I did: -

(1) cd /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/cognos/BAM8012.AppTarget.AppSrv01Node.0/bin64
(2) mv BIBusTKServerMain BIBusTKServerMain.exe
(3) vi BIBusTKServerMain

#!/bin/sh 

MALLOCTYPE=watson 
export MALLOCTYPE 

`pwd`/BIBusTKServerMain.exe $* <&0 >&1 &

(4) chmod +x BIBusTKServerMain
(5) cd ../bin64
(6) mv BIBusTKServerMain BIBusTKServerMain.exe
(7) cp ../bin/BIBusTKServerMain .

Once I put this circumvention in place, and restarted BAM, the exception appears to have gone away.

Which is nice :-)

Of course, I will be calling IBM Support to get the AIX fix for this .....

No comments:

Note to self - use kubectl to query images in a pod or deployment

In both cases, we use JSON ... For a deployment, we can do this: - kubectl get deployment foobar --namespace snafu --output jsonpath="{...