Products | Versions |
---|---|
TIBCO ActiveMatrix BusinessWorks | - |
Not Applicable | - |
Description:
TIBCO BusinessWorks application using Rendezvous Certified or Distributed Queue transport crashes in tibrvMsg_Detach function or tibrvMsg_GetString() function.
Symptoms:
A. BW engine using RVCM or RVDQ type of transport gives a core dump with any of the following stacktraces:
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j com.tibco.tibrv.TibrvMsg.tibrvMsg_Detach(J)V+0
J com.tibco.tibrv.TibrvMsg.get(JSILcom/tibco/tibrv/TibrvMsg;)Ljava/lang/Object;
J com.tibco.plugin.tibrv.RVDeSerializer.subDeSerializeRaw(Lcom/tibco/xml/datamodel/XiNode;Lcom/tibco/tibrv/TibrvMsg;)V
j com.tibco.plugin.tibrv.RVDeSerializer.deSerializeRaw(Lcom/tibco/tibrv/TibrvMsg;)Lcom/tibco/xml/datamodel/XiNode;+31
j com.tibco.plugin.tibrv.RVEventSource$RVEventContext.postProcess(Lcom/tibco/xml/datamodel/XiNode;)Lcom/tibco/xml/datamodel/XiNode;+220
j com.tibco.pe.core.ProcessGroup.eval(Lcom/tibco/pe/plugin/ProcessContext;Lcom/tibco/xml/datamodel/XiNode;)Lcom/tibco/xml/datamodel/XiNode;+122
J com.tibco.pe.plugin.Activity.eval(Lcom/tibco/pe/plugin/ProcessContext;Lcom/tibco/xml/xdata/InputData;)Lcom/tibco/xml/datamodel/XiNode;
J com.tibco.pe.core.TaskImpl.eval(Lcom/tibco/pe/plugin/ProcessContext;)Ljava/lang/String;
J com.tibco.pe.core.Job.a(J)J
J com.tibco.pe.core.Job.k()J
j com.tibco.pe.core.JobDispatcher$JobCourier.a(Lcom/tibco/pe/core/Job;)Z+4
j com.tibco.pe.core.JobDispatcher$JobCourier.run()V+184
Or
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j com.tibco.tibrv.TibrvMsg.tibrvMsg_GetString(JI[BLcom/tibco/tibrv/TibrvMsg;)V+0
j com.tibco.tibrv.TibrvMsg.getStringField(JILcom/tibco/tibrv/TibrvMsg;)Ljava/lang/String;+35
J com.tibco.tibrv.TibrvMsg.get(JSILcom/tibco/tibrv/TibrvMsg;)Ljava/lang/Object;
J com.tibco.tibrv.TibrvMsg.getFieldByIndex(I)Lcom/tibco/tibrv/TibrvMsgField;
J com.tibco.plugin.tibrv.RVDeSerializer.a(Lcom/tibco/xml/datamodel/XiNode;Ljava/util/HashMap;Ljava/util/HashMap;Lcom/tibco/xml/schema/SmParticleTerm;Lcom/tibco/tibrv/TibrvMsg;ZZZ)V
J com.tibco.plugin.tibrv.RVEventSource$RVEventContext.postProcess(Lcom/tibco/xml/datamodel/XiNode;)Lcom/tibco/xml/datamodel/XiNode;
J com.tibco.pe.core.ProcessGroup.eval(Lcom/tibco/pe/plugin/ProcessContext;Lcom/tibco/xml/datamodel/XiNode;)Lcom/tibco/xml/datamodel/XiNode;
J com.tibco.pe.core.TaskImpl.eval(Lcom/tibco/pe/plugin/ProcessContext;)Ljava/lang/String;
J com.tibco.pe.core.Job.a(J)J
J com.tibco.pe.core.Job.k()J
J com.tibco.pe.core.JobDispatcher$JobCourier.run()V
v ~StubRoutines::call_stub
B. Following exception is seen in the stderr of the bwengine:
TibrvException[error=41,message=Decoder failed for TibrvMsgField[name=sub,id=0,type=INVALID(2),data=null]]
at com.tibco.tibrv.TibrvMsg.getFieldByIndex(TibrvMsg.java:1677)
at com.tibco.plugin.tibrv.RVDeSerializer.a(Unknown Source)
at com.tibco.plugin.tibrv.RVDeSerializer.deSerialize(Unknown Source)
at com.tibco.plugin.tibrv.RVEventSource$RVEventContext.postProcess(Unknown Source)
at com.tibco.pe.core.ProcessGroup.eval(Unknown Source)
at com.tibco.pe.plugin.Activity.eval(Unknown Source)
at com.tibco.pe.core.TaskImpl.eval(Unknown Source)
at com.tibco.pe.core.Job.a(Unknown Source)
at com.tibco.pe.core.Job.k(Unknown Source)
at com.tibco.pe.core.JobDispatcher$JobCourier.a(Unknown Source)
at com.tibco.pe.core.JobDispatcher$JobCourier.run(Unknown Source)
C. Some RV message fields have null or incorrect values in the output of the RV Subscriber activity in BW.
Cause:
The issue happens due to Rendezvous defect (RV-3105) described below:
Java application could abruptly exit while processing a CM or DQ message outside of the dispatch thread.
(Affects only the tibrvnative.jar library.)
Apply Rendezvous 8.4.1 hotfix-01 which fixes this issue: