Skip to content

KerberosAuthenticationIT authentication test failures #56507

Closed
@benwtrent

Description

@benwtrent

Build scan:

7.6 https://gradle-enterprise.elastic.co/s/3olzbtxfidvds
7.8 https://gradle-enterprise.elastic.co/s/22optb3r7tq24
7.7 https://gradle-enterprise.elastic.co/s/4225d2fztqtfg

Repro line:

Three tests fail:

./gradlew ':x-pack:qa:kerberos-tests:integTestRunner' --tests "org.elasticsearch.xpack.security.authc.kerberos.KerberosAuthenticationIT.testLoginByKeytab" -Dtests.seed=461C01080EE1DB8B -Dtests.security.manager=true -Dtests.locale=es-EC -Dtests.timezone=IET -Dcompiler.java=13


./gradlew ':x-pack:qa:kerberos-tests:integTestRunner' --tests "org.elasticsearch.xpack.security.authc.kerberos.KerberosAuthenticationIT.testLoginByUsernamePassword" -Dtests.seed=461C01080EE1DB8B -Dtests.security.manager=true -Dtests.locale=es-EC -Dtests.timezone=IET -Dcompiler.java=13


./gradlew ':x-pack:qa:kerberos-tests:integTestRunner' --tests "org.elasticsearch.xpack.security.authc.kerberos.KerberosAuthenticationIT.testGetOauth2TokenInExchangeForKerberosTickets" -Dtests.seed=461C01080EE1DB8B -Dtests.security.manager=true -Dtests.locale=es-EC -Dtests.timezone=IET -Dcompiler.java=13

Reproduces locally?:
No
Applicable branches:

7.6
7.7
7.8
master

Failure excerpt:

All tests fail with a similar NPE.

org.elasticsearch.xpack.security.authc.kerberos.KerberosAuthenticationIT > testLoginByKeytab FAILED
    java.lang.RuntimeException: javax.security.auth.login.LoginException: java.lang.NullPointerException
    	at java.security.jgss/sun.security.krb5.KrbKdcRep.check(KrbKdcRep.java:149)
    	at java.security.jgss/sun.security.krb5.KrbAsRep.decrypt(KrbAsRep.java:159)
    	at java.security.jgss/sun.security.krb5.KrbAsRep.decryptUsingKeyTab(KrbAsRep.java:121)
    	at java.security.jgss/sun.security.krb5.KrbAsReqBuilder.resolve(KrbAsReqBuilder.java:310)
    	at java.security.jgss/sun.security.krb5.KrbAsReqBuilder.action(KrbAsReqBuilder.java:498)
    	at jdk.security.auth/com.sun.security.auth.module.Krb5LoginModule.attemptAuthentication(Krb5LoginModule.java:754)
    	at jdk.security.auth/com.sun.security.auth.module.Krb5LoginModule.login(Krb5LoginModule.java:592)
    	at java.base/javax.security.auth.login.LoginContext.invoke(LoginContext.java:726)
    	at java.base/javax.security.auth.login.LoginContext$4.run(LoginContext.java:665)
    	at java.base/javax.security.auth.login.LoginContext$4.run(LoginContext.java:663)
    	at java.base/java.security.AccessController.doPrivileged(AccessController.java:691)
    	at java.base/javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:663)
    	at java.base/javax.security.auth.login.LoginContext.login(LoginContext.java:574)
    	at org.elasticsearch.xpack.security.authc.kerberos.SpnegoHttpClientConfigCallbackHandler.lambda$login$1(SpnegoHttpClientConfigCallbackHandler.java:168)
    	at java.base/java.security.AccessController.doPrivileged(AccessController.java:554)
    	at org.elasticsearch.xpack.security.authc.kerberos.SpnegoHttpClientConfigCallbackHandler.login(SpnegoHttpClientConfigCallbackHandler.java:155)
    	at org.elasticsearch.xpack.security.authc.kerberos.SpnegoHttpClientConfigCallbackHandler.setupSpnegoAuthSchemeSupport(SpnegoHttpClientConfigCallbackHandler.java:126)
    	at org.elasticsearch.xpack.security.authc.kerberos.SpnegoHttpClientConfigCallbackHandler.customizeHttpClient(SpnegoHttpClientConfigCallbackHandler.java:115)
    	at org.elasticsearch.client.RestClientBuilder.createHttpClient(RestClientBuilder.java:215)
    	at java.base/java.security.AccessController.doPrivileged(AccessController.java:312)
    	at org.elasticsearch.client.RestClientBuilder.build(RestClientBuilder.java:191)
    	at org.elasticsearch.xpack.security.authc.kerberos.KerberosAuthenticationIT.buildRestClientForKerberos(KerberosAuthenticationIT.java:190)
    	at org.elasticsearch.xpack.security.authc.kerberos.KerberosAuthenticationIT.executeRequestAndVerifyResponse(KerberosAuthenticationIT.java:156)
    	at org.elasticsearch.xpack.security.authc.kerberos.KerberosAuthenticationIT.testLoginByKeytab(KerberosAuthenticationIT.java:98)
    	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
    	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.base/java.lang.reflect.Method.invoke(Method.java:564)
    	at com.carrotsearch.randomizedtesting.RandomizedRunner.invoke(RandomizedRunner.java:1750)
    	at com.carrotsearch.randomizedtesting.RandomizedRunner$8.evaluate(RandomizedRunner.java:938)
    	at com.carrotsearch.randomizedtesting.RandomizedRunner$9.evaluate(RandomizedRunner.java:974)
    	at com.carrotsearch.randomizedtesting.RandomizedRunner$10.evaluate(RandomizedRunner.java:988)
    	at com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
    	at org.apache.lucene.util.TestRuleSetupTeardownChained$1.evaluate(TestRuleSetupTeardownChained.java:49)
    	at org.apache.lucene.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeAfterRule.java:45)
    	at org.apache.lucene.util.TestRuleThreadAndTestName$1.evaluate(TestRuleThreadAndTestName.java:48)
    	at org.apache.lucene.util.TestRuleIgnoreAfterMaxFailures$1.evaluate(TestRuleIgnoreAfterMaxFailures.java:64)
    	at org.apache.lucene.util.TestRuleMarkFailure$1.evaluate(TestRuleMarkFailure.java:47)
    	at com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
    	at com.carrotsearch.randomizedtesting.ThreadLeakControl$StatementRunner.run(ThreadLeakControl.java:368)
    	at com.carrotsearch.randomizedtesting.ThreadLeakControl.forkTimeoutingTask(ThreadLeakControl.java:817)
    	at com.carrotsearch.randomizedtesting.ThreadLeakControl$3.evaluate(ThreadLeakControl.java:468)
    	at com.carrotsearch.randomizedtesting.RandomizedRunner.runSingleTest(RandomizedRunner.java:947)
    	at com.carrotsearch.randomizedtesting.RandomizedRunner$5.evaluate(RandomizedRunner.java:832)
    	at com.carrotsearch.randomizedtesting.RandomizedRunner$6.evaluate(RandomizedRunner.java:883)
    	at com.carrotsearch.randomizedtesting.RandomizedRunner$7.evaluate(RandomizedRunner.java:894)
    	at org.apache.lucene.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeAfterRule.java:45)
    	at com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
    	at org.apache.lucene.util.TestRuleStoreClassName$1.evaluate(TestRuleStoreClassName.java:41)
    	at com.carrotsearch.randomizedtesting.rules.NoShadowingOrOverridesOnMethodsRule$1.evaluate(NoShadowingOrOverridesOnMethodsRule.java:40)
    	at com.carrotsearch.randomizedtesting.rules.NoShadowingOrOverridesOnMethodsRule$1.evaluate(NoShadowingOrOverridesOnMethodsRule.java:40)
    	at com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
    	at com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
    	at org.apache.lucene.util.TestRuleAssertionsRequired$1.evaluate(TestRuleAssertionsRequired.java:53)
    	at org.apache.lucene.util.TestRuleMarkFailure$1.evaluate(TestRuleMarkFailure.java:47)
    	at org.apache.lucene.util.TestRuleIgnoreAfterMaxFailures$1.evaluate(TestRuleIgnoreAfterMaxFailures.java:64)
    	at org.apache.lucene.util.TestRuleIgnoreTestSuites$1.evaluate(TestRuleIgnoreTestSuites.java:54)
    	at com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
    	at com.carrotsearch.randomizedtesting.ThreadLeakControl$StatementRunner.run(ThreadLeakControl.java:368)
    	at java.base/java.lang.Thread.run(Thread.java:832)
        at __randomizedtesting.SeedInfo.seed([461C01080EE1DB8B:297FA9053AE957CC]:0)
        at org.elasticsearch.xpack.security.authc.kerberos.SpnegoHttpClientConfigCallbackHandler.setupSpnegoAuthSchemeSupport(SpnegoHttpClientConfigCallbackHandler.java:141)
        at org.elasticsearch.xpack.security.authc.kerberos.SpnegoHttpClientConfigCallbackHandler.customizeHttpClient(SpnegoHttpClientConfigCallbackHandler.java:115)
        at org.elasticsearch.client.RestClientBuilder.createHttpClient(RestClientBuilder.java:215)
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:312)
        at org.elasticsearch.client.RestClientBuilder.build(RestClientBuilder.java:191)
        at org.elasticsearch.xpack.security.authc.kerberos.KerberosAuthenticationIT.buildRestClientForKerberos(KerberosAuthenticationIT.java:190)
        at org.elasticsearch.xpack.security.authc.kerberos.KerberosAuthenticationIT.executeRequestAndVerifyResponse(KerberosAuthenticationIT.java:156)
        at org.elasticsearch.xpack.security.authc.kerberos.KerberosAuthenticationIT.testLoginByKeytab(KerberosAuthenticationIT.java:98)

        Caused by:
        javax.security.auth.login.LoginException: java.lang.NullPointerException
        	at java.security.jgss/sun.security.krb5.KrbKdcRep.check(KrbKdcRep.java:149)
        	at java.security.jgss/sun.security.krb5.KrbAsRep.decrypt(KrbAsRep.java:159)
        	at java.security.jgss/sun.security.krb5.KrbAsRep.decryptUsingKeyTab(KrbAsRep.java:121)
        	at java.security.jgss/sun.security.krb5.KrbAsReqBuilder.resolve(KrbAsReqBuilder.java:310)
        	at java.security.jgss/sun.security.krb5.KrbAsReqBuilder.action(KrbAsReqBuilder.java:498)
        	at jdk.security.auth/com.sun.security.auth.module.Krb5LoginModule.attemptAuthentication(Krb5LoginModule.java:754)
        	at jdk.security.auth/com.sun.security.auth.module.Krb5LoginModule.login(Krb5LoginModule.java:592)
        	at java.base/javax.security.auth.login.LoginContext.invoke(LoginContext.java:726)
        	at java.base/javax.security.auth.login.LoginContext$4.run(LoginContext.java:665)
        	at java.base/javax.security.auth.login.LoginContext$4.run(LoginContext.java:663)
        	at java.base/java.security.AccessController.doPrivileged(AccessController.java:691)
        	at java.base/javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:663)
        	at java.base/javax.security.auth.login.LoginContext.login(LoginContext.java:574)
        	at org.elasticsearch.xpack.security.authc.kerberos.SpnegoHttpClientConfigCallbackHandler.lambda$login$1(SpnegoHttpClientConfigCallbackHandler.java:168)
        	at java.base/java.security.AccessController.doPrivileged(AccessController.java:554)
        	at org.elasticsearch.xpack.security.authc.kerberos.SpnegoHttpClientConfigCallbackHandler.login(SpnegoHttpClientConfigCallbackHandler.java:155)
        	at org.elasticsearch.xpack.security.authc.kerberos.SpnegoHttpClientConfigCallbackHandler.setupSpnegoAuthSchemeSupport(SpnegoHttpClientConfigCallbackHandler.java:126)
        	at org.elasticsearch.xpack.security.authc.kerberos.SpnegoHttpClientConfigCallbackHandler.customizeHttpClient(SpnegoHttpClientConfigCallbackHandler.java:115)
        	at org.elasticsearch.client.RestClientBuilder.createHttpClient(RestClientBuilder.java:215)
        	at java.base/java.security.AccessController.doPrivileged(AccessController.java:312)
        	at org.elasticsearch.client.RestClientBuilder.build(RestClientBuilder.java:191)
        	at org.elasticsearch.xpack.security.authc.kerberos.KerberosAuthenticationIT.buildRestClientForKerberos(KerberosAuthenticationIT.java:190)
        	at org.elasticsearch.xpack.security.authc.kerberos.KerberosAuthenticationIT.executeRequestAndVerifyResponse(KerberosAuthenticationIT.java:156)
        	at org.elasticsearch.xpack.security.authc.kerberos.KerberosAuthenticationIT.testLoginByKeytab(KerberosAuthenticationIT.java:98)
        	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
        	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        	at java.base/java.lang.reflect.Method.invoke(Method.java:564)
        	at com.carrotsearch.randomizedtesting.RandomizedRunner.invoke(RandomizedRunner.java:1750)
        	at com.carrotsearch.randomizedtesting.RandomizedRunner$8.evaluate(RandomizedRunner.java:938)
        	at com.carrotsearch.randomizedtesting.RandomizedRunner$9.evaluate(RandomizedRunner.java:974)
        	at com.carrotsearch.randomizedtesting.RandomizedRunner$10.evaluate(RandomizedRunner.java:988)
        	at com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
        	at org.apache.lucene.util.TestRuleSetupTeardownChained$1.evaluate(TestRuleSetupTeardownChained.java:49)
        	at org.apache.lucene.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeAfterRule.java:45)
        	at org.apache.lucene.util.TestRuleThreadAndTestName$1.evaluate(TestRuleThreadAndTestName.java:48)
        	at org.apache.lucene.util.TestRuleIgnoreAfterMaxFailures$1.evaluate(TestRuleIgnoreAfterMaxFailures.java:64)
        	at org.apache.lucene.util.TestRuleMarkFailure$1.evaluate(TestRuleMarkFailure.java:47)
        	at com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
        	at com.carrotsearch.randomizedtesting.ThreadLeakControl$StatementRunner.run(ThreadLeakControl.java:368)
        	at com.carrotsearch.randomizedtesting.ThreadLeakControl.forkTimeoutingTask(ThreadLeakControl.java:817)
        	at com.carrotsearch.randomizedtesting.ThreadLeakControl$3.evaluate(ThreadLeakControl.java:468)
        	at com.carrotsearch.randomizedtesting.RandomizedRunner.runSingleTest(RandomizedRunner.java:947)
        	at com.carrotsearch.randomizedtesting.RandomizedRunner$5.evaluate(RandomizedRunner.java:832)
        	at com.carrotsearch.randomizedtesting.RandomizedRunner$6.evaluate(RandomizedRunner.java:883)
        	at com.carrotsearch.randomizedtesting.RandomizedRunner$7.evaluate(RandomizedRunner.java:894)
        	at org.apache.lucene.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeAfterRule.java:45)
        	at com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
        	at org.apache.lucene.util.TestRuleStoreClassName$1.evaluate(TestRuleStoreClassName.java:41)
        	at com.carrotsearch.randomizedtesting.rules.NoShadowingOrOverridesOnMethodsRule$1.evaluate(NoShadowingOrOverridesOnMethodsRule.java:40)
        	at com.carrotsearch.randomizedtesting.rules.NoShadowingOrOverridesOnMethodsRule$1.evaluate(NoShadowingOrOverridesOnMethodsRule.java:40)
        	at com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
        	at com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
        	at org.apache.lucene.util.TestRuleAssertionsRequired$1.evaluate(TestRuleAssertionsRequired.java:53)
        	at org.apache.lucene.util.TestRuleMarkFailure$1.evaluate(TestRuleMarkFailure.java:47)
        	at org.apache.lucene.util.TestRuleIgnoreAfterMaxFailures$1.evaluate(TestRuleIgnoreAfterMaxFailures.java:64)
        	at org.apache.lucene.util.TestRuleIgnoreTestSuites$1.evaluate(TestRuleIgnoreTestSuites.java:54)
        	at com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
        	at com.carrotsearch.randomizedtesting.ThreadLeakControl$StatementRunner.run(ThreadLeakControl.java:368)
        	at java.base/java.lang.Thread.run(Thread.java:832)
            at java.base/javax.security.auth.login.LoginContext.invoke(LoginContext.java:821)
            at java.base/javax.security.auth.login.LoginContext$4.run(LoginContext.java:665)
            at java.base/javax.security.auth.login.LoginContext$4.run(LoginContext.java:663)
            at java.base/java.security.AccessController.doPrivileged(AccessController.java:691)
            at java.base/javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:663)
            at java.base/javax.security.auth.login.LoginContext.login(LoginContext.java:574)
            at org.elasticsearch.xpack.security.authc.kerberos.SpnegoHttpClientConfigCallbackHandler.lambda$login$1(SpnegoHttpClientConfigCallbackHandler.java:168)
            at java.base/java.security.AccessController.doPrivileged(AccessController.java:554)
            at org.elasticsearch.xpack.security.authc.kerberos.SpnegoHttpClientConfigCallbackHandler.login(SpnegoHttpClientConfigCallbackHandler.java:155)
            at org.elasticsearch.xpack.security.authc.kerberos.SpnegoHttpClientConfigCallbackHandler.setupSpnegoAuthSchemeSupport(SpnegoHttpClientConfigCallbackHandler.java:126)
            ... 7 more

Metadata

Metadata

Labels

:Security/AuthenticationLogging in, Usernames/passwords, Realms (Native/LDAP/AD/SAML/PKI/etc)>test-failureTriaged test failures from CITeam:SecurityMeta label for security team

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions