Uploaded image for project: 'PUBLIC - Liferay Portal Community Edition'
  1. PUBLIC - Liferay Portal Community Edition
  2. LPS-107670

Resetting a configuration to default leads to NullPointerException with Oracle DB

    Details

      Description

      Reproduction steps:

      1. Use an Oracle 12.2 database
      2. Go to the Elasticsearch config in the System Settings
      3. Update one of the settings
      4. Click on the 3 dots in the top right corner and reset the default values

      Experienced behavior: Check the configuration_ table, you will see that the following was added as a configurationId with a null value for dictionary:

      org_apache_felix_cm_impl_DynamicBindings

      After this, portal fails to start due to NullPointerException.

      24-Jan-2020 09:32:30.694 INFO [main] org.apache.catalina.startup.Catalina.load Server initialization in [464] milliseconds
      Loading jar:file:/Users/istvansajtos/Liferay/Issues/LPP-35924/liferay-dxp-7.2.10.1-sp1/tomcat-9.0.17/webapps/ROOT/WEB-INF/lib/portal-impl.jar!/system.properties
      Loading jar:file:/Users/istvansajtos/Liferay/Issues/LPP-35924/liferay-dxp-7.2.10.1-sp1/tomcat-9.0.17/webapps/ROOT/WEB-INF/lib/portal-impl.jar!/portal.properties
      Loading file:/Users/istvansajtos/Liferay/Issues/LPP-35924/liferay-dxp-7.2.10.1-sp1/portal-ext.properties
      2020-01-24 09:32:31.919 INFO  [main][PortalContextLoaderListener:139] JVM arguments: -Djava.util.logging.config.file=/Users/istvansajtos/Liferay/Issues/LPP-35924/liferay-dxp-7.2.10.1-sp1/tomcat-9.0.17/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -agentlib:jdwp=transport=dt_socket,address=localhost:8000,server=y,suspend=n -Dfile.encoding=UTF-8 -Djava.locale.providers=JRE,COMPAT,CLDR -Djava.net.preferIPv4Stack=true -Duser.timezone=GMT -Xms2560m -Xmx2560m -XX:MaxNewSize=1536m -XX:MaxMetaspaceSize=768m -XX:MetaspaceSize=768m -XX:NewSize=1536m -XX:SurvivorRatio=7 -Dignore.endorsed.dirs= -Dcatalina.base=/Users/istvansajtos/Liferay/Issues/LPP-35924/liferay-dxp-7.2.10.1-sp1/tomcat-9.0.17 -Dcatalina.home=/Users/istvansajtos/Liferay/Issues/LPP-35924/liferay-dxp-7.2.10.1-sp1/tomcat-9.0.17 -Djava.io.tmpdir=/Users/istvansajtos/Liferay/Issues/LPP-35924/liferay-dxp-7.2.10.1-sp1/tomcat-9.0.17/temp
      2020-01-24 09:32:34.371 INFO  [main][DialectDetector:159] Using dialect org.hibernate.dialect.Oracle10gDialect for Oracle 12.2
      2020-01-24 09:32:35.895 INFO  [main][ModuleFrameworkImpl:1468] Starting initial bundles
      24-Jan-2020 09:32:36.228 SEVERE [main] org.apache.catalina.core.StandardContext.listenerStart Exception sending context initialized event to listener instance of class [com.liferay.portal.spring.context.PortalContextLoaderListener]
       java.lang.RuntimeException: org.osgi.framework.BundleException: Exception in com.liferay.portal.configuration.persistence.internal.activator.ConfigurationPersistenceImplBundleActivator.start() of bundle com.liferay.portal.configuration.persistence.impl.
      	at com.liferay.portal.spring.context.PortalContextLoaderListener.contextInitialized(PortalContextLoaderListener.java:305)
      	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4682)
      	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5150)
      	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
      	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:713)
      	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:690)
      	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:695)
      	at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:631)
      	at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1832)
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      	at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
      	at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:112)
      	at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:526)
      	at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:425)
      	at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1577)
      	at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:309)
      	at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
      	at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:424)
      	at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:367)
      	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:929)
      	at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:831)
      	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
      	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1377)
      	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1367)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      	at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
      	at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
      	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:902)
      	at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
      	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
      	at org.apache.catalina.core.StandardService.startInternal(StandardService.java:423)
      	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
      	at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:928)
      	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
      	at org.apache.catalina.startup.Catalina.start(Catalina.java:634)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:498)
      	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:350)
      	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:492)
      Caused by: org.osgi.framework.BundleException: Exception in com.liferay.portal.configuration.persistence.internal.activator.ConfigurationPersistenceImplBundleActivator.start() of bundle com.liferay.portal.configuration.persistence.impl.
      	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:800)
      	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
      	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
      	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
      	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
      	at org.eclipse.osgi.container.Module.start(Module.java:449)
      	at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:428)
      	at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:447)
      	at com.liferay.portal.bootstrap.ModuleFrameworkImpl._startConfigurationBundles(ModuleFrameworkImpl.java:1799)
      	at com.liferay.portal.bootstrap.ModuleFrameworkImpl._setUpInitialBundles(ModuleFrameworkImpl.java:1687)
      	at com.liferay.portal.bootstrap.ModuleFrameworkImpl.startFramework(ModuleFrameworkImpl.java:403)
      	at com.liferay.portal.module.framework.ModuleFrameworkUtilAdapter.startFramework(ModuleFrameworkUtilAdapter.java:100)
      	at com.liferay.portal.spring.context.PortalContextLoaderListener.contextInitialized(PortalContextLoaderListener.java:300)
      	... 41 more
      Caused by: java.lang.NullPointerException
      	at com.liferay.portal.configuration.persistence.internal.ConfigurationPersistenceManager._verifyDictionary(ConfigurationPersistenceManager.java:468)
      	at com.liferay.portal.configuration.persistence.internal.ConfigurationPersistenceManager.populateDictionaries(ConfigurationPersistenceManager.java:342)
      	at com.liferay.portal.configuration.persistence.internal.ConfigurationPersistenceManager.start(ConfigurationPersistenceManager.java:186)
      	at com.liferay.portal.configuration.persistence.internal.activator.ConfigurationPersistenceImplBundleActivator.start(ConfigurationPersistenceImplBundleActivator.java:62)
      	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
      	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
      	at java.security.AccessController.doPrivileged(Native Method)
      	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
      	... 53 more
      

      Expected behavior: Portal starts flawlessly.

      Master doesn't support Oracle DB, but it should also get the fix.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              support-lep@liferay.com SE Support
              Reporter:
              istvan.sajtos Istvan Sajtos
              Participants of an Issue:
              Recent user:
              Brian I. Kim
              Engineering Assignee:
              Istvan Sajtos
              Votes:
              1 Vote for this issue
              Watchers:
              1 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                Days since last comment:
                42 weeks, 4 days ago

                  Packages

                  Version Package