[jboss-jira] [JBoss JIRA] (AG-90) NPE if Driver#connect() returns null
Luis Barreiro (JIRA)
issues at jboss.org
Wed Sep 5 13:35:00 EDT 2018
[ https://issues.jboss.org/browse/AG-90?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Luis Barreiro resolved AG-90.
-----------------------------
Fix Version/s: 1.2
Resolution: Done
Thanks for reporting!
> NPE if Driver#connect() returns null
> ------------------------------------
>
> Key: AG-90
> URL: https://issues.jboss.org/browse/AG-90
> Project: Agroal
> Issue Type: Bug
> Affects Versions: 1.1
> Environment: WildFly 14
> Reporter: Rich DiCroce
> Assignee: Luis Barreiro
> Fix For: 1.2
>
>
> The Javadoc for Driver#connect(String, Properties) states:
> bq. The driver should return "null" if it realizes it is the wrong kind of driver to connect to the given URL.
> Agroal does not perform a null check, leading to an opaque NPE if the driver returns null. It would be helpful if Agroal noticed this and threw an exception that explains the problem.
> {code}
> 11:34:23,808 ERROR [org.jboss.msc.service.fail] (ServerService Thread Pool -- 46) MSC000001: Failed to start service jboss.persistenceunit."song-gaming-portal.war#GamingPortalPU": org.jboss.msc.service.StartException in service jboss.persistenceunit."song-gaming-portal.war#GamingPortalPU": javax.persistence.PersistenceException: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.7.1.v20171221-bd47e8f): org.eclipse.persistence.exceptions.DatabaseException
> Internal Exception: java.sql.SQLException: Exception while creating new connection
> Error Code: 0
> at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1$1.run(PersistenceUnitServiceImpl.java:195) [wildfly-jpa-14.0.0.Final.jar:14.0.0.Final]
> at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1$1.run(PersistenceUnitServiceImpl.java:125) [wildfly-jpa-14.0.0.Final.jar:14.0.0.Final]
> at org.wildfly.security.manager.WildFlySecurityManager.doChecked(WildFlySecurityManager.java:650) [wildfly-elytron-1.6.0.Final.jar:1.6.0.Final]
> at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1.run(PersistenceUnitServiceImpl.java:209) [wildfly-jpa-14.0.0.Final.jar:14.0.0.Final]
> at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
> at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1985)
> at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1487)
> at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1378)
> at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_181]
> at org.jboss.threads.JBossThread.run(JBossThread.java:485)
> Caused by: javax.persistence.PersistenceException: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.7.1.v20171221-bd47e8f): org.eclipse.persistence.exceptions.DatabaseException
> Internal Exception: java.sql.SQLException: Exception while creating new connection
> Error Code: 0
> at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:846) [eclipselink-2.7.1.jar:2.7.1.v20171221-bd47e8f]
> at org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegate.getAbstractSession(EntityManagerFactoryDelegate.java:216) [eclipselink-2.7.1.jar:2.7.1.v20171221-bd47e8f]
> at org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegate.getDatabaseSession(EntityManagerFactoryDelegate.java:194) [eclipselink-2.7.1.jar:2.7.1.v20171221-bd47e8f]
> at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.getDatabaseSession(EntityManagerFactoryImpl.java:540) [eclipselink-2.7.1.jar:2.7.1.v20171221-bd47e8f]
> at org.eclipse.persistence.jpa.PersistenceProvider.createContainerEntityManagerFactoryImpl(PersistenceProvider.java:385) [eclipselink-2.7.1.jar:2.7.1.v20171221-bd47e8f]
> at org.eclipse.persistence.jpa.PersistenceProvider.createContainerEntityManagerFactory(PersistenceProvider.java:313) [eclipselink-2.7.1.jar:2.7.1.v20171221-bd47e8f]
> at org.jboss.as.jpa.service.PersistenceUnitServiceImpl.createContainerEntityManagerFactory(PersistenceUnitServiceImpl.java:357) [wildfly-jpa-14.0.0.Final.jar:14.0.0.Final]
> at org.jboss.as.jpa.service.PersistenceUnitServiceImpl.access$1300(PersistenceUnitServiceImpl.java:70) [wildfly-jpa-14.0.0.Final.jar:14.0.0.Final]
> at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1$1.run(PersistenceUnitServiceImpl.java:187) [wildfly-jpa-14.0.0.Final.jar:14.0.0.Final]
> ... 9 more
> Caused by: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.7.1.v20171221-bd47e8f): org.eclipse.persistence.exceptions.DatabaseException
> Internal Exception: java.sql.SQLException: Exception while creating new connection
> Error Code: 0
> at org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:316) [eclipselink-2.7.1.jar:2.7.1.v20171221-bd47e8f]
> at org.eclipse.persistence.sessions.JNDIConnector.connect(JNDIConnector.java:147) [eclipselink-2.7.1.jar:2.7.1.v20171221-bd47e8f]
> at org.eclipse.persistence.sessions.DatasourceLogin.connectToDatasource(DatasourceLogin.java:170) [eclipselink-2.7.1.jar:2.7.1.v20171221-bd47e8f]
> at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.setOrDetectDatasource(DatabaseSessionImpl.java:228) [eclipselink-2.7.1.jar:2.7.1.v20171221-bd47e8f]
> at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.loginAndDetectDatasource(DatabaseSessionImpl.java:804) [eclipselink-2.7.1.jar:2.7.1.v20171221-bd47e8f]
> at org.eclipse.persistence.internal.jpa.EntityManagerFactoryProvider.login(EntityManagerFactoryProvider.java:254) [eclipselink-2.7.1.jar:2.7.1.v20171221-bd47e8f]
> at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:759) [eclipselink-2.7.1.jar:2.7.1.v20171221-bd47e8f]
> ... 17 more
> Caused by: java.sql.SQLException: Exception while creating new connection
> at io.agroal.pool.ConnectionPool.handlerFromSharedCache(ConnectionPool.java:215)
> at io.agroal.pool.ConnectionPool.getConnection(ConnectionPool.java:137)
> at io.agroal.pool.DataSource.getConnection(DataSource.java:61)
> at org.eclipse.persistence.sessions.JNDIConnector.connect(JNDIConnector.java:135) [eclipselink-2.7.1.jar:2.7.1.v20171221-bd47e8f]
> ... 22 more
> Caused by: java.util.concurrent.ExecutionException: java.lang.NullPointerException
> at java.util.concurrent.FutureTask.report(FutureTask.java:122) [rt.jar:1.8.0_181]
> at java.util.concurrent.FutureTask.get(FutureTask.java:192) [rt.jar:1.8.0_181]
> at io.agroal.pool.ConnectionPool.handlerFromSharedCache(ConnectionPool.java:197)
> ... 25 more
> Caused by: java.lang.NullPointerException
> at io.agroal.pool.ConnectionFactory.connectionSetup(ConnectionFactory.java:180)
> at io.agroal.pool.ConnectionFactory.createConnection(ConnectionFactory.java:169)
> at io.agroal.pool.ConnectionPool$CreateConnectionTask.call(ConnectionPool.java:316)
> at io.agroal.pool.ConnectionPool$CreateConnectionTask.call(ConnectionPool.java:305)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266) [rt.jar:1.8.0_181]
> at io.agroal.pool.util.PriorityScheduledExecutor.beforeExecute(PriorityScheduledExecutor.java:66)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146) [rt.jar:1.8.0_181]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [rt.jar:1.8.0_181]
> at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_181]
> {code}
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
More information about the jboss-jira
mailing list