Uploaded image for project: 'TomEE'
  1. TomEE
  2. TOMEE-2106

Tomee does not encode '%' in war filename

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Auto Closed
    • None
    • None
    • None
    • None

    Description

      Tomee does not encode '%' in war filename.
      Steps to reproduce:
      1. Create sample application
      2. Build war file, which contains % in its name. For example: test%test.war
      3. Deploy it

      Exception:

      04-Aug-2017 13:09:03.125 SEVERE [localhost-startStop-1] org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal Unable to deploy collapsed ear in war StandardEngine[Catalina].StandardHost[localhost].StandardContext[/test%test]
       java.lang.IllegalArgumentException: Malformed escape pair at index 4: test%test
              at java.net.URI.create(URI.java:852)
              at org.apache.openejb.util.URLs.uri(URLs.java:96)
              at org.apache.openejb.config.AutoConfig.resolveDestinationLinks(AutoConfig.java:614)
              at org.apache.openejb.config.AutoConfig.deploy(AutoConfig.java:196)
              at org.apache.openejb.config.ConfigurationFactory$Chain.deploy(ConfigurationFactory.java:420)
              at org.apache.openejb.config.ConfigurationFactory.configureApplication(ConfigurationFactory.java:1037)
              at org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:1276)
              at org.apache.tomee.catalina.TomcatWebAppBuilder.configureStart(TomcatWebAppBuilder.java:1124)
              at org.apache.tomee.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:133)
              at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:94)
              at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5087)
              at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
              at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:752)
              at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:728)
              at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
              at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:952)
              at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1823)
              at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
              at java.util.concurrent.FutureTask.run(FutureTask.java:266)
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
              at java.lang.Thread.run(Thread.java:745)
      Caused by: java.net.URISyntaxException: Malformed escape pair at index 4: test%test
              at java.net.URI$Parser.fail(URI.java:2848)
              at java.net.URI$Parser.scanEscape(URI.java:2978)
              at java.net.URI$Parser.scan(URI.java:3001)
              at java.net.URI$Parser.checkChars(URI.java:3019)
              at java.net.URI$Parser.parseHierarchical(URI.java:3105)
              at java.net.URI$Parser.parse(URI.java:3063)
              at java.net.URI.<init>(URI.java:588)
              at java.net.URI.create(URI.java:850)
              ... 21 more
      
      04-Aug-2017 13:09:03.125 SEVERE [localhost-startStop-1] sun.reflect.NativeMethodAccessorImpl.invoke ContainerBase.removeChild: destroy:
       org.apache.catalina.LifecycleException: An invalid Lifecycle transition was attempted ([before_destroy]) for component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/test%test]] in state [STARTING_PREP]
              at org.apache.catalina.util.LifecycleBase.invalidTransition(LifecycleBase.java:402)
              at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:292)
              at org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:854)
              at org.apache.tomee.catalina.TomcatWebAppBuilder.undeploy(TomcatWebAppBuilder.java:1627)
              at org.apache.tomee.catalina.TomcatWebAppBuilder.undeploy(TomcatWebAppBuilder.java:1607)
              at org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:1307)
              at org.apache.tomee.catalina.TomcatWebAppBuilder.configureStart(TomcatWebAppBuilder.java:1124)
              at org.apache.tomee.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:133)
              at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:94)
              at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5087)
              at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
              at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:752)
              at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:728)
              at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
              at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:952)
              at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1823)
              at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
              at java.util.concurrent.FutureTask.run(FutureTask.java:266)
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
              at java.lang.Thread.run(Thread.java:745)
      
      04-Aug-2017 13:09:03.126 SEVERE [localhost-startStop-1] sun.reflect.NativeMethodAccessorImpl.invoke ContainerBase.addChild: start:
       org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/test%test]]
              at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
              at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:752)
              at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:728)
              at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
              at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:952)
              at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1823)
              at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
              at java.util.concurrent.FutureTask.run(FutureTask.java:266)
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
              at java.lang.Thread.run(Thread.java:745)
      Caused by: org.apache.tomee.catalina.TomEERuntimeException: java.lang.IllegalArgumentException: Malformed escape pair at index 4: test%test
              at org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:1310)
              at org.apache.tomee.catalina.TomcatWebAppBuilder.configureStart(TomcatWebAppBuilder.java:1124)
              at org.apache.tomee.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:133)
              at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:94)
              at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5087)
              at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
              ... 10 more
      Caused by: java.lang.IllegalArgumentException: Malformed escape pair at index 4: test%test
              at java.net.URI.create(URI.java:852)
              at org.apache.openejb.util.URLs.uri(URLs.java:96)
              at org.apache.openejb.config.AutoConfig.resolveDestinationLinks(AutoConfig.java:614)
              at org.apache.openejb.config.AutoConfig.deploy(AutoConfig.java:196)
              at org.apache.openejb.config.ConfigurationFactory$Chain.deploy(ConfigurationFactory.java:420)
              at org.apache.openejb.config.ConfigurationFactory.configureApplication(ConfigurationFactory.java:1037)
              at org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:1276)
              ... 15 more
      Caused by: java.net.URISyntaxException: Malformed escape pair at index 4: test%test
              at java.net.URI$Parser.fail(URI.java:2848)
              at java.net.URI$Parser.scanEscape(URI.java:2978)
              at java.net.URI$Parser.scan(URI.java:3001)
              at java.net.URI$Parser.checkChars(URI.java:3019)
              at java.net.URI$Parser.parseHierarchical(URI.java:3105)
              at java.net.URI$Parser.parse(URI.java:3063)
              at java.net.URI.<init>(URI.java:588)
              at java.net.URI.create(URI.java:850)
              ... 21 more
      

      Attachments

        Activity

          People

            Unassigned Unassigned
            kal0ian Kaloyan Spiridonov
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: