[
https://issues.apache.org/jira/browse/HADOOP-14078?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15874030#comment-15874030
]
Duo Zhang commented on HADOOP-14078:
------------------------------------
There must be some races in the code of JDK...
I got this...
{noformat}
org.apache.hadoop.security.KerberosAuthException: Login failure for principal:
client from keytab
/home/zhangduo/hadoop/code/hadoop-common-project/hadoop-common/target/keytab
javax.security.auth.login.LoginException: java.lang.NullPointerException
at java.util.LinkedList$ListItr.next(LinkedList.java:893)
at javax.security.auth.Subject$SecureSet$1.next(Subject.java:1070)
at javax.security.auth.Subject$SecureSet$3.run(Subject.java:1192)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject$SecureSet.contains(Subject.java:1190)
at
java.util.Collections$SynchronizedCollection.contains(Collections.java:2021)
at
com.sun.security.auth.module.Krb5LoginModule.commit(Krb5LoginModule.java:1114)
at sun.reflect.GeneratedMethodAccessor10.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at javax.security.auth.login.LoginContext.invoke(LoginContext.java:755)
at
javax.security.auth.login.LoginContext.access$000(LoginContext.java:195)
at javax.security.auth.login.LoginContext$4.run(LoginContext.java:682)
at javax.security.auth.login.LoginContext$4.run(LoginContext.java:680)
at java.security.AccessController.doPrivileged(Native Method)
at
javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
at javax.security.auth.login.LoginContext.login(LoginContext.java:588)
at
org.apache.hadoop.security.UserGroupInformation.reloginFromKeytab(UserGroupInformation.java:1257)
at
org.apache.hadoop.security.TestRaceWhenRelogin.relogin(TestRaceWhenRelogin.java:100)
at
org.apache.hadoop.security.TestRaceWhenRelogin.lambda$2(TestRaceWhenRelogin.java:157)
at java.lang.Thread.run(Thread.java:745)
at
org.apache.hadoop.security.UserGroupInformation.reloginFromKeytab(UserGroupInformation.java:1266)
at
org.apache.hadoop.security.TestRaceWhenRelogin.relogin(TestRaceWhenRelogin.java:100)
at
org.apache.hadoop.security.TestRaceWhenRelogin.lambda$2(TestRaceWhenRelogin.java:157)
at java.lang.Thread.run(Thread.java:745)
Caused by: javax.security.auth.login.LoginException:
java.lang.NullPointerException
at java.util.LinkedList$ListItr.next(LinkedList.java:893)
at javax.security.auth.Subject$SecureSet$1.next(Subject.java:1070)
at javax.security.auth.Subject$SecureSet$3.run(Subject.java:1192)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject$SecureSet.contains(Subject.java:1190)
at
java.util.Collections$SynchronizedCollection.contains(Collections.java:2021)
at
com.sun.security.auth.module.Krb5LoginModule.commit(Krb5LoginModule.java:1114)
at sun.reflect.GeneratedMethodAccessor10.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at javax.security.auth.login.LoginContext.invoke(LoginContext.java:755)
at
javax.security.auth.login.LoginContext.access$000(LoginContext.java:195)
at javax.security.auth.login.LoginContext$4.run(LoginContext.java:682)
at javax.security.auth.login.LoginContext$4.run(LoginContext.java:680)
at java.security.AccessController.doPrivileged(Native Method)
at
javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
at javax.security.auth.login.LoginContext.login(LoginContext.java:588)
at
org.apache.hadoop.security.UserGroupInformation.reloginFromKeytab(UserGroupInformation.java:1257)
at
org.apache.hadoop.security.TestRaceWhenRelogin.relogin(TestRaceWhenRelogin.java:100)
at
org.apache.hadoop.security.TestRaceWhenRelogin.lambda$2(TestRaceWhenRelogin.java:157)
at java.lang.Thread.run(Thread.java:745)
at javax.security.auth.login.LoginContext.invoke(LoginContext.java:856)
at
javax.security.auth.login.LoginContext.access$000(LoginContext.java:195)
at javax.security.auth.login.LoginContext$4.run(LoginContext.java:682)
at javax.security.auth.login.LoginContext$4.run(LoginContext.java:680)
at java.security.AccessController.doPrivileged(Native Method)
at
javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
at javax.security.auth.login.LoginContext.login(LoginContext.java:588)
at
org.apache.hadoop.security.UserGroupInformation.reloginFromKeytab(UserGroupInformation.java:1257)
... 3 more
{noformat}
> TestRaceWhenRelogin fails occasionally
> --------------------------------------
>
> Key: HADOOP-14078
> URL: https://issues.apache.org/jira/browse/HADOOP-14078
> Project: Hadoop Common
> Issue Type: Bug
> Components: security
> Affects Versions: 2.9.0, 2.7.4, 2.6.6, 2.8.1, 3.0.0-alpha3
> Environment: Precommit jenkins
> Reporter: Wei-Chiu Chuang
>
> HADOOP-13433 added this test class and it failed in a few precommit jobs like
> this one:
> https://builds.apache.org/job/PreCommit-HADOOP-Build/11616/testReport/org.apache.hadoop.security/TestRaceWhenRelogin/test/
> There were a lot of errors in the test, starting with this one
> {noformat}
> 2017-02-13 12:26:01,838 ERROR impl.DefaultKdcHandler
> (DefaultKdcHandler.java:handleMessage(71)) - Error occured while processing
> request:
> org.apache.kerby.kerberos.kerb.KrbException: Integrity check on decrypted
> field failed
> at
> org.apache.kerby.kerberos.kerb.crypto.enc.KeKiEnc.decryptWith(KeKiEnc.java:127)
> at
> org.apache.kerby.kerberos.kerb.crypto.enc.AbstractEncTypeHandler.decrypt(AbstractEncTypeHandler.java:150)
> at
> org.apache.kerby.kerberos.kerb.crypto.enc.AbstractEncTypeHandler.decrypt(AbstractEncTypeHandler.java:138)
> at
> org.apache.kerby.kerberos.kerb.crypto.EncryptionHandler.decrypt(EncryptionHandler.java:228)
> at
> org.apache.kerby.kerberos.kerb.common.EncryptionUtil.unseal(EncryptionUtil.java:136)
> at
> org.apache.kerby.kerberos.kerb.server.request.TgsRequest.verifyAuthenticator(TgsRequest.java:138)
> at
> org.apache.kerby.kerberos.kerb.server.preauth.builtin.TgtPreauth.verify(TgtPreauth.java:41)
> at
> org.apache.kerby.kerberos.kerb.server.preauth.PreauthHandle.verify(PreauthHandle.java:46)
> at
> org.apache.kerby.kerberos.kerb.server.preauth.PreauthHandler.verify(PreauthHandler.java:101)
> at
> org.apache.kerby.kerberos.kerb.server.request.KdcRequest.preauth(KdcRequest.java:562)
> at
> org.apache.kerby.kerberos.kerb.server.request.KdcRequest.process(KdcRequest.java:181)
> at
> org.apache.kerby.kerberos.kerb.server.KdcHandler.handleMessage(KdcHandler.java:115)
> at
> org.apache.kerby.kerberos.kerb.server.impl.DefaultKdcHandler.handleMessage(DefaultKdcHandler.java:67)
> at
> org.apache.kerby.kerberos.kerb.server.impl.DefaultKdcHandler.run(DefaultKdcHandler.java:52)
> 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)
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]