[
https://issues.apache.org/jira/browse/HDFS-6674?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Harsh J resolved HDFS-6674.
---------------------------
Resolution: Invalid
The hang, if still valid, seems to result as an outcome of the underlying Java
libraries being at fault. There's not anything HDFS can control about this, and
this bug instead needs to be reported to the Oracle/OpenJDK communities with a
test case.
> UserGroupInformation.loginUserFromKeytab will hang forever if keytab file
> length is less than 6 byte.
> ------------------------------------------------------------------------------------------------------
>
> Key: HDFS-6674
> URL: https://issues.apache.org/jira/browse/HDFS-6674
> Project: Hadoop HDFS
> Issue Type: Bug
> Components: security
> Affects Versions: 2.0.1-alpha
> Reporter: liuyang
> Priority: Minor
>
> The jstack is as follows:
> java.lang.Thread.State: RUNNABLE
> at java.io.FileInputStream.available(Native Method)
> at java.io.BufferedInputStream.available(BufferedInputStream.java:399)
> - locked <0x0000000745585330> (a
> sun.security.krb5.internal.ktab.KeyTabInputStream)
> at sun.security.krb5.internal.ktab.KeyTab.load(KeyTab.java:257)
> at sun.security.krb5.internal.ktab.KeyTab.<init>(KeyTab.java:97)
> at sun.security.krb5.internal.ktab.KeyTab.getInstance0(KeyTab.java:124)
> - locked <0x0000000745586560> (a java.lang.Class for
> sun.security.krb5.internal.ktab.KeyTab)
> at sun.security.krb5.internal.ktab.KeyTab.getInstance(KeyTab.java:157)
> at javax.security.auth.kerberos.KeyTab.takeSnapshot(KeyTab.java:119)
> at
> javax.security.auth.kerberos.KeyTab.getEncryptionKeys(KeyTab.java:192)
> at
> javax.security.auth.kerberos.JavaxSecurityAuthKerberosAccessImpl.keyTabGetEncryptionKeys(JavaxSecurityAuthKerberosAccessImpl.java:36)
> at
> sun.security.jgss.krb5.Krb5Util.keysFromJavaxKeyTab(Krb5Util.java:381)
> at
> com.sun.security.auth.module.Krb5LoginModule.attemptAuthentication(Krb5LoginModule.java:701)
> at
> com.sun.security.auth.module.Krb5LoginModule.login(Krb5LoginModule.java:584)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at javax.security.auth.login.LoginContext.invoke(LoginContext.java:784)
> at
> javax.security.auth.login.LoginContext.access$000(LoginContext.java:203)
> at javax.security.auth.login.LoginContext$5.run(LoginContext.java:721)
> at javax.security.auth.login.LoginContext$5.run(LoginContext.java:719)
> at java.security.AccessController.doPrivileged(Native Method)
> at
> javax.security.auth.login.LoginContext.invokeCreatorPriv(LoginContext.java:718)
> at javax.security.auth.login.LoginContext.login(LoginContext.java:590)
> at
> org.apache.hadoop.security.UserGroupInformation.loginUserFromKeytab(UserGroupInformation.java:679)
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)