[ 
https://issues.apache.org/jira/browse/WW-4281?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Tian closed WW-4281.
--------------------------

    Resolution: Fixed

> com/opensymphony/xwork2/util/FileManager.fileNeedsReloading lead to high cpu 
> using 
> -----------------------------------------------------------------------------------
>
>                 Key: WW-4281
>                 URL: https://issues.apache.org/jira/browse/WW-4281
>             Project: Struts 2
>          Issue Type: Bug
>          Components: Annotations
>    Affects Versions: 2.2.3, 2.3.16
>         Environment: OS : IBM AIX 6.1 
> CPU : ppc 64-bit
> JDK : IBM J9 VM 1.6 SR14 64-bit
> WebLogic Server : 11gR1 ps5(10.3.6) 
> Apache Tomcat : 7.0.42
> Struts 2.2.1、2.2.3、2.3.16
>            Reporter: Chris Tian
>         Attachments: Tomcat-threaddump.rar, Weblogic-Struts 2.2.1 - 
> threaddump.rar, Weblogic-Struts 2.3.16 - threaddump.rar, high 
> cpu&threaddump.rar
>
>
> We found high cpu using when we used loadrunner to make a load test to our 
> application which is deployed on tomcat and weblogic server, then we took 
> some thread dump (kill -3 pid), the java virtual machine generated some files 
> which name liked  javacore.<date>.<pid>.<serial number>.
> By analyzing there javacore files, we found some threads were reloading 
> class, it caused high cpu using.
> com/opensymphony/xwork2/util/FileManager.fileNeedsReloading
> "[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default 
> (self-tuning)'" J9VMThread:0x00000100169A1200, j9thread_t:0x00000100167A0B00, 
> java/lang/Thread:0x0700000008420EF0, state:CW, prio=5
> at java/io/UnixFileSystem.getBooleanAttributes0(Native Method)
> at 
> java/io/UnixFileSystem.getBooleanAttributes(UnixFileSystem.java:239(Compiled 
> Code))
> at java/io/File.exists(File.java:744(Compiled Code))
> at 
> weblogic/utils/classloaders/DirectoryClassFinder.getSource(DirectoryClassFinder.java:42(Compiled
>  Code))
> at 
> weblogic/utils/classloaders/JarClassFinder.getSource(JarClassFinder.java:50(Compiled
>  Code))
> at 
> weblogic/utils/classloaders/MultiClassFinder.getSource(MultiClassFinder.java:67(Compiled
>  Code))
> at 
> weblogic/utils/classloaders/MultiClassFinder.getSource(MultiClassFinder.java:67(Compiled
>  Code))
> at 
> weblogic/utils/classloaders/MultiClassFinder.getSource(MultiClassFinder.java:67(Compiled
>  Code))
> at 
> weblogic/application/utils/CompositeWebAppFinder.getSource(CompositeWebAppFinder.java:71(Compiled
>  Code))
> at 
> weblogic/utils/classloaders/MultiClassFinder.getSource(MultiClassFinder.java:67(Compiled
>  Code))
> at 
> weblogic/utils/classloaders/MultiClassFinder.getSource(MultiClassFinder.java:67(Compiled
>  Code))
> at 
> weblogic/utils/classloaders/CodeGenClassFinder.getSource(CodeGenClassFinder.java:31(Compiled
>  Code))
> at 
> weblogic/utils/classloaders/GenericClassLoader.findResource(GenericClassLoader.java:228(Compiled
>  Code))
> at java/lang/ClassLoader.getResource(ClassLoader.java:456(Compiled Code))
> at 
> weblogic/utils/classloaders/GenericClassLoader.getResource(GenericClassLoader.java:189(Compiled
>  Code))
> at 
> weblogic/utils/classloaders/ChangeAwareClassLoader.getSuperResource(ChangeAwareClassLoader.java:147(Compiled
>  Code))
> at 
> weblogic/utils/classloaders/ChangeAwareClassLoader.getResource(ChangeAwareClassLoader.java:127(Compiled
>  Code))
> at 
> com/opensymphony/xwork2/util/ClassLoaderUtil.getResource(ClassLoaderUtil.java:103(Compiled
>  Code))
> at 
> com/opensymphony/xwork2/util/ClassLoaderUtil.getResource(ClassLoaderUtil.java:108(Compiled
>  Code))
> at 
> com/opensymphony/xwork2/util/FileManager.fileNeedsReloading(FileManager.java:69(Compiled
>  Code))
> at 
> com/opensymphony/xwork2/validator/AnnotationActionValidatorManager.loadFile(AnnotationActionValidatorManager.java:349(Compiled
>  Code))
> at 
> com/opensymphony/xwork2/validator/AnnotationActionValidatorManager.buildClassValidatorConfigs(AnnotationActionValidatorManager.java:243(Compiled
>  Code))
> at 
> com/opensymphony/xwork2/validator/AnnotationActionValidatorManager.buildValidatorConfigs(AnnotationActionValidatorManager.java:326(Compiled
>  Code))
> at 
> com/opensymphony/xwork2/validator/AnnotationActionValidatorManager.buildValidatorConfigs(AnnotationActionValidatorManager.java:314(Compiled
>  Code))
> at 
> com/opensymphony/xwork2/validator/AnnotationActionValidatorManager.buildValidatorConfigs(AnnotationActionValidatorManager.java:314(Compiled
>  Code))
> at 
> com/opensymphony/xwork2/validator/AnnotationActionValidatorManager.getValidators(AnnotationActionValidatorManager.java:81(Compiled
>  Code))
> at 
> com/opensymphony/xwork2/validator/AnnotationActionValidatorManager.validate(AnnotationActionValidatorManager.java:123(Compiled
>  Code))
> at 
> com/opensymphony/xwork2/validator/AnnotationActionValidatorManager.validate(AnnotationActionValidatorManager.java:115(Compiled
>  Code))
> at 
> com/opensymphony/xwork2/validator/AnnotationActionValidatorManager.validate(AnnotationActionValidatorManager.java:110(Compiled
>  Code))
> at 
> com/opensymphony/xwork2/validator/ValidationInterceptor.doBeforeInvocation(ValidationInterceptor.java:222(Compiled
>  Code))
> at 
> com/opensymphony/xwork2/validator/ValidationInterceptor.doIntercept(ValidationInterceptor.java:261(Compiled
>  Code))
> at 
> org/apache/struts2/interceptor/validation/AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68(Compiled
>  Code))
> at 
> com/opensymphony/xwork2/interceptor/MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98(Compiled
>  Code))
> at 
> com/opensymphony/xwork2/DefaultActionInvocation.invoke(DefaultActionInvocation.java:248(Compiled
>  Code))
> .................................
>       
> "[ACTIVE] ExecuteThread: '14' for queue: 'weblogic.kernel.Default 
> (self-tuning)'" J9VMThread:0x000001001582A200, j9thread_t:0x000001001578C940, 
> java/lang/Thread:0x070000000A8777D8, state:CW, prio=5
> at java/util/zip/ZipFile.getEntry(Native Method)
> at java/util/zip/ZipFile.getEntry(ZipFile.java:186(Compiled Code))
> at java/util/jar/JarFile.getEntry(JarFile.java:270(Compiled Code))
> at java/util/jar/JarFile.getJarEntry(JarFile.java:253(Compiled Code))
> at 
> sun/misc/URLClassPath$JarLoader.getResource(URLClassPath.java:1005(Compiled 
> Code))
> at 
> sun/misc/URLClassPath$JarLoader.findResource(URLClassPath.java:983(Compiled 
> Code))
> at sun/misc/URLClassPath.findResource(URLClassPath.java:266(Compiled Code))
> at java/net/URLClassLoader$4.run(URLClassLoader.java:763(Compiled Code))
> at java/security/AccessController.doPrivileged(AccessController.java:298)
> at java/net/URLClassLoader.findResource(URLClassLoader.java:760(Compiled 
> Code))
> at java/lang/ClassLoader.getResource(ClassLoader.java:456(Compiled Code))
> at java/lang/ClassLoader.getResource(ClassLoader.java:451(Compiled Code))
> at 
> weblogic/utils/classloaders/GenericClassLoader.getResourceInternal(GenericClassLoader.java:170(Compiled
>  Code))
> at 
> weblogic/utils/classloaders/GenericClassLoader.getResource(GenericClassLoader.java:184(Compiled
>  Code))
> at 
> weblogic/utils/classloaders/FilteringClassLoader.getResource(FilteringClassLoader.java:171(Compiled
>  Code))
> at java/lang/ClassLoader.getResource(ClassLoader.java:451(Compiled Code))
> at 
> weblogic/utils/classloaders/GenericClassLoader.getResource(GenericClassLoader.java:189(Compiled
>  Code))
> at java/lang/ClassLoader.getResource(ClassLoader.java:451(Compiled Code))
> at 
> weblogic/utils/classloaders/GenericClassLoader.getResource(GenericClassLoader.java:189(Compiled
>  Code))
> at 
> weblogic/utils/classloaders/ChangeAwareClassLoader.getSuperResource(ChangeAwareClassLoader.java:147(Compiled
>  Code))
> at 
> weblogic/utils/classloaders/ChangeAwareClassLoader.getResource(ChangeAwareClassLoader.java:127(Compiled
>  Code))
> at 
> com/opensymphony/xwork2/util/ClassLoaderUtil.getResource(ClassLoaderUtil.java:93(Compiled
>  Code))
> at 
> com/opensymphony/xwork2/util/FileManager.fileNeedsReloading(FileManager.java:69(Compiled
>  Code))
> at 
> com/opensymphony/xwork2/validator/AnnotationActionValidatorManager.loadFile(AnnotationActionValidatorManager.java:349(Compiled
>  Code))
> at 
> com/opensymphony/xwork2/validator/AnnotationActionValidatorManager.buildClassValidatorConfigs(AnnotationActionValidatorManager.java:243(Compiled
>  Code))
> at 
> com/opensymphony/xwork2/validator/AnnotationActionValidatorManager.buildValidatorConfigs(AnnotationActionValidatorManager.java:335(Compiled
>  Code))
> at 
> com/opensymphony/xwork2/validator/AnnotationActionValidatorManager.buildValidatorConfigs(AnnotationActionValidatorManager.java:314(Compiled
>  Code))
> at 
> com/opensymphony/xwork2/validator/AnnotationActionValidatorManager.buildValidatorConfigs(AnnotationActionValidatorManager.java:314(Compiled
>  Code))
> at 
> com/opensymphony/xwork2/validator/AnnotationActionValidatorManager.buildValidatorConfigs(AnnotationActionValidatorManager.java:314(Compiled
>  Code))
> at 
> com/opensymphony/xwork2/validator/AnnotationActionValidatorManager.getValidators(AnnotationActionValidatorManager.java:81(Compiled
>  Code))
> at 
> com/opensymphony/xwork2/validator/AnnotationActionValidatorManager.validate(AnnotationActionValidatorManager.java:123(Compiled
>  Code))
> at 
> com/opensymphony/xwork2/validator/AnnotationActionValidatorManager.validate(AnnotationActionValidatorManager.java:115(Compiled
>  Code))
> at 
> com/opensymphony/xwork2/validator/AnnotationActionValidatorManager.validate(AnnotationActionValidatorManager.java:110(Compiled
>  Code))
> at 
> com/opensymphony/xwork2/validator/ValidationInterceptor.doBeforeInvocation(ValidationInterceptor.java:222(Compiled
>  Code))
> at 
> com/opensymphony/xwork2/validator/ValidationInterceptor.doIntercept(ValidationInterceptor.java:261(Compiled
>  Code))
> at 
> org/apache/struts2/interceptor/validation/AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68(Compiled
>  Code))
> ..............................



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to