Uploaded image for project: 'Jira Data Center'
  1. Jira Data Center
  2. JRASERVER-62653

Oracle Security Patched DB Driver Not Working

    XMLWordPrintable

Details

    Description

      Issue Summary

      Following a recent security patch by Oracle for the ojdbc6.jar driver as fix for CVE-2016-3506. (p23727132_112040_Generic.zip, available in Oracle Support download area), applying the patch to JIRA breaks JIRA with JIRA throwing:

      2016-07-29 16:45:50,883 localhost-startStop-1 ERROR      [atlassian.event.internal.AsynchronousAbleEventDispatcher] There was an exception thrown trying to dispatch event [com.atlassian.plugin.event.events.PluginFrameworkStartedEvent@63dd3850] from the invoker [SingleParameterMethodListenerInvoker{method=public void com.atlassian.plugins.whitelist.applinks.ApplicationLinkChangeListener.onPluginFrameworkStarted(com.atlassian.plugin.event.events.PluginFrameworkStartedEvent), listener=com.atlassian.plugins.whitelist.applinks.ApplicationLinkChangeListener@401ab66f}]
      java.lang.RuntimeException: bundle [com.atlassian.plugins.atlassian-whitelist-api-plugin]
      	at com.atlassian.event.internal.SingleParameterMethodListenerInvoker.invoke(SingleParameterMethodListenerInvoker.java:54)
      	at com.atlassian.event.internal.AsynchronousAbleEventDispatcher$1$1.run(AsynchronousAbleEventDispatcher.java:48)
      	at com.google.common.util.concurrent.MoreExecutors$SameThreadExecutorService.execute(MoreExecutors.java:253)
      	at com.atlassian.event.internal.AsynchronousAbleEventDispatcher.dispatch(AsynchronousAbleEventDispatcher.java:107)
      	at com.atlassian.event.internal.EventPublisherImpl.invokeListeners(EventPublisherImpl.java:160)
      	at com.atlassian.event.internal.EventPublisherImpl.publish(EventPublisherImpl.java:79)
      	at com.atlassian.plugin.event.impl.DefaultPluginEventManager.broadcast(DefaultPluginEventManager.java:84)
      	at com.atlassian.plugin.manager.DefaultPluginManager.lateStartup(DefaultPluginManager.java:616)
      	at com.atlassian.jira.plugin.JiraPluginManager.lateStartup(JiraPluginManager.java:119)
      	at com.atlassian.jira.tenancy.TenantPluginBridge.startPhase2IfTenanted(TenantPluginBridge.java:64)
      	at com.atlassian.jira.tenancy.TenantPluginBridge.start(TenantPluginBridge.java:57)
      	at com.atlassian.jira.plugin.JiraPluginManager.start(JiraPluginManager.java:105)
      	at com.atlassian.jira.ComponentManager$PluginSystem.start(ComponentManager.java:801)
      	at com.atlassian.jira.ComponentManager.quickStart(ComponentManager.java:265)
      	at com.atlassian.jira.ComponentManager.start(ComponentManager.java:239)
      	at com.atlassian.jira.upgrade.PluginSystemLauncher.start(PluginSystemLauncher.java:29)
      	at com.atlassian.jira.startup.DefaultJiraLauncher$3.run(DefaultJiraLauncher.java:137)
      	at com.atlassian.jira.config.database.DatabaseConfigurationManagerImpl.doNowOrEnqueue(DatabaseConfigurationManagerImpl.java:345)
      	at com.atlassian.jira.config.database.DatabaseConfigurationManagerImpl.doNowOrWhenDatabaseActivated(DatabaseConfigurationManagerImpl.java:215)
      	at com.atlassian.jira.startup.DefaultJiraLauncher.postDbLaunch(DefaultJiraLauncher.java:124)
      	at com.atlassian.jira.startup.DefaultJiraLauncher.access$100(DefaultJiraLauncher.java:33)
      	at com.atlassian.jira.startup.DefaultJiraLauncher$1.run(DefaultJiraLauncher.java:86)
      	at com.atlassian.jira.util.devspeed.JiraDevSpeedTimer.run(JiraDevSpeedTimer.java:34)
      	at com.atlassian.jira.startup.DefaultJiraLauncher.start(DefaultJiraLauncher.java:81)
      	at com.atlassian.jira.startup.LauncherContextListener.contextInitialized(LauncherContextListener.java:72)  <+5> (StandardContext.java:5016) (StandardContext.java:5528) (LifecycleBase.java:150) (ContainerBase.java:1575) (ContainerBase.java:1565)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      	at java.lang.Thread.run(Thread.java:745)
      Caused by: com.atlassian.activeobjects.internal.ActiveObjectsInitException: bundle [com.atlassian.plugins.atlassian-whitelist-api-plugin]
      	at com.atlassian.activeobjects.osgi.TenantAwareActiveObjects$1$1$1.call(TenantAwareActiveObjects.java:105)
      	at com.atlassian.activeobjects.osgi.TenantAwareActiveObjects$1$1$1.call(TenantAwareActiveObjects.java:92)
      	at com.atlassian.sal.core.executor.ThreadLocalDelegateCallable.call(ThreadLocalDelegateCallable.java:42)
      	... 4 more
      Caused by: java.lang.RuntimeException: java.sql.SQLException: Invalid argument(s) in call
      	at net.java.ao.schema.helper.DatabaseMetaDataReaderImpl.getFields(DatabaseMetaDataReaderImpl.java:78)
      	at net.java.ao.schema.ddl.SchemaReader.readFields(SchemaReader.java:139)
      	at net.java.ao.schema.ddl.SchemaReader.readTable(SchemaReader.java:122)
      	at net.java.ao.schema.ddl.SchemaReader.access$000(SchemaReader.java:60)
      	at net.java.ao.schema.ddl.SchemaReader$1.apply(SchemaReader.java:110)
      	at net.java.ao.schema.ddl.SchemaReader$1.apply(SchemaReader.java:107)
      	at com.google.common.collect.Iterators$8.next(Iterators.java:812)
      	at com.google.common.collect.Lists.newArrayList(Lists.java:139)
      	at com.google.common.collect.Lists.newArrayList(Lists.java:119)
      	at net.java.ao.schema.ddl.SchemaReader.readSchema(SchemaReader.java:106)
      	at net.java.ao.schema.ddl.SchemaReader.readSchema(SchemaReader.java:94)
      	at net.java.ao.schema.ddl.SchemaReader.readSchema(SchemaReader.java:85)
      	at net.java.ao.schema.SchemaGenerator.generateImpl(SchemaGenerator.java:119)
      	at net.java.ao.schema.SchemaGenerator.migrate(SchemaGenerator.java:88)
      	at net.java.ao.EntityManager.migrate(EntityManager.java:130)
      	at com.atlassian.activeobjects.internal.EntityManagedActiveObjects.migrate(EntityManagedActiveObjects.java:50)
      	at com.atlassian.activeobjects.internal.AbstractActiveObjectsFactory$1.doInTransaction(AbstractActiveObjectsFactory.java:91)
      	at com.atlassian.activeobjects.internal.AbstractActiveObjectsFactory$1.doInTransaction(AbstractActiveObjectsFactory.java:85)
      	at com.atlassian.sal.core.transaction.HostContextTransactionTemplate$1.doInTransaction(HostContextTransactionTemplate.java:25)
      	at com.atlassian.jira.DefaultHostContextAccessor.doInTransaction(DefaultHostContextAccessor.java:34)  <+3> (NativeMethodAccessorImpl.java:62) (DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:498)
      	at com.atlassian.plugin.osgi.hostcomponents.impl.DefaultComponentRegistrar$ContextClassLoaderSettingInvocationHandler.invoke(DefaultComponentRegistrar.java:134)
      	at com.sun.proxy.$Proxy244.doInTransaction(Unknown Source)  <+3> (NativeMethodAccessorImpl.java:62) (DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:498)
      	at com.atlassian.plugin.osgi.bridge.external.HostComponentFactoryBean$DynamicServiceInvocationHandler.invoke(HostComponentFactoryBean.java:154)
      	at com.sun.proxy.$Proxy244.doInTransaction(Unknown Source)
      	at com.atlassian.sal.core.transaction.HostContextTransactionTemplate.execute(HostContextTransactionTemplate.java:21)  <+3> (NativeMethodAccessorImpl.java:62) (DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:498)
      	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
      	at org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:58)
      	at org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:62)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      	at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
      	at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      	at org.springframework.osgi.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:56)
      	at org.springframework.osgi.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:39)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      	at org.springframework.osgi.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:59)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      	at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
      	at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
      	at com.sun.proxy.$Proxy1469.execute(Unknown Source)
      	at com.atlassian.activeobjects.internal.AbstractActiveObjectsFactory.create(AbstractActiveObjectsFactory.java:84)
      	at com.atlassian.activeobjects.internal.DelegatingActiveObjectsFactory.create(DelegatingActiveObjectsFactory.java:40)
      	at com.atlassian.activeobjects.osgi.TenantAwareActiveObjects$1$1$1.call(TenantAwareActiveObjects.java:99)
      	... 6 more
      Caused by: java.sql.SQLException: Invalid argument(s) in call
      	at oracle.jdbc.OracleDatabaseMetaData.getTables(OracleDatabaseMetaData.java:2991)
      	at org.apache.commons.dbcp.DelegatingDatabaseMetaData.getTables(DelegatingDatabaseMetaData.java:604)
      	at net.java.ao.db.OracleDatabaseProvider.getSequences(OracleDatabaseProvider.java:93)
      	at net.java.ao.schema.helper.DatabaseMetaDataReaderImpl.getSequenceNames(DatabaseMetaDataReaderImpl.java:222)
      	... 63 more
      

      Step to Reproduce

      1. Install the new driver by replacing the bundled driver which is located in: JIRA installation/lib folder.
      2. Restart JIRA.
      3. Attempt to login into JIRA once it is up and running.

      Expected Behavior

      The user would be able to login with no problems.

      Actual Behavior

      The user gets a 500 page error with the logs mentioned above.

      Note

      When user reverts back to using the bundled driver, things work fine again.

      Attachments

        Issue Links

          Activity

            People

              apawelczyk Artur Pawelczyk (Inactive)
              ijimoh Ismael Olusula Jimoh (Inactive)
              Votes:
              2 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: