Thursday 8 August 2013

Top Most Tibco tutorial : Tibrv Errors and Exceptions

While working with tibco rv during many years I found that tibco errors are mysteriously difficult to diagnose for a newcomer and minor difference between syntax and semantics along with network specifics lead some strange error.
here I am putting most common error which I have faced mainly because of some silly mistake in syntax and spent hours to figure out exact cause during my initial days.

This list is by no means complete and I would encourage to put any other error you have encountered to make this list more useful.

any suggestion, input feedback always welcome.

1) Error: Failed to initialize transport: Could not resolve network specification

This error comes when your rvd tries to creates tibco transport and failed to created it , it could come in your Java program which is trying to establish tibco transport or while using tibrvsend or tibrvlisten command . recently I have encountered when I am trying to listen on a particular topic (subject) by using tibrvlisten command in my windows machine.

C:\>tibrvlisten -service "5420" -network "190.231.54.20" -daemon "tcp:7500"  TEST.REPLY

Cause: It was not working because of missing ";" before network value , when I modified network string as below it working.

C:\>tibrvlisten -service "5420" -network ";190.231.54.20" -daemon "tcp:7500"  TEST.REPLY

2) Not able to receive message between two host .
This is another classic error which I have faced many times , it always look something is wrong on my side but many times it comesbecause of network filtering where they allow/disallow passing message between two based on service or topic.

generally prod and non production servers reside on different multicast network so if a configuration working for non production it may not work on production environment if network is different. you will have to change the network parameter and use the one which is assigned for production.

3) Failed to initialize transport: Arguments conflict
Another classic error which has manifests itself in different form and can magically puzzle you but I have already said looking and focusing on error message is most important point, here its simply trying to say I am trying to create tibco rvd transport for your but the arguments (which could be either service, network or daemon) is conflicting with something already running on that box, service or network.

I have recently faced issue with two different reason let's see where are those.

C:\>tibrvlisten -service "5420" -network ";190.231.54.20" -daemon "tcp:7500"  TEST.REPLY
tibrvlisten: Failed to initialize transport: Arguments conflict

Here I was trying to listen on above tibco transport but it always failing later I discovered that service "5420" was already bounded to some other network "";200.231.54.20" and some other process was already using that. when I shutdown the process and restart my tibrvlisten it started working.

Cause: If a service is already bounded to a network , trying to bound with another network will fail.

The reason for this failure is that since rvd associates the port , specified by service number with the interface/address specified by the network parameter and hence not able to associate two or more networks/interfaces with same UDP port (remember service denotes UDP port)

Second time also manifestation was same but actual cause was not with the service name but was with the network interface.

I was again trying to listen this time using remote daemon

C:\>tibrvlisten -service "5420" -network ";190.231.54.20" -daemon "tcp:10.230.23.65:7500"  TEST.REPLY
tibrvlisten: Failed to initialize transport: Arguments conflict

Cause :Here on host 10.230.23.65 we had two NIC (Network Interface Card) and this network "190.231.54.20" was already bound to NIC card "eth1" and here I am trying to binding this with eth0 (default one) and due to this it was failing.

Solution : when I changed the command to use "eth1" it started working.
C:\>tibrvlisten -service "5420" -network "eth1;190.231.54.20" -daemon "tcp:10.230.23.65:7500"  TEST.REPLY
tibrvlisten: Listening to subject TEST.REPLY

Conclusion: you can not associate same service with two different network or same network with two different NIC cards.

4)TibrvException[error=67,message=Socket limit reached]
at com.tibco.tibrv.TibrvImplTPortC.natCreate(Native Method)
at com.tibco.tibrv.TibrvImplTPortC.create(TibrvImplTP ortC.java:40)
at com.tibco.tibrv.TibrvRvdTransport.init(TibrvRvdTra nsport.java:77

Cause: your rvd (Rendezvous daemon) is creating so many tibco transport that eventually it exhausts Socket limit available for any process in windows.

Diagnosis: to find out the culprit you need to find out on which process is creating so many transport first.

netstat -nap | grep "processid | wc -l

run this multiple time with different suspected process to identify the process which is culprit.

Now if your process is publishing/subscribing on multiple service you need to find on which service this is happening to find out use netstat command again with different service your process is using.

netstat -a | grep "service"  | wc -l

Now you know exact culprit process id and service , first stop the process and figure out why exactly so many transports are getting created.

5) Name collision on Certified messaging.
You can not have two  connection with same name if you are using Certified messaging. you will get below error.
ADV_CLASS=ERROR ADV_SOURCE=RVCM ADV_NAME=REGISTRATION.COLLSION.NAME.TestClient

it means some one has alrady registered with name "TestClient" in this certified transport.
UHF32WN5SUQZ

6)  Exception while confirming message in tibco rv certified messaging.
TibrvException[error=27,message=Not permitted]
This error comes if you try to confirm the message two times.

to read more about tibco rv or tibco ems  see my tibco tutorial series

LinkWithin

Related Posts Plugin for WordPress, Blogger...

Labels

Core Java programming core java interview question Core Java Faq's Servlets coding database jsp-servlet spring Java linux unix interview questions java investment bank Web Services Interview investment bank mysql Senior java developer interviews best practices java collection tutorial RMI SQL Eclipse FIX protocol tutorial tibco J2EE groovy java questions SCJP grails java 5 tutorial jdbc beginner error and exception Design Patterns Java Programming Tutorials fundamentals general object oriented programming xml Java Programs Hibernate Examples Flex JAMon Java xml tutorial logging Jsp Struts 2.0 Sybase and SQL Server debugging java interviews performance FIX Protocol interview questions JUnit testing WebSphere date and time tutorial experienced java IO tutorial java concurrency thread Ejb Freshers Papers IT Management Java Exapmle Java Script SQL and database tutorial examples Scwcd ant tutorials concurrency example and tutorial future state homework java changes java threading tricky Agile Business of IT Development JSTL Java JSON tutorial Java multithreading Tutorials PM Scrum data structure and algorithm java puzzles java tips testing tips windows 8 5 way to create Singleton Object Architect Interview Questions and Answers Architecture Architecure Bluetooth server as swing application that searches bluetooth device in 10 meter circle and show all devices. You can send file to any bluetooth device. C Programming CIO Callable Statement in Java Circular dependency of Objects in Java Comparable Example in Collection Custom annotation in Java Developer Interview Divide and rule example in java Drupal Example of Singleton Pattern FIX protocol ForkJoin Example in Java 7 Get data from dynamic table with Java Script Git HTML and JavaScript Health Hello World TCP Client Server Networking Program Hibernate Basics Hibernate Interview Question Answer J2EE Interview Question And Answers J2ME GUI Program JEE Interview QA JMS interview question Java J2EE Hibernate Spring Struts Interview Question Java System Property Java Threads Manager Portlets Provident Fund Read data from any file in same location and give the required result. Reading Properties File in Java Redpoint Rest WebService Client Rest Webservice Test SAL join with ven diagram SCP UNIX COMMAND SSL Singleton Pattern in Java Spring Bean Initialization methods and their order Spring Interview Questions Struts Struts 2.0 Basics Struts 2.0 Design Pattern Submit Html Form With Java Script On The Fly Unix executable For Java Program XOM DOM SAX XP books computers core java; core java; object oriented programming data structure; java investment bank; design pattern dtd duplicate rows in table get browser name with jquery grails podcast inner class java beginners tutorial java cache java networking tutorial java spring java util; java collections; java questions java.java1.5 linked list mailto function with all browser oracle database oracle duplicate rows orm schema social spring mvc questions struts transaction tricks tweet windows xslt