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