Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4753986

Synchronization problem when using jgss in mutithreaded applications

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Not an Issue
    • Icon: P2 P2
    • None
    • 1.4.1
    • security-libs
    • None

      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)

            rmartisunw Ramachandran Marti (Inactive)
            duke J. Duke
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: