Bug 1206177 - AdvancedLdapLoginModuleTestCase fails on RHEL5 and IBM JDK
Summary: AdvancedLdapLoginModuleTestCase fails on RHEL5 and IBM JDK
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: JBoss Enterprise Application Platform 6
Classification: JBoss
Component: Testsuite
Version: 6.4.0
Hardware: Unspecified
OS: Unspecified
unspecified
medium
Target Milestone: CR1
: EAP 6.4.3
Assignee: Ryan Emerson
QA Contact: Marek Kopecky
URL:
Whiteboard:
Depends On:
Blocks: 1231259
TreeView+ depends on / blocked
 
Reported: 2015-03-26 13:39 UTC by Marek Kopecky
Modified: 2017-01-17 10:37 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-01-17 10:37:05 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
Jenkins error logs (42.18 KB, application/zip)
2015-03-26 13:44 UTC, Marek Kopecky
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker WFLY-4815 0 Major Resolved AdvancedLdapLoginModuleTestCase fails on RHEL5 and IBM JDK 2017-03-30 08:39:59 UTC

Description Marek Kopecky 2015-03-26 13:39:55 UTC
Description of problem:
org.jboss.as.test.integration.security.loginmodules.negotiation.AdvancedLdapLoginModuleTestCase.test1 fails with:
   com.ibm.security.krb5.KrbException, status code: 101

Version-Release number of selected component (if applicable):
 EAP 6.4.0.CR1

How reproducible:
 Always

Steps to Reproduce:
1. ./integration-tests.sh -Dmaven.repo.local=$MAVEN_REPO_LOCAL -fae -Dmaven.test.failure.ignore=true -Dnode0=$MYTESTIP_1 -Dnode1=$MYTESTIP_2 -Djboss.dist=$JBOSS_DIST -Dts.basic -Dtest=AdvancedLdapLoginModuleTestCase

Actual results:
  com.ibm.security.krb5.KrbException

Expected results:
  No failures in test case.

Additional info:
See for server logs and test output:
https://jenkins.mw.lab.eng.bos.redhat.com/hudson/job/eap-6x-as-testsuite-rhel-kerberos/3/RELEASE=6.4.0,jdk=ibm1.7,label_exp=eap-sustaining%20&&%20RHEL5%20&&%20x86/

https://jenkins.mw.lab.eng.bos.redhat.com/hudson/EAP6-AS-Testsuite-Reproducers/job/eap-6x-as-testsuite-rhel-kerberos/3/

Comment 1 Marek Kopecky 2015-03-26 13:44:19 UTC
Created attachment 1006814 [details]
Jenkins error logs

Comment 2 Josef Cacek 2015-06-15 13:34:16 UTC
Summary from email sent to Ryan today:

It seems to be an IBM JDK issue on the RHEL5 (i.e. this issue is not an EAP bug).

The problem is in all tested versions of IBM JDK on RHEL 5 (both x86 and x86_64). The other supported RHEL versions (6, 7) are OK.
We tracked the problem down to the IBM GSS API implementation which fails to create KrbTgsReq object. Only the very first call fails! The subsequent calls finish without problem.

So if there is more Kerberos related tests running the first always fails, but the others finish correctly.

There is a workaround - to remove the "forwardable=true" entry from krb5.conf file. Nevertheless, we need this option in another test class which tests identity propagation so it's not an option for us.

