glassfish
  1. glassfish
  2. GLASSFISH-18376

Windows, the redeployment to DAS of an enabled app with --force=true - failed.

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 3.1.2_b23
    • Fix Version/s: 4.0
    • Component/s: deployment
    • Labels:
      None

      Description

      Build 23, Windows machines. The redeployment with --force=true to DAS failed for several apps. See, for example, error messages that were created in the server.log during redeployment of stateless-simple.ear with --force=true. I've attached stateless-simple.ear.

      EPLOYMENT stateless-simple
      [#|2012-02-17T09:35:08.501-0800|INFO|glassfish3.1.2|javax.enterprise.system.container.ejb.com.sun.ejb.containers|_ThreadID=21;_ThreadName=Thread-2;|EJB5181:Portable JNDI names for EJB TheGreeter: [java:global/stateless-simple/stateless-simpleEjb/TheGreeter, java:global/stateless-simple/stateless-simpleEjb/TheGreeter!samples.ejb.stateless.simple.ejb.GreeterHome]|#]

      [#|2012-02-17T09:35:08.501-0800|INFO|glassfish3.1.2|javax.enterprise.system.container.ejb.com.sun.ejb.containers|_ThreadID=21;_ThreadName=Thread-2;|EJB5182:Glassfish-specific (Non-portable) JNDI names for EJB TheGreeter: [greeter]|#]

      [#|2012-02-17T09:35:08.907-0800|INFO|glassfish3.1.2|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=21;_ThreadName=Thread-2;|WEB0671: Loading application stateless-simple#stateless-simple.war at [helloworld]|#]

      [#|2012-02-17T09:35:08.970-0800|INFO|glassfish3.1.2|javax.enterprise.system.tools.admin.org.glassfish.deployment.admin|_ThreadID=21;_ThreadName=Thread-2;|stateless-simple was successfully deployed in 1,344 milliseconds.|#]

      DISABLE stateless-simple
      ENABLE stateless-simple
      [#|2012-02-17T09:35:12.188-0800|INFO|glassfish3.1.2|javax.enterprise.system.container.ejb.com.sun.ejb.containers|_ThreadID=18;_ThreadName=Thread-2;|EJB5181:Portable JNDI names for EJB TheGreeter: [java:global/stateless-simple/stateless-simpleEjb/TheGreeter, java:global/stateless-simple/stateless-simpleEjb/TheGreeter!samples.ejb.stateless.simple.ejb.GreeterHome]|#]

      [#|2012-02-17T09:35:12.188-0800|INFO|glassfish3.1.2|javax.enterprise.system.container.ejb.com.sun.ejb.containers|_ThreadID=18;_ThreadName=Thread-2;|EJB5182:Glassfish-specific (Non-portable) JNDI names for EJB TheGreeter: [greeter]|#]

      [#|2012-02-17T09:35:12.548-0800|INFO|glassfish3.1.2|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=18;_ThreadName=Thread-2;|WEB0671: Loading application stateless-simple#stateless-simple.war at [helloworld]|#]

      [#|2012-02-17T09:35:12.548-0800|INFO|glassfish3.1.2|javax.enterprise.system.core.com.sun.enterprise.v3.server|_ThreadID=37;_ThreadName=Thread-2;|CORE10010: Loading application stateless-simple done in 0 ms|#]

      REDEPLOY --FORCE stateless-simple
      [#|2012-02-17T09:35:14.282-0800|WARNING|glassfish3.1.2|javax.enterprise.system.tools.deployment.com.sun.enterprise.deploy.shared|_ThreadID=19;_ThreadName=Thread-2;|DPL8031: Ignoring stateless-simple_war/ because the containing archive C:\hudson\workspace\deployment-w\glassfish3\glassfish\domains\domain1\applications\stateless-simple recorded it as a pre-existing stale file|#]

      [#|2012-02-17T09:35:14.282-0800|WARNING|glassfish3.1.2|javax.enterprise.system.tools.deployment.org.glassfish.deployment.common|_ThreadID=19;_ThreadName=Thread-2;|Exception while locating sub archive: stateless-simple.war|#]

      [#|2012-02-17T09:35:14.298-0800|WARNING|glassfish3.1.2|javax.enterprise.system.tools.deployment.com.sun.enterprise.deploy.shared|_ThreadID=19;_ThreadName=Thread-2;|DPL8031: Ignoring stateless-simple_war/ because the containing archive C:\hudson\workspace\deployment-w\glassfish3\glassfish\domains\domain1\applications\stateless-simple recorded it as a pre-existing stale file|#]

      [#|2012-02-17T09:35:14.298-0800|WARNING|glassfish3.1.2|javax.enterprise.system.tools.deployment.com.sun.enterprise.deploy.shared|_ThreadID=19;_ThreadName=Thread-2;|DPL8031: Ignoring stateless-simple_war/ because the containing archive C:\hudson\workspace\deployment-w\glassfish3\glassfish\domains\domain1\applications\stateless-simple recorded it as a pre-existing stale file|#]

      [#|2012-02-17T09:35:14.313-0800|WARNING|glassfish3.1.2|javax.enterprise.system.tools.deployment.com.sun.enterprise.deploy.shared|_ThreadID=39;_ThreadName=Thread-2;|DPL8031: Ignoring stateless-simple_war/ because the containing archive C:\hudson\workspace\deployment-w\glassfish3\glassfish\domains\domain1\applications\stateless-simple recorded it as a pre-existing stale file|#]

      [#|2012-02-17T09:35:14.329-0800|WARNING|glassfish3.1.2|javax.enterprise.system.tools.deployment.com.sun.enterprise.deploy.shared|_ThreadID=19;_ThreadName=Thread-2;|DPL8031: Ignoring stateless-simple_war/ because the containing archive C:\hudson\workspace\deployment-w\glassfish3\glassfish\domains\domain1\applications\stateless-simple recorded it as a pre-existing stale file|#]

      [#|2012-02-17T09:35:14.329-0800|WARNING|glassfish3.1.2|javax.enterprise.system.tools.deployment.com.sun.enterprise.deploy.shared|_ThreadID=19;_ThreadName=Thread-2;|DPL8031: Ignoring stateless-simple_war/ because the containing archive C:\hudson\workspace\deployment-w\glassfish3\glassfish\domains\domain1\applications\stateless-simple recorded it as a pre-existing stale file|#]

      [#|2012-02-17T09:35:14.345-0800|WARNING|glassfish3.1.2|javax.enterprise.system.tools.deployment.com.sun.enterprise.deploy.shared|_ThreadID=19;_ThreadName=Thread-2;|DPL8031: Ignoring stateless-simple_war/ because the containing archive C:\hudson\workspace\deployment-w\glassfish3\glassfish\domains\domain1\applications\stateless-simple recorded it as a pre-existing stale file|#]

      [#|2012-02-17T09:35:14.407-0800|WARNING|glassfish3.1.2|javax.enterprise.system.tools.deployment.com.sun.enterprise.deploy.shared|_ThreadID=19;_ThreadName=Thread-2;|DPL8031: Ignoring stateless-simple_war/ because the containing archive C:\hudson\workspace\deployment-w\glassfish3\glassfish\domains\domain1\applications\stateless-simple recorded it as a pre-existing stale file|#]

      [#|2012-02-17T09:35:14.407-0800|SEVERE|glassfish3.1.2|javax.enterprise.system.core.com.sun.enterprise.v3.server|_ThreadID=19;_ThreadName=Thread-2;|Exception while deploying the app [stateless-simple]|#]

      [#|2012-02-17T09:35:14.407-0800|SEVERE|glassfish3.1.2|javax.enterprise.system.core.com.sun.enterprise.v3.server|_ThreadID=19;_ThreadName=Thread-2;|Could not find sub module [stateless-simple.war] as defined in application.xml
      java.lang.IllegalArgumentException: Could not find sub module [stateless-simple.war] as defined in application.xml
      at com.sun.enterprise.deployment.archivist.ApplicationArchivist.readModulesDescriptors(ApplicationArchivist.java:585)
      at com.sun.enterprise.deployment.archivist.ApplicationArchivist.openWith(ApplicationArchivist.java:258)
      at com.sun.enterprise.deployment.archivist.ApplicationFactory.openWith(ApplicationFactory.java:240)
      at org.glassfish.javaee.core.deployment.DolProvider.load(DolProvider.java:175)
      at org.glassfish.javaee.core.deployment.DolProvider.load(DolProvider.java:94)
      at com.sun.enterprise.v3.server.ApplicationLifecycle.loadDeployer(ApplicationLifecycle.java:827)
      at com.sun.enterprise.v3.server.ApplicationLifecycle.setupContainerInfos(ApplicationLifecycle.java:769)
      at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:368)
      at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:240)
      at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:389)
      at com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:348)
      at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:363)
      at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1085)
      at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1200(CommandRunnerImpl.java:95)
      at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1291)
      at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1259)
      at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:461)
      at com.sun.enterprise.v3.admin.AdminAdapter.service(AdminAdapter.java:212)
      at com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:179)
      at com.sun.enterprise.v3.server.HK2Dispatcher.dispath(HK2Dispatcher.java:117)
      at com.sun.enterprise.v3.services.impl.ContainerMapper$Hk2DispatcherCallable.call(ContainerMapper.java:354)
      at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195)
      at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:849)
      at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:746)
      at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1045)
      at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:228)
      at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
      at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
      at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
      at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
      at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
      at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
      at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
      at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
      at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
      at java.lang.Thread.run(Thread.java:662)

      #]

      [#|2012-02-17T09:35:14.423-0800|SEVERE|glassfish3.1.2|javax.enterprise.system.tools.admin.org.glassfish.deployment.admin|_ThreadID=19;_ThreadName=Thread-2;|Exception while deploying the app [stateless-simple] : Could not find sub module [stateless-simple.war] as defined in application.xml|#]

        Issue Links

          Activity

          Hide
          Hong Zhang added a comment -

          yes, we could consider the fix for 3.1.3 (to make the same changes as trunk, make clean phase invoked as part of the disable command)

          Show
          Hong Zhang added a comment - yes, we could consider the fix for 3.1.3 (to make the same changes as trunk, make clean phase invoked as part of the disable command)
          Hide
          Shing Wai Chan added a comment -

          Per our discussion, we may consider to fix this in 3.x branch if possible.

          Show
          Shing Wai Chan added a comment - Per our discussion, we may consider to fix this in 3.x branch if possible.
          Hide
          Hong Zhang added a comment -

          Yes, the clean phase is invoked as part of the disable command in trunk which addressed the issue.

          Show
          Hong Zhang added a comment - Yes, the clean phase is invoked as part of the disable command in trunk which addressed the issue.
          Hide
          Shing Wai Chan added a comment -

          Note that
          ApplicationInfo#clean -> EarClassLoader#preDestroy -> WebappClassLoader#preDestroy -> WebappClassLoader#stop

          Should we call ApplicationInfo#clean during "disable"?

          Note that I have verified that the above issue is resolved in 4.0 trunk workspace.
          Per discussion with Hong, I will assign this bug to deployment team.

          Show
          Shing Wai Chan added a comment - Note that ApplicationInfo#clean -> EarClassLoader#preDestroy -> WebappClassLoader#preDestroy -> WebappClassLoader#stop Should we call ApplicationInfo#clean during "disable"? Note that I have verified that the above issue is resolved in 4.0 trunk workspace. Per discussion with Hong, I will assign this bug to deployment team.
          Hide
          Shing Wai Chan added a comment -

          During undeployment, ApplicationInfo#stop and then ApplicationInfo#clean are called by deployment framework. The latter will eventually invoke WebappClassLoader#stop.

          For disable, only ApplicationInfo#stop is called. Hence, the WebappClassLoader#stop is not called, and hence the file descriptors leak.

          Show
          Shing Wai Chan added a comment - During undeployment, ApplicationInfo#stop and then ApplicationInfo#clean are called by deployment framework. The latter will eventually invoke WebappClassLoader#stop. For disable, only ApplicationInfo#stop is called. Hence, the WebappClassLoader#stop is not called, and hence the file descriptors leak.

            People

            • Assignee:
              Hong Zhang
              Reporter:
              easarina
            • Votes:
              2 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: