[ http://issues.apache.org/jira/browse/DERBY-1100?page=all ]
Knut Anders Hatlen updated DERBY-1100:
--------------------------------------
Attachment: repro1100.java
Attached repro.
Use JVM 1.6. Start network server listening to the default port and run 'java
repro1100'.
> JDBC4 enabled client driver: StackOverflowError when SQLException is thrown
> on server
> -------------------------------------------------------------------------------------
>
> Key: DERBY-1100
> URL: http://issues.apache.org/jira/browse/DERBY-1100
> Project: Derby
> Type: Bug
> Components: Network Client
> Versions: 10.2.0.0
> Environment: Sun JVM 1.6.0-beta2-b74, Derby 10.2 compiled with JDBC 4
> support.
> Reporter: Knut Anders Hatlen
> Fix For: 10.2.0.0
> Attachments: repro1100.java
>
> When running the Derby network server and client driver with JVM 1.6
> and JDBC 4 support, an SQLException on the server will cause a
> StackOverflowError on the client.
> Run the attached repro to see the problem.
> Executing "SELECT nonexistentcolumn FROM SYS.SYSTABLES" gave this
> stack trace:
> Exception in thread "main" java.lang.StackOverflowError
> at java.lang.ref.Finalizer.<init>(Finalizer.java:67)
> at java.lang.ref.Finalizer.register(Finalizer.java:72)
> at java.lang.Object.<init>(Object.java:20)
> at org.apache.derby.client.am.Statement.<init>(Statement.java:195)
> at org.apache.derby.client.am.Statement.<init>(Statement.java:286)
> at org.apache.derby.client.am.Statement.<init>(Statement.java:304)
> at
> org.apache.derby.client.am.PreparedStatement.<init>(PreparedStatement.java:140)
> at
> org.apache.derby.client.am.CallableStatement.<init>(CallableStatement.java:70)
> at
> org.apache.derby.client.am.CallableStatement40.<init>(CallableStatement40.java:41)
> at
> org.apache.derby.client.net.ClientJDBCObjectFactoryImpl40.newCallableStatement(ClientJDBCObjectFactoryImpl40.java:66)
> at
> org.apache.derby.client.net.NetCallableStatement.<init>(NetCallableStatement.java:75)
> at
> org.apache.derby.client.net.NetConnection.newCallableStatement_(NetConnection.java:962)
> at
> org.apache.derby.client.am.Connection.prepareCallX(Connection.java:1568)
> at
> org.apache.derby.client.am.Connection.prepareMessageProc(Connection.java:1133)
> at org.apache.derby.client.am.Sqlca.getMessage(Sqlca.java:202)
> at org.apache.derby.client.am.Sqlca.getJDBCMessage(Sqlca.java:262)
> at
> org.apache.derby.client.am.SqlException.getMessage(SqlException.java:329)
> at
> org.apache.derby.client.am.SqlException.getSQLException(SqlException.java:285)
> at org.apache.derby.client.am.Sqlca.getJDBCMessage(Sqlca.java:265)
> at
> org.apache.derby.client.am.SqlException.getMessage(SqlException.java:329)
> at
> org.apache.derby.client.am.SqlException.getSQLException(SqlException.java:285)
> at org.apache.derby.client.am.Sqlca.getJDBCMessage(Sqlca.java:265)
> at
> org.apache.derby.client.am.SqlException.getMessage(SqlException.java:329)
> ...... snip ......
> at
> org.apache.derby.client.am.SqlException.getSQLException(SqlException.java:285)
> at org.apache.derby.client.am.Sqlca.getJDBCMessage(Sqlca.java:265)
> at
> org.apache.derby.client.am.SqlException.getMessage(SqlException.java:329)
> at
> org.apache.derby.client.am.SqlException.getSQLException(SqlException.java:285)
> at org.apache.derby.client.am.Sqlca.getJDBCMessage(Sqlca.java:265)
> at
> org.apache.derby.client.am.SqlException.getMessage(SqlException.java:329)
> at
> org.apache.derby.client.am.SqlException.getSQLException(SqlException.java:285)
> at org.apache.derby.client.am.Sqlca.getJDBCMessage(Sqlca.java:265)
> at
> org.apache.derby.client.am.SqlException.getMessage(SqlException.java:329)
> at
> org.apache.derby.client.am.SqlException.getSQLException(SqlException.java:285)
> at org.apache.derby.client.am.Sqlca.getJDBCMessage(Sqlca.java:265)
> at
> org.apache.derby.client.am.SqlException.getMessage(SqlException.java:329)
> at
> org.apache.derby.client.am.SqlException.getSQLException(SqlException.java:285)
> at org.apache.derby.client.am.Sqlca.getJDBCMessage(Sqlca.java:265)
> at
> org.apache.derby.client.am.SqlException.getMessage(SqlException.java:329)
> at
> org.apache.derby.client.am.SqlException.getSQLException(SqlException.java:285)
> at org.apache.derby.client.am.Sqlca.getJDBCMessage(Sqlca.java:265)
> at
> org.apache.derby.client.am.SqlException.getMessage(SqlException.java:329)
> at
> org.apache.derby.client.am.SqlException.getSQLException(SqlException.java:285)
> at org.apache.derby.client.am.Sqlca.getJDBCMessage(Sqlca.java:265)
> at
> org.apache.derby.client.am.SqlException.getMessage(SqlException.java:329)
> at
> org.apache.derby.client.am.SqlException.getSQLException(SqlException.java:285)
> at org.apache.derby.client.am.Sqlca.getJDBCMessage(Sqlca.java:265)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira