Re: Problem when rebooting....
Rules: http://tomcat.apache.org/lists.html#tomcat-users - 6. Do not top-post. Ok, did a thread dump that resulted in the following dump..: Full thread dump Java HotSpot(TM) 64-Bit Server VM (25.25-b02 mixed mode): localhost-startStop-1 #15 daemon prio=5 os_prio=0 tid=0x7fdc84002000 nid=0x702 runnable [0x7fdc8ebe7000] java.lang.Thread.State: RUNNABLE at java.io.UnixFileSystem.checkAccess(Native Method) at java.io.File.canRead(File.java:768) at org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:1975) at org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:1971) As it is visible from the method name, the start thread is busy scanning classes for annotations. This behaviour is explained here: https://wiki.apache.org/tomcat/HowTo/FasterStartUp#General Best regards, Konstantin Kolinko - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Problem when rebooting....
On Mon, 10 Nov 2014 00:35:46 +0300 Konstantin Kolinko knst.koli...@gmail.com wrote: Rules: http://tomcat.apache.org/lists.html#tomcat-users - 6. Do not top-post. Ok, did a thread dump that resulted in the following dump..: Full thread dump Java HotSpot(TM) 64-Bit Server VM (25.25-b02 mixed mode): localhost-startStop-1 #15 daemon prio=5 os_prio=0 tid=0x7fdc84002000 nid=0x702 runnable [0x7fdc8ebe7000] java.lang.Thread.State: RUNNABLE at java.io.UnixFileSystem.checkAccess(Native Method) at java.io.File.canRead(File.java:768) at org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:1975) at org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:1971) As it is visible from the method name, the start thread is busy scanning classes for annotations. This behaviour is explained here: https://wiki.apache.org/tomcat/HowTo/FasterStartUp#General But it never finishes? And also I do not have this problem when stopping and starting the Tomcat server without booting, why is that? Shouldn't the result be the same? BTJ - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Problem when rebooting....
Bjørn T Johansen wrote: On Mon, 10 Nov 2014 00:35:46 +0300 Konstantin Kolinko knst.koli...@gmail.com wrote: Rules: http://tomcat.apache.org/lists.html#tomcat-users - 6. Do not top-post. Ok, did a thread dump that resulted in the following dump..: Full thread dump Java HotSpot(TM) 64-Bit Server VM (25.25-b02 mixed mode): localhost-startStop-1 #15 daemon prio=5 os_prio=0 tid=0x7fdc84002000 nid=0x702 runnable [0x7fdc8ebe7000] java.lang.Thread.State: RUNNABLE at java.io.UnixFileSystem.checkAccess(Native Method) at java.io.File.canRead(File.java:768) at org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:1975) at org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:1971) As it is visible from the method name, the start thread is busy scanning classes for annotations. This behaviour is explained here: https://wiki.apache.org/tomcat/HowTo/FasterStartUp#General But it never finishes? And also I do not have this problem when stopping and starting the Tomcat server without booting, why is that? Shouldn't the result be the same? http://en.wikipedia.org/wiki/Entropy_%28computing%29 Maybe your problem is there ? (When the system boots, it has little entropy available, and it may already be consumed by other processes starting around the same time). - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Problem when rebooting....
On Sun, 09 Nov 2014 23:49:54 +0100 André Warnier a...@ice-sa.com wrote: Bjørn T Johansen wrote: On Mon, 10 Nov 2014 00:35:46 +0300 Konstantin Kolinko knst.koli...@gmail.com wrote: Rules: http://tomcat.apache.org/lists.html#tomcat-users - 6. Do not top-post. Ok, did a thread dump that resulted in the following dump..: Full thread dump Java HotSpot(TM) 64-Bit Server VM (25.25-b02 mixed mode): localhost-startStop-1 #15 daemon prio=5 os_prio=0 tid=0x7fdc84002000 nid=0x702 runnable [0x7fdc8ebe7000] java.lang.Thread.State: RUNNABLE at java.io.UnixFileSystem.checkAccess(Native Method) at java.io.File.canRead(File.java:768) at org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:1975) at org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:1971) As it is visible from the method name, the start thread is busy scanning classes for annotations. This behaviour is explained here: https://wiki.apache.org/tomcat/HowTo/FasterStartUp#General But it never finishes? And also I do not have this problem when stopping and starting the Tomcat server without booting, why is that? Shouldn't the result be the same? http://en.wikipedia.org/wiki/Entropy_%28computing%29 Maybe your problem is there ? (When the system boots, it has little entropy available, and it may already be consumed by other processes starting around the same time). Hmm... Guess I'll havce to check it out... Thx... :) BTJ - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Problem when rebooting....
Hi Bjorn, I'm looking into the issue(I had been longing to contribute to community and I see some opportunity to start doing so here. Hope my effort will be welcomed!:) ) I'm looking at the code base in trunk. Here is the method where localhost-startstop thread is busy: protected void processAnnotationsFile(File file, WebXml fragment, //line 1963 boolean handlesTypesOnly) { if (file.isDirectory()) { // Returns null if directory is not readable String[] dirs = file.list();//line 1968 if (dirs != null) { for (String dir : dirs) { processAnnotationsFile(//line 1971 new File(file,dir), fragment, handlesTypesOnly); } } } else if (file.canRead() file.getName().endsWith(.class)) { try (FileInputStream fis = new FileInputStream(file)) { processAnnotationsStream(fis, fragment, handlesTypesOnly); } catch (IOException e) { log.error(sm.getString(contextConfig.inputStreamFile, file.getAbsolutePath()),e); } catch (ClassFormatException e) { log.error(sm.getString(contextConfig.inputStreamFile, file.getAbsolutePath()),e); } } } As you can see and as konstantin said, the thread is busy walking over directories listed in web-fragements. Here it is from where it is being called: protected void processAnnotations(SetWebXml fragments, boolean handlesTypesOnly) { for(WebXml fragment : fragments) { // Only need to scan for @HandlesTypes matches if any of the // following are true: // - it has already been determined only @HandlesTypes is required // (e.g. main web.xml has metadata-complete=true // - this fragment is for a container JAR (Servlet 3.1 section 8.1) // - this fragment has metadata-complete=true boolean htOnly = handlesTypesOnly || !fragment.getWebappJar() || fragment.isMetadataComplete(); WebXml annotations = new WebXml(); // no impact on distributable annotations.setDistributable(true); URL url = fragment.getURL(); processAnnotationsUrl(url, annotations, htOnly);// This in turn calls processAnnotationsFile SetWebXml set = new HashSet(); set.add(annotations); // Merge annotations into fragment - fragment takes priority fragment.merge(set); } } I'will let you know, as soon as I come to some concrete understanding. Meanwhile you can take a look at various web-fragments in your web-application. Regards, Ameer Mawia, New Delhi On Mon, Nov 10, 2014 at 4:55 AM, Bjørn T Johansen b...@havleik.no wrote: On Sun, 09 Nov 2014 23:49:54 +0100 André Warnier a...@ice-sa.com wrote: Bjørn T Johansen wrote: On Mon, 10 Nov 2014 00:35:46 +0300 Konstantin Kolinko knst.koli...@gmail.com wrote: Rules: http://tomcat.apache.org/lists.html#tomcat-users - 6. Do not top-post. Ok, did a thread dump that resulted in the following dump..: Full thread dump Java HotSpot(TM) 64-Bit Server VM (25.25-b02 mixed mode): localhost-startStop-1 #15 daemon prio=5 os_prio=0 tid=0x7fdc84002000 nid=0x702 runnable [0x7fdc8ebe7000] java.lang.Thread.State: RUNNABLE at java.io.UnixFileSystem.checkAccess(Native Method) at java.io.File.canRead(File.java:768) at org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:1975) at org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:1971) As it is visible from the method name, the start thread is busy scanning classes for annotations. This behaviour is explained here: https://wiki.apache.org/tomcat/HowTo/FasterStartUp#General But it never finishes? And also I do not have this problem when stopping and starting the Tomcat server without booting, why is that? Shouldn't the result be the same? http://en.wikipedia.org/wiki/Entropy_%28computing%29 Maybe your problem is there ? (When the system boots, it has little entropy available, and it may already be consumed by other processes starting around the same time). Hmm... Guess I'll havce to check it out... Thx... :) BTJ - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org