-
Bug
-
Resolution: Not an Issue
-
P2
-
None
-
1.4.1
-
None
-
generic
-
generic
Even when a multi-threaded application uses a different GSSContext instance in each thread, from time to time, the application throws the following exception, which seemingly indicates that there is a krb identifier update synchronization problem.
A simple program is composed to reproduce this timing related bug, the source of this program and the login and sh files I used to run it are attached.
java -Djava.security.manager= -Djava.security.policy=policy.all -Djava.security.auth.login.config=test.login -Djava.security.krb5.realm=DAVIS.JINI.SUN.COM -Djava.security.krb5.kdc=jiniautot.east.sun.com Test
KrbException: Identifier doesn't match expected value (906)
at sun.security.krb5.internal.af.a(DashoA6275:129)
at sun.security.krb5.internal.ae.a(DashoA6275:58)
at sun.security.krb5.internal.ae.<init>(DashoA6275:53)
at sun.security.krb5.KrbTgsRep.<init>(DashoA6275:44)
at sun.security.krb5.KrbTgsReq.getReply(DashoA6275:217)
at sun.security.krb5.internal.a0.a(DashoA6275:292)
at sun.security.krb5.internal.a0.a(DashoA6275:106)
at sun.security.krb5.Credentials.acquireServiceCreds(DashoA6275:467)
at sun.security.jgss.krb5.Krb5Context.initSecContext(Krb5Context.java:504)
at sun.security.jgss.GSSContextImpl.initSecContext(GSSContextImpl.java:213)
at sun.security.jgss.GSSContextImpl.initSecContext(GSSContextImpl.java:158)
at Test$2.run(Test.java:57)
at java.lang.Thread.run(Thread.java:536)
KrbException: Request is a replay (34) - Request is a replay
at sun.security.krb5.KrbTgsRep.<init>(DashoA6275:62)
at sun.security.krb5.KrbTgsReq.getReply(DashoA6275:217)
at sun.security.krb5.internal.a0.a(DashoA6275:292)
at sun.security.krb5.internal.a0.a(DashoA6275:106)
at sun.security.krb5.Credentials.acquireServiceCreds(DashoA6275:467)
at sun.security.jgss.krb5.Krb5Context.initSecContext(Krb5Context.java:504)
at sun.security.jgss.GSSContextImpl.initSecContext(GSSContextImpl.java:213)
at sun.security.jgss.GSSContextImpl.initSecContext(GSSContextImpl.java:158)
at Test$2.run(Test.java:57)
at java.lang.Thread.run(Thread.java:536)
Caused by: KrbException: Identifier doesn't match expected value (906)
at sun.security.krb5.internal.af.a(DashoA6275:129)
at sun.security.krb5.internal.ae.a(DashoA6275:58)
at sun.security.krb5.internal.ae.<init>(DashoA6275:53)
at sun.security.krb5.KrbTgsRep.<init>(DashoA6275:44)
... 9 more
GSSException: No valid credentials provided (Mechanism level: Request is a replay (34) - Request is a replay)
at sun.security.jgss.krb5.Krb5Context.initSecContext(Krb5Context.java:531)
at sun.security.jgss.GSSContextImpl.initSecContext(GSSContextImpl.java:213)
at sun.security.jgss.GSSContextImpl.initSecContext(GSSContextImpl.java:158)
at Test$2.run(Test.java:57)
at java.lang.Thread.run(Thread.java:536)
A simple program is composed to reproduce this timing related bug, the source of this program and the login and sh files I used to run it are attached.
java -Djava.security.manager= -Djava.security.policy=policy.all -Djava.security.auth.login.config=test.login -Djava.security.krb5.realm=DAVIS.JINI.SUN.COM -Djava.security.krb5.kdc=jiniautot.east.sun.com Test
KrbException: Identifier doesn't match expected value (906)
at sun.security.krb5.internal.af.a(DashoA6275:129)
at sun.security.krb5.internal.ae.a(DashoA6275:58)
at sun.security.krb5.internal.ae.<init>(DashoA6275:53)
at sun.security.krb5.KrbTgsRep.<init>(DashoA6275:44)
at sun.security.krb5.KrbTgsReq.getReply(DashoA6275:217)
at sun.security.krb5.internal.a0.a(DashoA6275:292)
at sun.security.krb5.internal.a0.a(DashoA6275:106)
at sun.security.krb5.Credentials.acquireServiceCreds(DashoA6275:467)
at sun.security.jgss.krb5.Krb5Context.initSecContext(Krb5Context.java:504)
at sun.security.jgss.GSSContextImpl.initSecContext(GSSContextImpl.java:213)
at sun.security.jgss.GSSContextImpl.initSecContext(GSSContextImpl.java:158)
at Test$2.run(Test.java:57)
at java.lang.Thread.run(Thread.java:536)
KrbException: Request is a replay (34) - Request is a replay
at sun.security.krb5.KrbTgsRep.<init>(DashoA6275:62)
at sun.security.krb5.KrbTgsReq.getReply(DashoA6275:217)
at sun.security.krb5.internal.a0.a(DashoA6275:292)
at sun.security.krb5.internal.a0.a(DashoA6275:106)
at sun.security.krb5.Credentials.acquireServiceCreds(DashoA6275:467)
at sun.security.jgss.krb5.Krb5Context.initSecContext(Krb5Context.java:504)
at sun.security.jgss.GSSContextImpl.initSecContext(GSSContextImpl.java:213)
at sun.security.jgss.GSSContextImpl.initSecContext(GSSContextImpl.java:158)
at Test$2.run(Test.java:57)
at java.lang.Thread.run(Thread.java:536)
Caused by: KrbException: Identifier doesn't match expected value (906)
at sun.security.krb5.internal.af.a(DashoA6275:129)
at sun.security.krb5.internal.ae.a(DashoA6275:58)
at sun.security.krb5.internal.ae.<init>(DashoA6275:53)
at sun.security.krb5.KrbTgsRep.<init>(DashoA6275:44)
... 9 more
GSSException: No valid credentials provided (Mechanism level: Request is a replay (34) - Request is a replay)
at sun.security.jgss.krb5.Krb5Context.initSecContext(Krb5Context.java:531)
at sun.security.jgss.GSSContextImpl.initSecContext(GSSContextImpl.java:213)
at sun.security.jgss.GSSContextImpl.initSecContext(GSSContextImpl.java:158)
at Test$2.run(Test.java:57)
at java.lang.Thread.run(Thread.java:536)