The related part of log file says:
com.ibm.security.krb5.KrbException, status code: 101
        message: Invalid option in ticket request
        at com.ibm.security.krb5.KrbTgsReq.<init>(KrbTgsReq.java:62)
        at com.ibm.security.krb5.KrbTgsReq.<init>(KrbTgsReq.java:145)
        at com.ibm.security.krb5.internal.k.b(k.java:179)
        at com.ibm.security.krb5.internal.k.a(k.java:215)
        at com.ibm.security.krb5.Credentials.acquireServiceCreds(Credentials.java:215)
        at com.ibm.security.krb5.Credentials.acquireServiceCreds(Credentials.java:179)
        at com.ibm.security.jgss.mech.krb5.g.a(g.java:486)
        at com.ibm.security.jgss.mech.krb5.g.initSecContext(g.java:418)
        at com.ibm.security.jgss.mech.spnego.SPNEGOContext.a(SPNEGOContext.java:427)
        at com.ibm.security.jgss.mech.spnego.SPNEGOContext.initSecContext(SPNEGOContext.java:503)
        at com.ibm.security.jgss.GSSContextImpl.initSecContext(GSSContextImpl.java:26)
        at com.ibm.security.jgss.GSSContextImpl.initSecContext(GSSContextImpl.java:322)
        at org.jboss.as.test.integration.security.common.negotiation.JBossNegotiateScheme.authenticate(JBossNegotiateScheme.java:171)
        at org.apache.http.client.protocol.RequestAuthenticationBase.authenticate(RequestAuthenticationBase.java:120)
        at org.apache.http.client.protocol.RequestAuthenticationBase.process(RequestAuthenticationBase.java:83)
        at org.apache.http.client.protocol.RequestTargetAuthentication.process(RequestTargetAuthentication.java:80)
        at org.apache.http.protocol.ImmutableHttpProcessor.process(ImmutableHttpProcessor.java:131)
        at org.apache.http.protocol.HttpRequestExecutor.preProcess(HttpRequestExecutor.java:165)
        at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:485)
        at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:863)
        at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
        at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:106)
        at org.jboss.as.test.integration.security.common.Utils$2.run(Utils.java:525)
        at org.jboss.as.test.integration.security.common.Utils$2.run(Utils.java:523)
        at java.security.AccessController.doPrivileged(AccessController.java:742)
        at javax.security.auth.Subject.doAs(Subject.java:569)
        at org.jboss.as.test.integration.security.common.Utils.makeCallWithKerberosAuthn(Utils.java:523)
        at org.jboss.as.test.integration.security.loginmodules.negotiation.AdvancedLdapLoginModuleTestCase.testDeployment(AdvancedLdapLoginModuleTestCase.java:291)
        at org.jboss.as.test.integration.security.loginmodules.negotiation.AdvancedLdapLoginModuleTestCase.test3(AdvancedLdapLoginModuleTestCase.java:240)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
        at java.lang.reflect.Method.invoke(Method.java:495)
        at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
        at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
        at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
        at org.jboss.arquillian.junit.Arquillian$6$1.invoke(Arquillian.java:270)
        at org.jboss.arquillian.container.test.impl.execution.LocalTestExecuter.execute(LocalTestExecuter.java:60)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
        at java.lang.reflect.Method.invoke(Method.java:495)
        at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:90)
        at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
        at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
        at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)
        at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)
        at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67)
        at org.jboss.arquillian.container.test.impl.execution.ClientTestExecuter.execute(ClientTestExecuter.java:53)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
        at java.lang.reflect.Method.invoke(Method.java:495)
        at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:90)
        at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
        at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
        at org.jboss.arquillian.container.test.impl.client.ContainerEventController.createContext(ContainerEventController.java:142)
        at org.jboss.arquillian.container.test.impl.client.ContainerEventController.createTestContext(ContainerEventController.java:129)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
        at java.lang.reflect.Method.invoke(Method.java:495)
        at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:90)
        at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
        at org.jboss.arquillian.test.impl.TestContextHandler.createTestContext(TestContextHandler.java:89)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
        at java.lang.reflect.Method.invoke(Method.java:495)
        at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:90)
        at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
        at org.jboss.arquillian.test.impl.TestContextHandler.createClassContext(TestContextHandler.java:75)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
        at java.lang.reflect.Method.invoke(Method.java:495)
        at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:90)
        at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
        at org.jboss.arquillian.test.impl.TestContextHandler.createSuiteContext(TestContextHandler.java:60)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
        at java.lang.reflect.Method.invoke(Method.java:495)
        at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:90)
        at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
        at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)
        at org.jboss.arquillian.test.impl.EventTestRunnerAdaptor.test(EventTestRunnerAdaptor.java:111)
        at org.jboss.arquillian.junit.Arquillian$6.evaluate(Arquillian.java:263)
        at org.jboss.arquillian.junit.Arquillian$4.evaluate(Arquillian.java:226)
        at org.jboss.arquillian.junit.Arquillian.multiExecute(Arquillian.java:314)
        at org.jboss.arquillian.junit.Arquillian.access$100(Arquillian.java:46)
        at org.jboss.arquillian.junit.Arquillian$5.evaluate(Arquillian.java:240)
        at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
        at org.jboss.arquillian.junit.Arquillian$2.evaluate(Arquillian.java:185)
        at org.jboss.arquillian.junit.Arquillian.multiExecute(Arquillian.java:314)
        at org.jboss.arquillian.junit.Arquillian.access$100(Arquillian.java:46)
        at org.jboss.arquillian.junit.Arquillian$3.evaluate(Arquillian.java:199)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
        at org.jboss.arquillian.junit.Arquillian.run(Arquillian.java:147)
        at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:254)
        at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:149)
        at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124)
        at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200)
        at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153)
        at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)

Comment 3 JBoss JIRA Server 2015-06-22 13:00:43 UTC
Ryan Emerson <remerson> updated the status of jira WFLY-4815 to Coding In Progress

Comment 5 Petr Kremensky 2015-07-31 07:28:42 UTC
Verified on EAP 6.4.3.CP.CR1

Comment 6 Petr Penicka 2017-01-17 10:37:05 UTC
Retroactively bulk-closing issues from released EAP 6.4 cummulative patches.

Comment 7 Petr Penicka 2017-01-17 10:37:34 UTC
Retroactively bulk-closing issues from released EAP 6.4 cummulative patches.


Note You need to log in before you can comment on or make changes to this bug.