Ok, I found it. Say that in my case I have a virtual host www.foohttp://www.foo.o/.com which is not defined as host in Jbossweb config file. When it is deployed, org.jboss.web.tomcat.service.deployers.TomcatDeployment.mapVirtualHosts tries to map the virtual host to a configured host, fail to find one that maps to the virtual name and create an alias to localhost, the default host.
It then returns the mapped host name, in this case "localhost" back to TomcatDeployment.performDeploy, which calls performDeployInternal. There an object name with content
jboss.web:j2eeType=WebModule,name=//localhost/,J2EEApplication=none,J2EEServer=none and checked against the registry. It already exsist since ROOT.war is deployed to that as well so an exception with message "Web mapping already exsists" is thrown.
The workaround should be to create host entries for each virtual host in JBossWeb config. I'll check if there i a jiira entry, otherwise create one