On 08.11.2014 17:59, Konstantin Kolinko wrote:
Thanks for all your input. Given the fact this has happened recently on three totally different systems and OSes (no network drives involved), I'd say it would be strange if there was a hardware defect - and also there is none known on any of the three systems, however this is something I'll further investigate. I'm not very familiar with the syntax here, does the jndi: URL refer to a file in the tomcat's work/localhost/... directory? we have unpackWAR=false, or is the class read directly from the WAR file?2014-11-06 19:33 GMT+03:00 Matthias Keller <matthias.kel...@ergon.ch>:HiWe have a spurious problem which still happened quite a few times but is not really reproducible since it only occurs on every 1000. startup or something. The effect is that tomcat scans all class files but somewhere something goes wrong and it tries to load an invalid class name which is often a combination of two effectively existing class names. It is confimed to occur on 7.0.55 with Java7, however it's likely not to be bound to a single version as we've seen it at different sites lately. example with to garbled classes: (3.class being the first, which must come from SomeClass$3.class and the second one being something awefully beautiful: ConfigEdiAtourtAhpepnltiiccaattiioonn$SAtpaptlei$cIadteinotniCfo^@^@iigeLro.acdlLaissstener.class ) INFO: Starting Servlet Engine: Apache Tomcat/7.0.55 Oct 28, 2014 10:13:15 AM org.apache.catalina.startup.HostConfig deployWAR INFO: Deploying web application archive /opt/tomcat/webapps/test-admin.war Oct 28, 2014 10:13:22 AM org.apache.catalina.startup.ContextConfig processAnnotationsJndi SEVERE: Unable to process resource element [jndi:/localhost/test-admin/WEB-INF/classes/ch/something/3.class] for annotations java.io.FileNotFoundException: jndi:/localhost/test-admin/WEB-INF/classes/ch/something/3.class at org.apache.naming.resources.DirContextURLConnection.getInputStream(DirContextURLConnection.java:389) at org.apache.catalina.startup.ContextConfig.processAnnotationsJndi(ContextConfig.java:1994) at org.apache.catalina.startup.ContextConfig.processAnnotationsJndi(ContextConfig.java:1986) at org.apache.catalina.startup.ContextConfig.processAnnotationsJndi(ContextConfig.java:1986) at org.apache.catalina.startup.ContextConfig.processAnnotationsJndi(ContextConfig.java:1986) at org.apache.catalina.startup.ContextConfig.processAnnotationsJndi(ContextConfig.java:1986) at org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfig.java:1902) at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1298) at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:876)At that place Tomcat essentially asks you hard drive for the list of files in WEB-INF/classes directory and opens each file that has name ending with ".class". Essentially the directory listing returns some garbage. I do not think that Tomcat code is responsible for that. Is your hardware OK? Is it a local harddrive, or a network one?
Thanks Matt
smime.p7s
Description: S/MIME Cryptographic Signature