Menu

#398 SQL-State HY000 SQL-ErrorCode -99999 Internal driver error

Connection
closed
None
5
2017-12-08
2017-12-08
mwrekers
No

SQL-State HY000 SQL-ErrorCode -99999
java.sql.SQLException: Internal driver error. (class java.lang.NullPointerException)
at com.ibm.as400.access.JDError.createSQLExceptionSubClass(JDError.java:928)
at com.ibm.as400.access.JDError.throwSQLException(JDError.java:559)
at com.ibm.as400.access.AS400JDBCConnection.send(AS400JDBCConnection.java:2804)
at com.ibm.as400.access.AS400JDBCConnection.send(AS400JDBCConnection.java:2708)
at com.ibm.as400.access.AS400JDBCStatement.syncRPB(AS400JDBCStatement.java:4202)
at com.ibm.as400.access.AS400JDBCStatement.commonPrepare(AS400JDBCStatement.java:1762)
at com.ibm.as400.access.AS400JDBCStatement.executeQuery(AS400JDBCStatement.java:2459)
at de.rekers.db.DatabaseObject.registerCacheUpdateListener(DatabaseObject.java:724)
at de.rekers.db.PreloadQueue$3.run(PreloadQueue.java:200)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException
at com.ibm.as400.access.AS400JDBCConnection.send(AS400JDBCConnection.java:2766)
... 9 more
Caused by:java.lang.NullPointerException
at com.ibm.as400.access.AS400JDBCConnection.send(AS400JDBCConnection.java:2766)
at com.ibm.as400.access.AS400JDBCConnection.send(AS400JDBCConnection.java:2708)
at com.ibm.as400.access.AS400JDBCStatement.syncRPB(AS400JDBCStatement.java:4202)
at com.ibm.as400.access.AS400JDBCStatement.commonPrepare(AS400JDBCStatement.java:1762)
at com.ibm.as400.access.AS400JDBCStatement.executeQuery(AS400JDBCStatement.java:2459)
at de.rekers.db.DatabaseObject.registerCacheUpdateListener(DatabaseObject.java:724)
at de.rekers.db.PreloadQueue$3.run(PreloadQueue.java:200)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

I don't know more to this, found this in our logs from yesterday. It is a background thread and we are using several connections at once.

We are using JTOpen 9.4

Discussion

  • John Eberhard

    John Eberhard - 2017-12-08
    • status: open --> closed
    • assigned_to: John Eberhard
     
  • John Eberhard

    John Eberhard - 2017-12-08

    This looks like a threading issue where more than 1 thread is using the connection.

    The problem is caused by a null "server" value at line 2766. The existance of this value was check at line 2733 by the checkOpen method. Somewhere between those two lines, another thread has closed the connection. It is a JDBC convention that a connection should only be used by one thread at a time.

    The application should be checked to make sure that it is not possible for several threads to be using the same connection at the same time.

     

Log in to post a comment.

MongoDB Logo MongoDB