[ https://issues.apache.org/jira/browse/KARAF-7104?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
nizar.ben.mansour updated KARAF-7104: ------------------------------------- Priority: Blocker (was: Major) > NullpointerException when invoking createAndCloseDummyEMF > --------------------------------------------------------- > > Key: KARAF-7104 > URL: https://issues.apache.org/jira/browse/KARAF-7104 > Project: Karaf > Issue Type: Bug > Components: karaf > Affects Versions: 4.2.11 > Environment: [^simpleKarafApp.rar] > Reporter: nizar.ben.mansour > Assignee: Jean-Baptiste Onofré > Priority: Blocker > Attachments: simpleKarafApp.rar > > > We have a simple application that envolves a pax-jdbc-hikari datasource to > connect to a postgresql database. > The postgresql config file(org.ops4j.datasource-myPuDS.cfg) is the same that > the one used in karaf 4.2.6(no changes in config). > We upgraded : > * pax-jdbc-version and pax-jdbc-pool-hikaricpto 1.5.1 > * hibernate to 5.4.29.Final > * jpa to 2.7.2. > Exception: > com.test.karaftest.simplekarafapp/1.0.0com.test.karaftest.simplekarafapp/1.0.02021-04-13T10:41:09,593 > | INFO | features-3-thread-1 | PersistenceBundleTracker | 101 - > org.apache.aries.jpa.container - 2.7.2 | Found persistence unit myPuDS in > bundle com.test.karaftest.simplekarafapp with provider > org.hibernate.jpa.HibernatePersistenceProvider.2021-04-13T10:41:09,594 | INFO > | features-3-thread-1 | PersistenceProviderTracker | 101 - > org.apache.aries.jpa.container - 2.7.2 | Found provider for myPuDS > org.hibernate.jpa.HibernatePersistenceProvider2021-04-13T10:41:09,614 | INFO > | features-3-thread-1 | LogHelper | 283 - > org.hibernate.orm.core - 5.4.29.Final | HHH000204: Processing > PersistenceUnitInfo [name: myPuDS]2021-04-13T10:41:09,670 | INFO | > features-3-thread-1 | Version | 283 - > org.hibernate.orm.core - 5.4.29.Final | HHH000412: Hibernate ORM core version > 5.4.29.Final2021-04-13T10:41:09,913 | INFO | features-3-thread-1 | Version > | 282 - > org.hibernate.common.hibernate-commons-annotations - 5.1.0.Final | > HCANN000001: Hibernate Commons Annotations > \{5.1.0.Final}2021-04-13T10:41:10,425 | INFO | features-3-thread-1 | Dialect > | 283 - org.hibernate.orm.core - 5.4.29.Final | > HHH000400: Using dialect: > org.hibernate.dialect.PostgreSQL10Dialect2021-04-13T10:41:10,447 | WARN | > features-3-thread-1 | JdbcEnvironmentInitiator | 283 - > org.hibernate.orm.core - 5.4.29.Final | HHH000342: Could not obtain > connection to query metadatajava.lang.NullPointerException: null at > org.hibernate.engine.jdbc.env.internal.ExtractedDatabaseMetaDataImpl$Builder.apply(ExtractedDatabaseMetaDataImpl.java:193) > ~[?:?] at > org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentImpl.<init>(JdbcEnvironmentImpl.java:265) > ~[?:?] at > org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:114) > ~[?:?] at > org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:35) > ~[?:?] at > org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:101) > ~[?:?] at > org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:263) > ~[?:?] at > org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:237) > ~[?:?] at > org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:214) > ~[?:?] at > org.hibernate.id.factory.internal.DefaultIdentifierGeneratorFactory.injectServices(DefaultIdentifierGeneratorFactory.java:152) > ~[?:?] at > org.hibernate.service.internal.AbstractServiceRegistryImpl.injectDependencies(AbstractServiceRegistryImpl.java:286) > ~[?:?] at > org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:243) > ~[?:?] at > org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:214) > ~[?:?] at > org.hibernate.boot.internal.InFlightMetadataCollectorImpl.<init>(InFlightMetadataCollectorImpl.java:176) > ~[?:?] at > org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:127) > ~[?:?] at > org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:1224) > ~[?:?] at > org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1255) > ~[?:?] at > org.hibernate.osgi.OsgiPersistenceProvider.createContainerEntityManagerFactory(OsgiPersistenceProvider.java:100) > ~[?:?] at > org.apache.aries.jpa.container.impl.PersistenceProviderTracker.createAndCloseDummyEMF(PersistenceProviderTracker.java:105) > ~[?:?] at > org.apache.aries.jpa.container.impl.PersistenceProviderTracker.addingService(PersistenceProviderTracker.java:86) > ~[?:?] at > org.apache.aries.jpa.container.impl.PersistenceProviderTracker.addingService(PersistenceProviderTracker.java:44) > ~[?:?] at > org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:941) > ~[osgi.core-6.0.0.jar:?] at > org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:870) > ~[osgi.core-6.0.0.jar:?] at > org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256) > ~[osgi.core-6.0.0.jar:?] at > org.osgi.util.tracker.AbstractTracked.trackInitial(AbstractTracked.java:183) > ~[osgi.core-6.0.0.jar:?] at > org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:318) > ~[osgi.core-6.0.0.jar:?] at > org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:261) > ~[osgi.core-6.0.0.jar:?] at > org.apache.aries.jpa.container.impl.PersistenceBundleTracker.trackProvider(PersistenceBundleTracker.java:229) > ~[?:?] at > org.apache.aries.jpa.container.impl.PersistenceBundleTracker.findPersistenceUnits(PersistenceBundleTracker.java:213) > ~[?:?] at > org.apache.aries.jpa.container.impl.PersistenceBundleTracker.addingBundle(PersistenceBundleTracker.java:98) > ~[?:?] at > org.apache.aries.jpa.container.impl.PersistenceBundleTracker.addingBundle(PersistenceBundleTracker.java:44) > ~[?:?] at > org.osgi.util.tracker.BundleTracker$Tracked.customizerAdding(BundleTracker.java:469) > ~[osgi.core-6.0.0.jar:?] at > org.osgi.util.tracker.BundleTracker$Tracked.customizerAdding(BundleTracker.java:415) > ~[osgi.core-6.0.0.jar:?] at > org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256) > ~[osgi.core-6.0.0.jar:?] at > org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229) > ~[osgi.core-6.0.0.jar:?] at > org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:444) > ~[osgi.core-6.0.0.jar:?] at > org.apache.felix.framework.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:915) > ~[?:?] at > org.apache.felix.framework.EventDispatcher.fireEventImmediately(EventDispatcher.java:834) > ~[?:?] at > org.apache.felix.framework.EventDispatcher.fireBundleEvent(EventDispatcher.java:516) > ~[?:?] at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4579) > ~[?:?] at org.apache.felix.framework.Felix.activateBundle(Felix.java:2231) > ~[?:?] at org.apache.felix.framework.Felix.startBundle(Felix.java:2146) > ~[?:?] at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:998) > ~[?:?] at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:984) > ~[?:?] at > org.apache.karaf.features.internal.service.BundleInstallSupportImpl.startBundle(BundleInstallSupportImpl.java:165) > ~[?:?] at > org.apache.karaf.features.internal.service.FeaturesServiceImpl.startBundle(FeaturesServiceImpl.java:1154) > ~[?:?] at > org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:1044) > ~[?:?] at > org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1063) > ~[?:?] at > org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$13(FeaturesServiceImpl.java:998) > ~[?:?] at java.util.concurrent.FutureTask.run(FutureTask.java:266) > [?:1.8.0_191] at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [?:1.8.0_191] at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [?:1.8.0_191] at java.lang.Thread.run(Thread.java:748) > [?:1.8.0_191]2021-04-13T10:41:10,468 | INFO | features-3-thread-1 | Dialect > | 283 - org.hibernate.orm.core - 5.4.29.Final | > HHH000400: Using dialect: > org.hibernate.dialect.PostgreSQL10Dialect2021-04-13T10:41:10,678 | INFO | > features-3-thread-1 | beans | 283 - > org.hibernate.orm.core - 5.4.29.Final | HHH10005002: No explicit CDI > BeanManager reference was passed to Hibernate, but CDI is available on the > Hibernate ClassLoader.2021-04-13T10:41:11,079 | INFO | features-3-thread-1 | > JtaPlatformInitiator | 283 - org.hibernate.orm.core - > 5.4.29.Final | HHH000490: Using JtaPlatform implementation: > [org.hibernate.osgi.OsgiJtaPlatform]2021-04-13T10:41:11,103 | INFO | > features-3-thread-1 | DataSourceTracker | 101 - > org.apache.aries.jpa.container - 2.7.2 | Tracking DataSource for punit myPuDS > with filter > (&(objectClass=javax.sql.DataSource)(osgi.jndi.service.name=myPuDS))2021-04-13T10:41:11,113 > | INFO | features-3-thread-1 | PersistenceBundleTracker | 101 - > org.apache.aries.jpa.container - 2.7.2 | Found persistence unit myPuDS in > bundle com.test.karaftest.simplekarafapp with provider > org.hibernate.jpa.HibernatePersistenceProvider.2021-04-13T10:41:11,113 | INFO > | features-3-thread-1 | PersistenceProviderTracker | 101 - > org.apache.aries.jpa.container - 2.7.2 | Found provider for myPuDS > org.hibernate.jpa.HibernatePersistenceProvider2021-04-13T10:41:11,114 | INFO > | features-3-thread-1 | LogHelper | 283 - > org.hibernate.orm.core - 5.4.29.Final | HHH000204: Processing > PersistenceUnitInfo [name: myPuDS]2021-04-13T10:41:11,191 | INFO | > features-3-thread-1 | Dialect | 283 - > org.hibernate.orm.core - 5.4.29.Final | HHH000400: Using dialect: > org.hibernate.dialect.PostgreSQL10Dialect2021-04-13T10:41:11,191 | WARN | > features-3-thread-1 | JdbcEnvironmentInitiator | 283 - > org.hibernate.orm.core - 5.4.29.Final | HHH000342: Could not obtain > connection to query metadatajava.lang.NullPointerException: null at > org.hibernate.engine.jdbc.env.internal.ExtractedDatabaseMetaDataImpl$Builder.apply(ExtractedDatabaseMetaDataImpl.java:193) > ~[?:?] at > org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentImpl.<init>(JdbcEnvironmentImpl.java:265) > ~[?:?] at > org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:114) > ~[?:?] at > org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:35) > ~[?:?] at > org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:101) > ~[?:?] at > org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:263) > ~[?:?] at > org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:237) > ~[?:?] at > org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:214) > ~[?:?] at > org.hibernate.id.factory.internal.DefaultIdentifierGeneratorFactory.injectServices(DefaultIdentifierGeneratorFactory.java:152) > ~[?:?] at > org.hibernate.service.internal.AbstractServiceRegistryImpl.injectDependencies(AbstractServiceRegistryImpl.java:286) > ~[?:?] at > org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:243) > ~[?:?] at > org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:214) > ~[?:?] at > org.hibernate.boot.internal.InFlightMetadataCollectorImpl.<init>(InFlightMetadataCollectorImpl.java:176) > ~[?:?] at > org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:127) > ~[?:?] at > org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:1224) > ~[?:?] at > org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1255) > ~[?:?] at > org.hibernate.osgi.OsgiPersistenceProvider.createContainerEntityManagerFactory(OsgiPersistenceProvider.java:100) > ~[?:?] at > org.apache.aries.jpa.container.impl.PersistenceProviderTracker.createAndCloseDummyEMF(PersistenceProviderTracker.java:105) > ~[?:?] at > org.apache.aries.jpa.container.impl.PersistenceProviderTracker.addingService(PersistenceProviderTracker.java:86) > ~[?:?] at > org.apache.aries.jpa.container.impl.PersistenceProviderTracker.addingService(PersistenceProviderTracker.java:44) > ~[?:?] at > org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:941) > ~[osgi.core-6.0.0.jar:?] at > org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:870) > ~[osgi.core-6.0.0.jar:?] at > org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256) > ~[osgi.core-6.0.0.jar:?] at > org.osgi.util.tracker.AbstractTracked.trackInitial(AbstractTracked.java:183) > ~[osgi.core-6.0.0.jar:?] at > org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:318) > ~[osgi.core-6.0.0.jar:?] at > org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:261) > ~[osgi.core-6.0.0.jar:?] at > org.apache.aries.jpa.container.impl.PersistenceBundleTracker.trackProvider(PersistenceBundleTracker.java:229) > ~[?:?] at > org.apache.aries.jpa.container.impl.PersistenceBundleTracker.findPersistenceUnits(PersistenceBundleTracker.java:213) > ~[?:?] at > org.apache.aries.jpa.container.impl.PersistenceBundleTracker.addingBundle(PersistenceBundleTracker.java:98) > ~[?:?] at > org.apache.aries.jpa.container.impl.PersistenceBundleTracker.addingBundle(PersistenceBundleTracker.java:44) > ~[?:?] at > org.osgi.util.tracker.BundleTracker$Tracked.customizerAdding(BundleTracker.java:469) > ~[osgi.core-6.0.0.jar:?] at > org.osgi.util.tracker.BundleTracker$Tracked.customizerAdding(BundleTracker.java:415) > ~[osgi.core-6.0.0.jar:?] at > org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256) > ~[osgi.core-6.0.0.jar:?] at > org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229) > ~[osgi.core-6.0.0.jar:?] at > org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:444) > ~[osgi.core-6.0.0.jar:?] at > org.apache.felix.framework.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:915) > ~[?:?] at > org.apache.felix.framework.EventDispatcher.fireEventImmediately(EventDispatcher.java:834) > ~[?:?] at > org.apache.felix.framework.EventDispatcher.fireBundleEvent(EventDispatcher.java:516) > ~[?:?] at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4579) > ~[?:?] at org.apache.felix.framework.Felix.activateBundle(Felix.java:2231) > ~[?:?] at org.apache.felix.framework.Felix.startBundle(Felix.java:2146) > ~[?:?] at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:998) > ~[?:?] at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:984) > ~[?:?] at > org.apache.karaf.features.internal.service.BundleInstallSupportImpl.startBundle(BundleInstallSupportImpl.java:165) > ~[?:?] at > org.apache.karaf.features.internal.service.FeaturesServiceImpl.startBundle(FeaturesServiceImpl.java:1154) > ~[?:?] at > org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:1044) > ~[?:?] at > org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1063) > ~[?:?] at > org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$13(FeaturesServiceImpl.java:998) > ~[?:?] at java.util.concurrent.FutureTask.run(FutureTask.java:266) > [?:1.8.0_191] at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [?:1.8.0_191] at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [?:1.8.0_191] at java.lang.Thread.run(Thread.java:748) > [?:1.8.0_191]2021-04-13T10:41:11,197 | INFO | features-3-thread-1 | Dialect > | 283 - org.hibernate.orm.core - 5.4.29.Final | > HHH000400: Using dialect: > org.hibernate.dialect.PostgreSQL10Dialect2021-04-13T10:41:11,202 | INFO | > features-3-thread-1 | beans | 283 - > org.hibernate.orm.core - 5.4.29.Final | HHH10005002: No explicit CDI > BeanManager reference was passed to Hibernate, but CDI is available on the > Hibernate ClassLoader. > > > What we have seen is that a call to createAndCloseDummyEMF is done which was > not there in karaf 4.2.6. > > To reproduce the issue.here is the steps: > mvn clean install (the project is in the attachement). > feature:repo-add mvn:com.test.karaftest/simplekarafapp/1.0/xml/features > feature:install -v myfeature -- This message was sent by Atlassian Jira (v8.3.4#803005)