You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Phil Steitz (JIRA)" <ji...@apache.org> on 2011/04/30 19:50:03 UTC
[jira] [Closed] (DBCP-335) NPE with MySQL PreparedStatement
[ https://issues.apache.org/jira/browse/DBCP-335?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Phil Steitz closed DBCP-335.
----------------------------
Resolution: Cannot Reproduce
Please reopen if you can provide a test case showing that this is in fact a pool or dbcp bug.
> NPE with MySQL PreparedStatement
> --------------------------------
>
> Key: DBCP-335
> URL: https://issues.apache.org/jira/browse/DBCP-335
> Project: Commons Dbcp
> Issue Type: Bug
> Affects Versions: 1.4
> Environment: CloudFoundry, Linux, Sun Java 1.6.0_04, Grails 1.2.2, MySQL Connector 5.1.12
> Reporter: Marcus Better
>
> My Grails application using MySQL and DBCP often throws an exception as below. I can trigger it by making a simultaneous requests (three at a time) on differend threads in a ThreadPoolExecutor. The requests would all use the same query. This triggers the exception with a few percent probability.
> I have tried with DBCP 1.2.2 and 1.4.
> There is a similar-looking [MySQL bug|http://bugs.mysql.com/bug.php?id=41628] but they blame the pool...
> {code}
> Exception in thread "pool-1-thread-12" java.lang.NullPointerException
> at com.mysql.jdbc.PreparedStatement.fillSendPacket(PreparedStatement.java:2475)
> at com.mysql.jdbc.PreparedStatement.fillSendPacket(PreparedStatement.java:2451)
> at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2205)
> at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
> at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
> at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:208)
> at org.hibernate.loader.Loader.getResultSet(Loader.java:1808)
> at org.hibernate.loader.Loader.doQuery(Loader.java:697)
> at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:259)
> at org.hibernate.loader.Loader.loadEntity(Loader.java:1881)
> at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:71)
> at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:65)
> at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:3072)
> at org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:434)
> at org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:415)
> at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:165)
> at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:121)
> at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:905)
> at org.hibernate.impl.SessionImpl.immediateLoad(SessionImpl.java:863)
> at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:95)
> at org.codehaus.groovy.grails.orm.hibernate.proxy.HibernateProxyHandler.unwrapProxy(HibernateProxyHandler.java:80)
> at org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsHibernateUtil.unwrapProxy(GrailsHibernateUtil.java:322)
> at org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsHibernateUtil$unwrapProxy.call(Unknown Source)
> at org.codehaus.groovy.grails.plugins.orm.hibernate.HibernatePluginSupport$__clinit__closure88.doCall(HibernatePluginSupport.groovy:401)
> at sun.reflect.GeneratedMethodAccessor381.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:266)
> at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:51)
> at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:151)
> at org.codehaus.groovy.grails.plugins.orm.hibernate.HibernatePluginSupport$__clinit__closure88.call(HibernatePluginSupport.groovy)
> at sun.reflect.GeneratedMethodAccessor380.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
> at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:234)
> at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1049)
> at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:923)
> at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:880)
> at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:924)
> at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:923)
> at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:880)
> at org.codehaus.groovy.runtime.InvokerHelper.invokePogoMethod(InvokerHelper.java:739)
> at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:722)
> at org.codehaus.groovy.runtime.metaclass.ClosureMetaMethod$1.invoke(ClosureMetaMethod.java:135)
> at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:234)
> at groovy.lang.MetaClassImpl.getProperty(MetaClassImpl.java:1594)
> at groovy.lang.ExpandoMetaClass.getProperty(ExpandoMetaClass.java:951)
> at groovy.lang.MetaClassImpl.getProperty(MetaClassImpl.java:3287)
> at groovy.lang.ExpandoMetaClass.getProperty(ExpandoMetaClass.java:964)
> at org.codehaus.groovy.runtime.callsite.PogoMetaClassGetPropertySite.getProperty(PogoMetaClassGetPropertySite.java:48)
> at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGroovyObjectGetProperty(AbstractCallSite.java:241)
> at org.example.MyService.onApplicationEvent(MyService.groovy:52)
> at org.example.MyService.onApplicationEvent(MyService.groovy)
> at org.springframework.context.event.SimpleApplicationEventMulticaster$1.run(SimpleApplicationEventMulticaster.java:92)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
> at java.lang.Thread.run(Thread.java:619)
> {code}
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira