This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 178777 - JDBC 4.0 setClientInfo() called after close() on the connection causes an exception on JDBC driver
Summary: JDBC 4.0 setClientInfo() called after close() on the connection causes an exc...
Status: RESOLVED INVALID
Alias: None
Product: db
Classification: Unclassified
Component: Code (show other bugs)
Version: 6.x
Hardware: PC Windows XP
: P3 normal (vote)
Assignee: Jiri Rechtacek
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-12-17 04:43 UTC by cistox
Modified: 2011-11-16 16:39 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description cistox 2009-12-17 04:43:03 UTC
RAR7115: Unable to set ClientInfo for connection
java.sql.SQLClientInfoException: java.sql.SQLClientInfoException: [TDS Driver]java.net.SocketException: Connection reset
        at com.inet.tds.an.setClientInfo(Unknown Source)
        at com.inet.pool.r.setClientInfo(Unknown Source)
        at com.sun.gjc.spi.jdbc40.ConnectionHolder40.setClientInfo(ConnectionHolder40.java:304)
        at com.sun.gjc.spi.jdbc40.ConnectionHolder40.close(ConnectionHolder40.java:513)
        at com.contshipitalia.util.EJBCommon.dropConnection(EJBCommon.java:176)
        at com.contshipitalia.util.EJBCommon.closeResources(EJBCommon.java:170)
        at com.contshipitalia.ejb.EJBSessionTerminalBean.countUnitsPage(EJBSessionTerminalBean.java:107)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at com.sun.enterprise.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1011)
        at com.sun.enterprise.security.SecurityUtil.invoke(SecurityUtil.java:175)
        at com.sun.ejb.containers.BaseContainer.invokeTargetBeanMethod(BaseContainer.java:2929)
        at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:4020)
        at com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:203)
        at com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:120)
        at $Proxy67.countUnitsPage(Unknown Source)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privateInvoke(StubInvocationHandlerImpl.java:233)
        at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.invoke(StubInvocationHandlerImpl.java:152)
        at com.sun.corba.ee.impl.presentation.rmi.bcel.BCELStubBase.invoke(BCELStubBase.java:225)
        at com.contshipitalia.ejb._EJBSessionTerminal_DynamicStub.countUnitsPage(com/contshipitalia/ejb/_EJBSessionTerminal_DynamicStub.java)
        at com.contshipitalia.util.TSDataBroker.createViewBroker(TSDataBroker.java:740)
        at com.contshipitalia.util.TSDataBroker.extFindUnits(TSDataBroker.java:2778)
        at com.contshipitalia.servlet.units.FindUnitsTerminalServlet.performTask(FindUnitsTerminalServlet.java:44)
        at com.portal.servlet.GenericServlet.doPost(GenericServlet.java:318)
        at com.portal.servlet.GenericServlet.doGet(GenericServlet.java:252)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:734)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
        at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:427)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:333)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
        at com.portal.filter.StatFilter.doFilter(StatFilter.java:303)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:313)
        at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:287)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:218)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
        at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
        at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:98)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:222)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1093)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:166)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1093)
        at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:291)
        at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:666)
        at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:597)
        at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:872)
        at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
        at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
        at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
        at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:264)
        at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
Caused by: java.sql.SQLClientInfoException: [TDS Driver]java.net.SocketException: Connection reset
        at com.inet.tds.an.setClientInfo(Unknown Source)
        ... 65 more
Caused by: com.inet.tds.Tds4SQLException: [TDS Driver]java.net.SocketException: Connection reset
        at com.inet.tds.aa.a(Unknown Source)
        at com.inet.tds.n.a(Unknown Source)
        at com.inet.tds.n.b(Unknown Source)
        at com.inet.tds.n.a(Unknown Source)
        at com.inet.tds.n.a(Unknown Source)
        at com.inet.tds.bk.d(Unknown Source)
        at com.inet.tds.bk.executeUpdate(Unknown Source)
        ... 66 more
Caused by: java.net.SocketException: Connection reset
        at java.net.SocketInputStream.read(SocketInputStream.java:168)
        at com.inet.tds.g.b(Unknown Source)
        at com.inet.tds.n.e(Unknown Source)
        at com.inet.tds.n.f(Unknown Source)
        ... 71 more
Comment 1 cistox 2009-12-17 06:33:17 UTC
The attached error log shows clearly that the close() JDBC method is firstly called on a connection, then the setClientInfo() is called on a closed connection.

The use of the setClientInfo(...) do not seems to be correct on a closed connection, thus it seems to be a bug.


-------------
        at com.inet.tds.an.setClientInfo(Unknown Source)
        at com.inet.pool.r.setClientInfo(Unknown Source)
        at
com.sun.gjc.spi.jdbc40.ConnectionHolder40.setClientInfo(ConnectionHolder40.java:304)
        at
com.sun.gjc.spi.jdbc40.ConnectionHolder40.close(ConnectionHolder40.java:513)
-------------
Comment 2 cistox 2009-12-17 08:56:39 UTC
Ok I see that the connection was returning to the pool, so maybe the setClientInfo is generating an error if there are no info provided.

I understand the bug could be caused by the driver and not by the netbeans or glassfish JDBC layer.

If you think the bug is outside Netbeans you can close it again.

Thanks for understanding
Comment 3 cistox 2010-03-11 09:06:08 UTC
This is a bug of the jdbc driver producer.