Saturday, June 27, 2015

Jira 6.4.7 incompatible with Okta authenticator 1.0.9

Just upgraded to Jira 6.4.7 (Windows, sigh), using Okta authenticator 1.0.9 (the most recent).

Jira startup was fine before re-enabling Okta. After re-enabling, it was throwing errors like:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'authenticationController' defined in URL [bundle://133.0:0/META-INF/spring/atlassian-plugins-components.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [com.atlassian.sal.core.auth.SeraphAuthenticationController]: Constructor threw exception; nested exception is java.lang.NoSuchMethodError

leading to, of course:
2015-06-27 16:39:45,789 localhost-startStop-1 ERROR      [atlassian.jira.startup.LauncherContextListener] Unable to start JIRA due to Java Error.
java.lang.NoSuchMethodError: org.apache.xml.serializer.Encodings.isRecognizedEncoding(Ljava/lang/String;)Z

I have a ticket open with Okta, but the short-term fix was to remove the serializer-2.7.2.jar from  C:\Program Files\Atlassian\JIRA\atlassian-jira\WEB-INF\lib, and replace the xalan-2.7.2.jar there with xalan-2.7.0.jar (taken from the backup of the previous Jira version's install directory).

This does not appear to cause any issues, but please be wary of a crazy stranger's internet advice. If you try this fix, please watch your logs carefully.

This fix was inspired by: http://gazelle.ihe.net/jira/browse/HLSEVENCMN-45

Hopefully Okta will rewrite the authenticator to match this latest version of Jira. I hopped from 6.3.7 to 6.4.7, so I'm not sure at precisely which version these jars were introducted. Okta claims to be compatible with "Jira 6.4", so I'm guessing 6.4.x.  Update: My support ticket to Okta revealed that they do not intend to support 6.4.x until the next release of the authenticator.