You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Christopher Schultz <ch...@christopherschultz.net> on 2008/09/11 15:57:56 UTC

[OT] NPE in MySQL driver statement close

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

All,

I'm getting these exceptions in my production stdout file. Anyone ever
see anything like this:

java.lang.NullPointerException
        at
com.mysql.jdbc.ServerPreparedStatement.realClose(ServerPreparedStatement.java:901)
        at
com.mysql.jdbc.ServerPreparedStatement.close(ServerPreparedStatement.java:476)
        at
org.apache.tomcat.dbcp.dbcp.DelegatingStatement.close(DelegatingStatement.java:165)
        at
org.apache.tomcat.dbcp.dbcp.DelegatingConnection.passivate(DelegatingConnection.java:312)
        at
org.apache.tomcat.dbcp.dbcp.DelegatingConnection.close(DelegatingConnection.java:150)
        at
org.apache.tomcat.dbcp.dbcp.PoolableConnection.reallyClose(PoolableConnection.java:95)
        at
org.apache.tomcat.dbcp.dbcp.PoolableConnectionFactory.destroyObject(PoolableConnectionFactory.java:301)
        at
org.apache.tomcat.dbcp.pool.impl.GenericObjectPool.invalidateObject(GenericObjectPool.java:818)
        at
org.apache.tomcat.dbcp.dbcp.AbandonedObjectPool.invalidateObject(AbandonedObjectPool.java:112)
        at
org.apache.tomcat.dbcp.dbcp.AbandonedObjectPool.removeAbandoned(AbandonedObjectPool.java:145)
        at
org.apache.tomcat.dbcp.dbcp.AbandonedObjectPool.borrowObject(AbandonedObjectPool.java:72)
        at
org.apache.tomcat.dbcp.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:95)
        at
org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:540)

The rest of the stack trace includes my code, which is simply using the
JNDI DataSource as shown above. Nothing weird.

Tomcat 5.5.23 and Connector/J 5.0.4.

I notice that the stack trace involves ServerPreparedStatement, which
indicates (duh!) that prepared statements are being prepared on the
server. Server-side prepared statements in MysQL have lots of problems
which I knew about, but my information indicated that it was the
/server/ that was non-cooperative, not the driver itself.

Has anyone ever seen NPEs like this before? If so, what was the resolution?

Our next release (any day, now) will include an upgrade to Connector/J
5.0.8, which disables server-side prepared statements by default, so we
shouldn't even be using this code path anymore. But, it's always good to
know what's going on.

Thanks,
- -chris
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkjJI+QACgkQ9CaO5/Lv0PDjRwCgwOM97IyzIrk2xlrHf4JbJbU3
lmgAn1plYLrIERkUPKTDkmNQM6nKAcmP
=BrH3
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org