[ 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

Reply via email to