Problem:
- Product Name: VisiBroker for Java
- Product Version: 4.1
- Product Component: ORB
- Platform/OS Version: All
VBJ 4.1 Client throws java.lang.StackOverflowError when accessing a VBE 5.2 Naming Service. The problem does not happen with VBE 5.2 base release Naming service, but does happen with all the patches.
The stack looks like this:
Exception in thread "main" java.lang.StackOverflowError at java.text.DateFormatSymbols.cacheLookup(DateFormatSymbols.java:422) at java.text.DateFormatSymbols.initializeData(DateFormatSymbols.java:476) at java.text.DateFormatSymbols.(DateFormatSymbols.java:99) at java.text.SimpleDateFormat.(SimpleDateFormat.java:301) at java.text.DateFormat.get(DateFormat.java:645) at java.text.DateFormat.getDateTimeInstance(DateFormat.java:472) at java.text.DateFormat.getInstance(DateFormat.java:494) at com.inprise.vbroker.Logging.SimpleLogger._log(SimpleLogger.java:149) at com.inprise.vbroker.Logging.SimpleLogger.info(SimpleLogger.java:206) at com.inprise.vbroker.orb.DelegateImpl._bind(DelegateImpl.java:184) at com.inprise.vbroker.orb.DelegateImpl.verifyConnection(DelegateImpl.java:357) at com.inprise.vbroker.orb.DelegateImpl.is_a(DelegateImpl.java:779) at org.omg.CORBA.portable.ObjectImpl._is_a(ObjectImpl.java:109) at org.omg.SendingContext.CodeBaseHelper.narrow(CodeBaseHelper.java:33) at org.omg.SendingContext.CodeBaseHelper.narrow(CodeBaseHelper.java:19) at com.inprise.vbroker.GIOP.ProtocolConnector.getCodeBase(ProtocolConnector.java:489) at com.inprise.vbroker.GIOP.ProtocolConnector.postInvoke(ProtocolConnector.java:278) at com.inprise.vbroker.GIOP.ProtocolConnector.invoke(ProtocolConnector.java:390) at com.inprise.vbroker.GIOP.ProtocolConnector.is_a(ProtocolConnector.java:440) at com.inprise.vbroker.orb.DelegateImpl.is_a(DelegateImpl.java:785) at org.omg.CORBA.portable.ObjectImpl._is_a(ObjectImpl.java:109) at org.omg.SendingContext.CodeBaseHelper.narrow(CodeBaseHelper.java:33) at org.omg.SendingContext.CodeBaseHelper.narrow(CodeBaseHelper.java:19) at com.inprise.vbroker.GIOP.ProtocolConnector.getCodeBase(ProtocolConnector.java:489) at com.inprise.vbroker.GIOP.ProtocolConnector.postInvoke(ProtocolConnector.java:278) at com.inprise.vbroker.GIOP.ProtocolConnector.invoke(ProtocolConnector.java:390) at com.inprise.vbroker.GIOP.ProtocolConnector.is_a(ProtocolConnector.java:440) at com.inprise.vbroker.orb.DelegateImpl.is_a(DelegateImpl.java:785) at org.omg.CORBA.portable.ObjectImpl._is_a(ObjectImpl.java:109) at org.omg.SendingContext.CodeBaseHelper.narrow(CodeBaseHelper.java:33) at org.omg.SendingContext.CodeBaseHelper.narrow(CodeBaseHelper.java:19) at com.inprise.vbroker.GIOP.ProtocolConnector.getCodeBase(ProtocolConnector.java:489
Resolution:
Upgrading to VBJ 4.5.1 or later will resolve this problem.
The VBJ 4.1 codebase helper incorrectly set the repository id as IDL:SendingContext/Codebase:1.0, whereas VBJ versions 4.5 and later correctly set the repository id as IDL:omg.org/SendingContext/Codebase:1.0. With the correct repository id generated, it will not loop.
Support Case:519849
#Security
#VisiBroker




