Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.5.1
    • Component/s: WS-* Components
    • Labels:
      None
    • Environment:

      Windows, Java 7

    • Estimated Complexity:
      Unknown

      Description

      CXF based web service client with https crashes JVM. This started happening after we switched to Java 7. We are considering incorporating Java 7 for our next release and would like to know, when would be Java 7 usable with CXF.

      I have attached the Stack-trace here

      Stack: [0x245e0000,0x24630000], sp=0x2462f070, free space=316k
      Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
      C [Secur32.dll+0x75bc] DeleteSecurityContext+0x35
      C [net.dll+0xa171] Java_sun_net_www_protocol_http_ntlm_NTLMAuthSequence_getCredentialsHandle+0x195
      C [net.dll+0xa2b1] Java_sun_net_www_protocol_http_ntlm_NTLMAuthSequence_getNextToken+0x137

      Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
      j sun.net.www.protocol.http.ntlm.NTLMAuthSequence.getNextToken(J[B)[B+0
      j sun.net.www.protocol.http.ntlm.NTLMAuthSequence.getAuthHeader(Ljava/lang/String;)Ljava/lang/String;+24
      j sun.net.www.protocol.http.ntlm.NTLMAuthentication.setHeaders(Lsun/net/www/protocol/http/HttpURLConnection;Lsun/net/www/HeaderParser;Ljava/lang/String;)Z+73
      j sun.net.www.protocol.http.HttpURLConnection.getServerAuthentication(Lsun/net/www/protocol/http/AuthenticationHeader;)Lsun/net/www/protocol/http/AuthenticationInfo;+760
      j sun.net.www.protocol.http.HttpURLConnection.getInputStream()Ljava/io/InputStream;+972
      j java.net.HttpURLConnection.getResponseCode()I+16
      j sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode()I+4
      j org.apache.cxf.transport.http.HTTPConduit.processRetransmit(Ljava/net/HttpURLConnection;Lorg/apache/cxf/message/Message;Lorg/apache/cxf/io/CacheAndWriteOutputStream;)Ljava/net/HttpURLConnection;+1
      j org.apache.cxf.transport.http.HTTPConduit.access$600(Lorg/apache/cxf/transport/http/HTTPConduit;Ljava/net/HttpURLConnection;Lorg/apache/cxf/message/Message;Lorg/apache/cxf/io/CacheAndWriteOutputStream;)Ljava/net/HttpURLConnection;+4
      j org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleRetransmits()V+142
      j org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse()V+1
      j org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close()V+98
      j org.apache.cxf.transport.AbstractConduit.close(Lorg/apache/cxf/message/Message;)V+18
      j org.apache.cxf.transport.http.HTTPConduit.close(Lorg/apache/cxf/message/Message;)V+50
      j org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(Lorg/apache/cxf/message/Message;)V+9
      j org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(Lorg/apache/cxf/message/Message;)Z+88
      j org.apache.cxf.endpoint.ClientImpl.invoke(Lorg/apache/cxf/service/model/BindingOperationInfo;[Ljava/lang/Object;Ljava/util/Map;Lorg/apache/cxf/message/Exchange[Ljava/lang/Object;+282
      j org.apache.cxf.endpoint.ClientImpl.invoke(Lorg/apache/cxf/service/model/BindingOperationInfo;[Ljava/lang/Object;Lorg/apache/cxf/message/Exchange[Ljava/lang/Object;+65
      j org.apache.cxf.endpoint.ClientImpl.invoke(Lorg/apache/cxf/service/model/BindingOperationInfo;[Ljava/lang/Object[Ljava/lang/Object;+4
      j org.apache.cxf.frontend.ClientProxy.invokeSync(Ljava/lang/reflect/Method;Lorg/apache/cxf/service/model/BindingOperationInfo;[Ljava/lang/Object;)Ljava/lang/Object;+6
      j org.apache.cxf.jaxws.JaxWsClientProxy.invoke(Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;+218

        Activity

        Hide
        Daniel Kulp added a comment -

        I've gone through and run the complete CXF build with java 7:

        java version "1.7.0_01"
        Java(TM) SE Runtime Environment (build 1.7.0_01-b08)
        

        and am down to a single failure. I did have to update a bunch of HTTPs tests to specify some additional algorithms, but everything else worked fine.

        In this particular case, since the JVM is completely crashing, it's really a bug in the JVM and would need to be reported to Oracle. However, if you haven't already tried the "update 1" version of Java7, I'd suggest that.

        Show
        Daniel Kulp added a comment - I've gone through and run the complete CXF build with java 7: java version "1.7.0_01" Java(TM) SE Runtime Environment (build 1.7.0_01-b08) and am down to a single failure. I did have to update a bunch of HTTPs tests to specify some additional algorithms, but everything else worked fine. In this particular case, since the JVM is completely crashing, it's really a bug in the JVM and would need to be reported to Oracle. However, if you haven't already tried the "update 1" version of Java7, I'd suggest that.
        Hide
        Daniel Kulp added a comment - - edited

        All tests have now passed with Java 7. There are a couple of random failures that I think are timing related that still need to be investigated to get them to pass reliably, but all the features (that we have tests for) are now known to work.

        Show
        Daniel Kulp added a comment - - edited All tests have now passed with Java 7. There are a couple of random failures that I think are timing related that still need to be investigated to get them to pass reliably, but all the features (that we have tests for) are now known to work.
        Hide
        Seumas Soltysik added a comment -

        Hi Dan,
        Were these tests with Java 7 run on all supported branches(2.3 +) or just the trunk? We hava customer looking to move to Java 7 later this year.

        Show
        Seumas Soltysik added a comment - Hi Dan, Were these tests with Java 7 run on all supported branches(2.3 +) or just the trunk? We hava customer looking to move to Java 7 later this year.
        Hide
        Daniel Kulp added a comment -

        Seumas,

        At the time, just the trunk and 2.5.x branch. No idea how the other branches would do.

        Dan

        Show
        Daniel Kulp added a comment - Seumas, At the time, just the trunk and 2.5.x branch. No idea how the other branches would do. Dan
        Hide
        Ross Judson added a comment -

        I have this exact problem when I try to use the JDK's built-in JAX-WS to connect to Sharepoint 2010 web services. I submitted a VM bug report for it (7129065). Without tracing through the native code it's difficult to figure out why this fault occurs. It does not occur with JDK 6. My guess is that it has something to do with not being joined to a domain.

        It's also quite tricky to force Java's Http NOT to use NTLM, or force it to take credentials each time, instead of using the ones that are cached with the current Windows session.

        Show
        Ross Judson added a comment - I have this exact problem when I try to use the JDK's built-in JAX-WS to connect to Sharepoint 2010 web services. I submitted a VM bug report for it (7129065). Without tracing through the native code it's difficult to figure out why this fault occurs. It does not occur with JDK 6. My guess is that it has something to do with not being joined to a domain. It's also quite tricky to force Java's Http NOT to use NTLM, or force it to take credentials each time, instead of using the ones that are cached with the current Windows session.
        Hide
        Benson Margulies added a comment -

        It's quite clearly a java bug, nothing CXF can do.

        Show
        Benson Margulies added a comment - It's quite clearly a java bug, nothing CXF can do.

          People

          • Assignee:
            Daniel Kulp
            Reporter:
            Aravindan Thulasinathan
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development