glassfish
  1. glassfish
  2. GLASSFISH-11013

[REGRESSION] got MarshalException for ssl/security

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Critical Critical
    • Resolution: Incomplete
    • Affects Version/s: V3
    • Fix Version/s: V3
    • Component/s: upgrade_tool
    • Labels:
      None
    • Environment:

      Operating System: All
      Platform: All

    • Issuezilla Id:
      11,013

      Description

      Sideybside upgrade from v2.1 to v3 build 72 on linux 5.0 and cli mode
      Using build v3 latest-glassfish.zip from http://glassfish.dev.java.net
      11-Nov-2009 16:14 73M

      After upgrade to v3, could not run get client stubs for application

      Steps to reproduce:
      1) install v2.1, start domain

      2) checkout quicklooks test

      set variables:
      set CVSROOT to :pserver:<your java.net id>@cvs.dev.java.net:/cvs
      set APS_HOME to point to <quicklooks workspace>/appserv-tests
      set S1AS_HOME to point to appserver or glassfish server
      set JAVA_HOME to point to 1.6.0_14
      set ANT_HOME to point to 1.6.5
      set PATH to point to $ANT_HOME/bin:$JAVA_HOME/bin:$PATH

      cvs login
      cvs co -r SJSAS91_FCS_BRANCH glassfish/appserv-tests

      cd <workspace>/appserv-tests/sqetests/security/ssl/converter

      execute ant clean build setup deploy run (do not run "ant undeploy unsetup")

      3) stop domain1

      4) install v3

      5) run "asupgrade" tool from <v3 installation>/bin/asupgrade -c

      After upgrade, run the test manually:

      [root@easqelx14 converter]# /usr/nga/v3/glassfishv3/glassfish/bin/asadmin
      get-client-stubs --appname sec-ssl-converterApp .

      Command get-client-stubs executed successfully.
      [root@easqelx14 converter]# /usr/nga/v3/glassfishv3/glassfish/bin/appclient
      -client ./sec-ssl-converterAppClient.jar
      Nov 12, 2009 8:36:01 AM
      com.sun.enterprise.transaction.JavaEETransactionManagerSimplified initDelegates
      INFO: Using
      com.sun.enterprise.transaction.jts.JavaEETransactionManagerJTSDelegate as the
      delegate
      Default Context Initialized...
      Value of key is: Converter Sample AppClient
      Caught an unexpected exception!
      java.rmi.MarshalException: CORBA COMM_FAILURE 1398079691 Maybe; nested exception is:
      org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 203 completed: Maybe
      at
      com.sun.corba.ee.impl.javax.rmi.CORBA.Util.mapSystemException(Util.java:270)
      at
      com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privateInvoke(StubInvocationHandlerImpl.java:200)
      at
      com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.invoke(StubInvocationHandlerImpl.java:147)
      at
      com.sun.corba.ee.impl.presentation.rmi.codegen.CodegenStubBase.invoke(CodegenStubBase.java:225)
      at
      com.sun.s1peqe.security.ssl.converter.ejb._ConverterRemoteHome_DynamicStub.create(com/sun/s1peqe/security/ssl/converter/ejb/_ConverterRemoteHome_DynamicStub.java)
      at
      com.sun.s1peqe.security.ssl.converter.client.ConverterClient.run(ConverterClient.java:115)
      at
      com.sun.s1peqe.security.ssl.converter.client.ConverterClient.main(ConverterClient.java:72)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at
      sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at
      sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at
      org.glassfish.appclient.client.acc.AppClientContainer.launch(AppClientContainer.java:424)
      at
      org.glassfish.appclient.client.AppClientFacade.launch(AppClientFacade.java:151)
      at
      org.glassfish.appclient.client.AppClientGroupFacade.main(AppClientGroupFacade.java:64)
      Caused by: org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 203 completed:
      Maybe
      at
      com.sun.corba.ee.impl.logging.ORBUtilSystemException.writeErrorSend(ORBUtilSystemException.java:3462)
      at
      com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.sendWithoutLock(SocketOrChannelConnectionImpl.java:1127)
      at
      com.sun.corba.ee.impl.encoding.BufferManagerWriteStream.sendFragment(BufferManagerWriteStream.java:148)
      at
      com.sun.corba.ee.impl.encoding.BufferManagerWriteStream.sendMessage(BufferManagerWriteStream.java:162)
      at
      com.sun.corba.ee.impl.encoding.CDROutputObject.finishSendingMessage(CDROutputObject.java:180)
      at
      com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.finishSendingRequest(CorbaMessageMediatorImpl.java:276)
      at
      com.sun.corba.ee.impl.protocol.CorbaClientRequestDispatcherImpl.marshalingComplete1(CorbaClientRequestDispatcherImpl.java:392)
      at
      com.sun.corba.ee.impl.protocol.CorbaClientRequestDispatcherImpl.marshalingComplete(CorbaClientRequestDispatcherImpl.java:364)
      at
      com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.invoke(CorbaClientDelegateImpl.java:235)
      at
      com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privateInvoke(StubInvocationHandlerImpl.java:187)
      ... 12 more
      Caused by: javax.net.ssl.SSLException: java.lang.RuntimeException: Unexpected
      error: java.security.InvalidAlgorithmParameterException: the trustAnchors
      parameter must be non-empty
      at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:190)
      at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1611)
      at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1574)
      at
      com.sun.net.ssl.internal.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:1557)
      at
      com.sun.net.ssl.internal.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:1483)
      at com.sun.net.ssl.internal.ssl.AppInputStream.read(AppInputStream.java:86)
      at
      com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.readFully(SocketOrChannelConnectionImpl.java:653)
      at
      com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.read(SocketOrChannelConnectionImpl.java:477)
      at
      com.sun.corba.ee.impl.protocol.giopmsgheaders.MessageBase.readGIOPHeader(MessageBase.java:133)
      at
      com.sun.corba.ee.impl.protocol.giopmsgheaders.MessageBase.readGIOPMessage(MessageBase.java:121)
      at
      com.sun.corba.ee.impl.transport.CorbaContactInfoBase.createMessageMediator(CorbaContactInfoBase.java:150)
      at
      com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.readBits(SocketOrChannelConnectionImpl.java:374)
      at
      com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.read(SocketOrChannelConnectionImpl.java:341)
      at
      com.sun.corba.ee.impl.transport.ReaderThreadImpl.doWork(ReaderThreadImpl.java:118)
      at
      com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.performWork(ThreadPoolImpl.java:492)
      at
      com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:528)
      Caused by: java.lang.RuntimeException: Unexpected error:
      java.security.InvalidAlgorithmParameterException: the trustAnchors parameter
      must be non-empty
      at sun.security.validator.PKIXValidator.<init>(PKIXValidator.java:59)
      at sun.security.validator.Validator.getInstance(Validator.java:161)
      at
      com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.getValidator(X509TrustManagerImpl.java:108)
      at
      com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:204)
      at
      com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:249)
      at
      com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1014)
      at
      com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:124)
      at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:516)
      at
      com.sun.net.ssl.internal.ssl.Handshaker.process_record(Handshaker.java:454)
      at
      com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:884)
      at
      com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1112)
      at
      com.sun.net.ssl.internal.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:744)
      at com.sun.net.ssl.internal.ssl.AppInputStream.read(AppInputStream.java:75)
      ... 10 more
      Caused by: java.security.InvalidAlgorithmParameterException: the trustAnchors
      parameter must be non-empty
      at
      java.security.cert.PKIXParameters.setTrustAnchors(PKIXParameters.java:183)
      at java.security.cert.PKIXParameters.<init>(PKIXParameters.java:103)
      at
      java.security.cert.PKIXBuilderParameters.<init>(PKIXBuilderParameters.java:87)
      at sun.security.validator.PKIXValidator.<init>(PKIXValidator.java:57)
      ... 22 more
      Generating report at
      /usr/nga/v3/workspace/v2/glassfish/appserv-tests/test_results.xml

      -----------------------------------------

      • Converter Sample AppClient: FAIL -
        -----------------------------------------
        Total PASS: 0
        Total FAIL: 1
        Total DID NOT RUN: 0
        -----------------------------------------
        in flushAll , creating new testSuiteHash
        in flushAll , creating new testSuiteHash

        Activity

        Hide
        1xpert added a comment -

        Created an attachment (id=3895)
        log

        Show
        1xpert added a comment - Created an attachment (id=3895) log
        Hide
        1xpert added a comment -

        forgot to set priority P2

        Show
        1xpert added a comment - forgot to set priority P2
        Hide
        Bobby Bissett added a comment -

        Before I try this, can you confirm that the manual steps work with v2.1 before upgrading?

        Show
        Bobby Bissett added a comment - Before I try this, can you confirm that the manual steps work with v2.1 before upgrading?
        Hide
        Bobby Bissett added a comment -

        Note: there is no 'setup' target so these instructions are incorrect:

        hostname$ pwd
        /Users/bobby/work/ws/glassfish/appserv-tests/sqetests/security/ssl/converter
        hostname$ ant clean build setup deploy run
        [...]
        BUILD FAILED
        Target "setup" does not exist in the project "SSLconverterApp".

        Am using this instead:
        ant clean build deploy run

        Show
        Bobby Bissett added a comment - Note: there is no 'setup' target so these instructions are incorrect: hostname$ pwd /Users/bobby/work/ws/glassfish/appserv-tests/sqetests/security/ssl/converter hostname$ ant clean build setup deploy run [...] BUILD FAILED Target "setup" does not exist in the project "SSLconverterApp". Am using this instead: ant clean build deploy run
        Hide
        Bobby Bissett added a comment -

        The instructions given do not work for the original v2.1 server, so I wouldn't expect them to work with
        the upgraded domain either. Please check to make sure you can run the test manually against v2.1 and
        update the issue with new instructions if you can run it. My output is below.

        hostname$ ../glassfish/bin/asadmin version
        Version = Sun GlassFish Enterprise Server v2.1
        Command version executed successfully.

        hostname$ ../glassfish/bin/appclient -client ./sec-ssl-converterAppClient.jar
        Default Context Initialized...
        Nov 13, 2009 10:23:17 AM com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread
        run
        WARNING: "IOP00710311: (INTERNAL) Worker thread Thread[p: default-threadpool; w: 3,5,ORB
        ThreadGroup] caught throwable while executing work."
        org.omg.CORBA.INTERNAL: vmcid: SUN minor code: 311 completed: No
        at
        com.sun.corba.ee.impl.logging.ORBUtilSystemException.workerThreadDoWorkThrowable(ORBUtilSystem
        Exception.java:7703)
        at
        com.sun.corba.ee.impl.logging.ORBUtilSystemException.workerThreadDoWorkThrowable(ORBUtilSystem
        Exception.java:7722)
        at
        com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:558)
        Caused by: org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 203 completed: No
        at
        com.sun.corba.ee.impl.logging.ORBUtilSystemException.writeErrorSend(ORBUtilSystemException.java:27
        21)
        at
        com.sun.corba.ee.impl.logging.ORBUtilSystemException.writeErrorSend(ORBUtilSystemException.java:27
        43)
        at
        com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.writeLock(SocketOrChannelConnecti
        onImpl.java:1065)
        at
        com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.close(SocketOrChannelConnectionIm
        pl.java:804)
        at com.sun.corba.ee.impl.transport.ReaderThreadImpl.doWork(ReaderThreadImpl.java:124)
        at
        com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:555)
        Nov 13, 2009 10:23:17 AM com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread
        run
        [etc]

        With the same server running, the test works in the sqe test harness:

        dhcp-ubur02-71-34:converter bobby$ pwd
        /Users/bobby/work/ws/glassfish/appserv-tests/sqetests/security/ssl/converter
        dhcp-ubur02-71-34:converter bobby$ ant run
        Buildfile: build.xml

        [...]
        [exec]
        [exec] -----------------------------------------
        [exec] - Converter Sample AppClient: PASS -
        [exec] -----------------------------------------
        [exec] Total PASS: 1
        [exec] Total FAIL: 0
        [exec] Total DID NOT RUN: 0
        [exec] -----------------------------------------
        [exec] in flushAll , creating new testSuiteHash
        [exec] in flushAll , creating new testSuiteHash

        [...]

        BUILD SUCCESSFUL
        Total time: 5 seconds

        Show
        Bobby Bissett added a comment - The instructions given do not work for the original v2.1 server, so I wouldn't expect them to work with the upgraded domain either. Please check to make sure you can run the test manually against v2.1 and update the issue with new instructions if you can run it. My output is below. hostname$ ../glassfish/bin/asadmin version Version = Sun GlassFish Enterprise Server v2.1 Command version executed successfully. hostname$ ../glassfish/bin/appclient -client ./sec-ssl-converterAppClient.jar Default Context Initialized... Nov 13, 2009 10:23:17 AM com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread run WARNING: "IOP00710311: (INTERNAL) Worker thread Thread[p: default-threadpool; w: 3,5,ORB ThreadGroup] caught throwable while executing work." org.omg.CORBA.INTERNAL: vmcid: SUN minor code: 311 completed: No at com.sun.corba.ee.impl.logging.ORBUtilSystemException.workerThreadDoWorkThrowable(ORBUtilSystem Exception.java:7703) at com.sun.corba.ee.impl.logging.ORBUtilSystemException.workerThreadDoWorkThrowable(ORBUtilSystem Exception.java:7722) at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:558) Caused by: org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 203 completed: No at com.sun.corba.ee.impl.logging.ORBUtilSystemException.writeErrorSend(ORBUtilSystemException.java:27 21) at com.sun.corba.ee.impl.logging.ORBUtilSystemException.writeErrorSend(ORBUtilSystemException.java:27 43) at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.writeLock(SocketOrChannelConnecti onImpl.java:1065) at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.close(SocketOrChannelConnectionIm pl.java:804) at com.sun.corba.ee.impl.transport.ReaderThreadImpl.doWork(ReaderThreadImpl.java:124) at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:555) Nov 13, 2009 10:23:17 AM com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread run [etc] With the same server running, the test works in the sqe test harness: dhcp-ubur02-71-34:converter bobby$ pwd /Users/bobby/work/ws/glassfish/appserv-tests/sqetests/security/ssl/converter dhcp-ubur02-71-34:converter bobby$ ant run Buildfile: build.xml [...] [exec] [exec] ----------------------------------------- [exec] - Converter Sample AppClient: PASS - [exec] ----------------------------------------- [exec] Total PASS: 1 [exec] Total FAIL: 0 [exec] Total DID NOT RUN: 0 [exec] ----------------------------------------- [exec] in flushAll , creating new testSuiteHash [exec] in flushAll , creating new testSuiteHash [...] BUILD SUCCESSFUL Total time: 5 seconds
        Hide
        Bobby Bissett added a comment -

        Created an attachment (id=3905)
        ear file to deploy into the server for testing

        Show
        Bobby Bissett added a comment - Created an attachment (id=3905) ear file to deploy into the server for testing
        Hide
        Bobby Bissett added a comment -

        Note from an email thread concerning this issue: the appclient call below has worked in the past with v3;
        see issue 9739. It is not working now however with v2.1 or v3. We're trying to figure out why.

        Show
        Bobby Bissett added a comment - Note from an email thread concerning this issue: the appclient call below has worked in the past with v3; see issue 9739. It is not working now however with v2.1 or v3. We're trying to figure out why.
        Hide
        Bobby Bissett added a comment -

        Here is how the test harness is actually running the test, though I've replaces the app client jar with the
        locally downloaded one:

        <path>/appclient -client <path>/sec-ssl-converterAppClient.jar -textauth -user temp -password
        temp -xml ../domains/domain1/config/sun-acc.xml

        With VMARGS set in the environment as:
        "-Djavax.net.ssl.trustStore=<path>/glassfish/domains/domain1/config/cacerts.jks -
        Djavax.net.ssl.trustStorePassword=changeit"

        With those command options and vm arguments I see the test working with both v2.1 and v3, though
        there's an error in the test reporting mechanism since I'm skipping some test step. The output for both
        servers is here:

        --begin--
        Default Context Initialized...

        ===========Beginning Simple Test=====

        $100 is : 12160.00Yen
        Yen is :0.77Euro
        Value of key is: Converter Sample AppClient
        Reporter exception occurred!
        --end--

        Show
        Bobby Bissett added a comment - Here is how the test harness is actually running the test, though I've replaces the app client jar with the locally downloaded one: <path>/appclient -client <path>/sec-ssl-converterAppClient.jar -textauth -user temp -password temp -xml ../domains/domain1/config/sun-acc.xml With VMARGS set in the environment as: "-Djavax.net.ssl.trustStore=<path>/glassfish/domains/domain1/config/cacerts.jks - Djavax.net.ssl.trustStorePassword=changeit" With those command options and vm arguments I see the test working with both v2.1 and v3, though there's an error in the test reporting mechanism since I'm skipping some test step. The output for both servers is here: -- begin -- Default Context Initialized... ===========Beginning Simple Test===== $100 is : 12160.00Yen Yen is :0.77Euro Value of key is: Converter Sample AppClient Reporter exception occurred! -- end --

          People

          • Assignee:
            Bobby Bissett
            Reporter:
            1xpert
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: