You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Vasily Zakharov (JIRA)" <ji...@apache.org> on 2006/12/11 17:33:23 UTC

[jira] Created: (HARMONY-2615) [drlvm][test] Stress test for massive class loading from bootclasspath

[drlvm][test] Stress test for massive class loading from bootclasspath
----------------------------------------------------------------------

                 Key: HARMONY-2615
                 URL: http://issues.apache.org/jira/browse/HARMONY-2615
             Project: Harmony
          Issue Type: Test
          Components: DRLVM
            Reporter: Vasily Zakharov


This is a stress test which loads all the classes it finds in VM bootclasspath using simple Class.forName() call.
 
Not all of the classes are supposed to be loaded correctly this way, so the test ignores any class loading errors - its main purpose is to make sure VM survives loading of thousands classes without crashes. Also, investigating why particular classes fail to load may provide clues to some new bugs in VM or classlib.

I recommend including this test to some Harmony test suite that is run regularly, as it may detect many VM issues that may occur in future.

Currently this test crashes both on Windows/IA32 and Linux/IA32 in a very strange way - at some point, unhandled exception occurs inside the catch(Throwable) block:

9879: org.mmtk.plan.Plan
java.lang.ClassNotFoundException: null.Factory
        at java.lang.Class.forName(Unknown Source)
        at java.lang.Class.forName(Unknown Source)
        at org.mmtk.vm.VM.<clinit>(Unknown Source)
        at org.mmtk.utility.Constants.<clinit>(Unknown Source)
        at org.mmtk.plan.Plan.<clinit>(Unknown Source)
        at java.lang.VMClassRegistry.initializeClass(Native Method)
        at java.lang.Class.forName(Unknown Source)
        at java.lang.Class.forName(Unknown Source)
        at CrashTestBCP.load(CrashTestBCP.java:75)
        at CrashTestBCP.main(CrashTestBCP.java:98)


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (HARMONY-2615) [drlvm][test] Stress test for massive class loading from bootclasspath

Posted by "Vasily Zakharov (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/HARMONY-2615?page=comments#action_12457828 ] 
            
Vasily Zakharov commented on HARMONY-2615:
------------------------------------------

On RI (jdk1.5.0_07 Win32), this test completes successfuly, after loading 13740 classes with two errors:

ERROR at class com.sun.management.OperatingSystem:
java.lang.UnsatisfiedLinkError: initialize
	at com.sun.management.OperatingSystem.initialize(Native Method)
	at com.sun.management.OperatingSystem.<clinit>(OperatingSystem.java:45)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:164)
	at CrashTestBCP.load(CrashTestBCP.java:101)
	at CrashTestBCP.main(CrashTestBCP.java:116)

ERROR at class sun.jdbc.odbc.JdbcOdbcPlatform:
java.lang.UnsatisfiedLinkError: getSQLLENSize
	at sun.jdbc.odbc.JdbcOdbc.getSQLLENSize(Native Method)
	at sun.jdbc.odbc.JdbcOdbcPlatform.<clinit>(JdbcOdbcPlatform.java:82)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:164)
	at CrashTestBCP.load(CrashTestBCP.java:101)
	at CrashTestBCP.main(CrashTestBCP.java:116)

On DRLVM the test currently terminates (see HARMONY-2650) after loading 9965 classes with the following errors:

ERROR at class com.ibm.icu4jni.converters.ByteToCharConverterICU:
java.lang.ClassNotFoundException: com.ibm.icu4jni.converters.ByteToCharConverterICU
	at java.net.URLClassLoader.findClass(URLClassLoader.java:625)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader$SystemClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at java.lang.Class.forName(Unknown Source)
	at java.lang.Class.forName(Unknown Source)
	at CrashTestBCP.load(CrashTestBCP.java:98)
	at CrashTestBCP.main(CrashTestBCP.java:115)

ERROR at class com.ibm.icu4jni.converters.ByteToCharGB18030:
java.lang.ClassNotFoundException: com.ibm.icu4jni.converters.ByteToCharGB18030
	at java.net.URLClassLoader.findClass(URLClassLoader.java:625)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader$SystemClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at java.lang.Class.forName(Unknown Source)
	at java.lang.Class.forName(Unknown Source)
	at CrashTestBCP.load(CrashTestBCP.java:98)
	at CrashTestBCP.main(CrashTestBCP.java:115)

ERROR at class com.ibm.icu4jni.converters.CharToByteConverterICU:
java.lang.ClassNotFoundException: com.ibm.icu4jni.converters.CharToByteConverterICU
	at java.net.URLClassLoader.findClass(URLClassLoader.java:625)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader$SystemClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at java.lang.Class.forName(Unknown Source)
	at java.lang.Class.forName(Unknown Source)
	at CrashTestBCP.load(CrashTestBCP.java:98)
	at CrashTestBCP.main(CrashTestBCP.java:115)

ERROR at class com.ibm.icu4jni.converters.CharToByteGB18030:
java.lang.ClassNotFoundException: com.ibm.icu4jni.converters.CharToByteGB18030
	at java.net.URLClassLoader.findClass(URLClassLoader.java:625)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader$SystemClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at java.lang.Class.forName(Unknown Source)
	at java.lang.Class.forName(Unknown Source)
	at CrashTestBCP.load(CrashTestBCP.java:98)
	at CrashTestBCP.main(CrashTestBCP.java:115)

ERROR at class java.util.concurrent.ScheduledThreadPoolExecutor:
java.lang.UnsatisfiedLinkError: java/util/concurrent/atomic/AtomicLong.VMSupportsCS8()Z
	at java.util.concurrent.atomic.AtomicLong.<clinit>(AtomicLong.java:27)
	at java.util.concurrent.ScheduledThreadPoolExecutor.<clinit>(ScheduledThreadPoolExecutor.java:52)
	at java.lang.VMClassRegistry.initializeClass(Native Method)
	at java.lang.Class.forName(Unknown Source)
	at java.lang.Class.forName(Unknown Source)
	at CrashTestBCP.load(CrashTestBCP.java:98)
	at CrashTestBCP.main(CrashTestBCP.java:115)

ERROR at class java.util.concurrent.atomic.AtomicLong:
java.lang.NoClassDefFoundError: java/util/concurrent/atomic/AtomicLong
	at java.lang.VMClassRegistry.initializeClass(Native Method)
	at java.lang.Class.forName(Unknown Source)
	at java.lang.Class.forName(Unknown Source)
	at CrashTestBCP.load(CrashTestBCP.java:98)
	at CrashTestBCP.main(CrashTestBCP.java:115)

ERROR at class org.apache.harmony.awt.gl.opengl.OGLBlitter:
java.lang.UnsatisfiedLinkError: Can not find the library: oglwrapper.dll
	at java.lang.Runtime.loadLibrary0(Unknown Source)
	at java.lang.System.loadLibrary(Unknown Source)
	at org.apache.harmony.awt.gl.opengl.GL.<init>(GL.java:41)
	at org.apache.harmony.awt.gl.opengl.GL.getInstance(GL.java:35)
	at org.apache.harmony.awt.gl.opengl.OGLBlitter.<clinit>(OGLBlitter.java)
	at java.lang.VMClassRegistry.initializeClass(Native Method)
	at java.lang.Class.forName(Unknown Source)
	at java.lang.Class.forName(Unknown Source)
	at CrashTestBCP.load(CrashTestBCP.java:98)
	at CrashTestBCP.main(CrashTestBCP.java:115)

ERROR at class org.apache.harmony.awt.gl.opengl.OGLGraphics2D:
java.lang.UnsatisfiedLinkError: Can not find the library: oglwrapper.dll
	at java.lang.Runtime.loadLibrary0(Unknown Source)
	at java.lang.System.loadLibrary(Unknown Source)
	at org.apache.harmony.awt.gl.opengl.GL.<init>(GL.java:41)
	at org.apache.harmony.awt.gl.opengl.GL.getInstance(GL.java:35)
	at org.apache.harmony.awt.gl.opengl.OGLGraphics2D.<clinit>(OGLGraphics2D.java:107)
	at java.lang.VMClassRegistry.initializeClass(Native Method)
	at java.lang.Class.forName(Unknown Source)
	at java.lang.Class.forName(Unknown Source)
	at CrashTestBCP.load(CrashTestBCP.java:98)
	at CrashTestBCP.main(CrashTestBCP.java:115)

ERROR at class org.apache.yoko.rmi.impl.PortableRemoteObjectExtImpl:
java.lang.Error: java.lang.NoSuchFieldException: classes
	at org.apache.yoko.rmi.util.ClassLoaderLocal$1.run(ClassLoaderLocal.java:118)
	at java.security.AccessController.doPrivilegedImpl(Unknown Source)
	at java.security.AccessController.doPrivileged(Unknown Source)
	at org.apache.yoko.rmi.util.ClassLoaderLocal.<clinit>(ClassLoaderLocal.java:110)
	at org.apache.yoko.rmi.impl.PortableRemoteObjectExtImpl.<clinit>(PortableRemoteObjectExtImpl.java:28)
	at java.lang.VMClassRegistry.initializeClass(Native Method)
	at java.lang.Class.forName(Unknown Source)
	at java.lang.Class.forName(Unknown Source)
	at CrashTestBCP.load(CrashTestBCP.java:98)
	at CrashTestBCP.main(CrashTestBCP.java:115)
Caused by: java.lang.NoSuchFieldException: classes
	at java.lang.Class.getDeclaredField(Unknown Source)
	at org.apache.yoko.rmi.util.ClassLoaderLocal$1.run(ClassLoaderLocal.java:113)
	at java.security.AccessController.doPrivilegedImpl(Unknown Source)
	... 8 more

ERROR at class org.apache.yoko.rmi.util.ClassLoaderLocal:
java.lang.NoClassDefFoundError: org/apache/yoko/rmi/util/ClassLoaderLocal
	at java.lang.VMClassRegistry.initializeClass(Native Method)
	at java.lang.Class.forName(Unknown Source)
	at java.lang.Class.forName(Unknown Source)
	at CrashTestBCP.load(CrashTestBCP.java:98)
	at CrashTestBCP.main(CrashTestBCP.java:115)

java.lang.ClassNotFoundException: null.Factory
	at java.lang.Class.forName(Unknown Source)
	at java.lang.Class.forName(Unknown Source)
	at org.mmtk.vm.VM.<clinit>(Unknown Source)
	at org.mmtk.utility.Constants.<clinit>(Unknown Source)
	at org.mmtk.plan.Plan.<clinit>(Unknown Source)
	at java.lang.VMClassRegistry.initializeClass(Native Method)
	at java.lang.Class.forName(Unknown Source)
	at java.lang.Class.forName(Unknown Source)
	at CrashTestBCP.load(CrashTestBCP.java:98)
	at CrashTestBCP.main(CrashTestBCP.java:115)

Probably some of these errors should be reported as separate issues.


> [drlvm][test] Stress test for massive class loading from bootclasspath
> ----------------------------------------------------------------------
>
>                 Key: HARMONY-2615
>                 URL: http://issues.apache.org/jira/browse/HARMONY-2615
>             Project: Harmony
>          Issue Type: Test
>          Components: DRLVM
>            Reporter: Vasily Zakharov
>         Attachments: CrashTestBCP.java
>
>
> This is a stress test which loads all the classes it finds in VM bootclasspath using simple Class.forName() call.
>  
> Not all of the classes are supposed to be loaded correctly this way, so the test ignores any class loading errors - its main purpose is to make sure VM survives loading thousands of classes without a crash. Also, investigating why particular classes fail to load may provide clues to some other bugs in VM or classlib.
> I recommend including this test to some Harmony test suite that is run regularly, as it may detect many VM issues that may occur in future.
> Currently this test crashes both on Windows/IA32 and Linux/IA32 in a very strange way - at some point, unhandled exception occurs inside the catch(Throwable) block:
> 9879: org.mmtk.plan.Plan
> java.lang.ClassNotFoundException: null.Factory
>         at java.lang.Class.forName(Unknown Source)
>         at java.lang.Class.forName(Unknown Source)
>         at org.mmtk.vm.VM.<clinit>(Unknown Source)
>         at org.mmtk.utility.Constants.<clinit>(Unknown Source)
>         at org.mmtk.plan.Plan.<clinit>(Unknown Source)
>         at java.lang.VMClassRegistry.initializeClass(Native Method)
>         at java.lang.Class.forName(Unknown Source)
>         at java.lang.Class.forName(Unknown Source)
>         at CrashTestBCP.load(CrashTestBCP.java:75)
>         at CrashTestBCP.main(CrashTestBCP.java:98)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (HARMONY-2615) [drlvm][test] Stress test for massive class loading from bootclasspath

Posted by "Vasily Zakharov (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/HARMONY-2615?page=comments#action_12457824 ] 
            
Vasily Zakharov commented on HARMONY-2615:
------------------------------------------

Some ideas on improving the test:

- Printing the list of classes that failed to load after the run completion. This could help localizing more bugs in VM by investigating the particular class loading errors.

- Make class name acquisition multi-threaded.

- Make class loading multi-threaded, to increase stressing.


> [drlvm][test] Stress test for massive class loading from bootclasspath
> ----------------------------------------------------------------------
>
>                 Key: HARMONY-2615
>                 URL: http://issues.apache.org/jira/browse/HARMONY-2615
>             Project: Harmony
>          Issue Type: Test
>          Components: DRLVM
>            Reporter: Vasily Zakharov
>         Attachments: CrashTestBCP.java
>
>
> This is a stress test which loads all the classes it finds in VM bootclasspath using simple Class.forName() call.
>  
> Not all of the classes are supposed to be loaded correctly this way, so the test ignores any class loading errors - its main purpose is to make sure VM survives loading thousands of classes without a crash. Also, investigating why particular classes fail to load may provide clues to some other bugs in VM or classlib.
> I recommend including this test to some Harmony test suite that is run regularly, as it may detect many VM issues that may occur in future.
> Currently this test crashes both on Windows/IA32 and Linux/IA32 in a very strange way - at some point, unhandled exception occurs inside the catch(Throwable) block:
> 9879: org.mmtk.plan.Plan
> java.lang.ClassNotFoundException: null.Factory
>         at java.lang.Class.forName(Unknown Source)
>         at java.lang.Class.forName(Unknown Source)
>         at org.mmtk.vm.VM.<clinit>(Unknown Source)
>         at org.mmtk.utility.Constants.<clinit>(Unknown Source)
>         at org.mmtk.plan.Plan.<clinit>(Unknown Source)
>         at java.lang.VMClassRegistry.initializeClass(Native Method)
>         at java.lang.Class.forName(Unknown Source)
>         at java.lang.Class.forName(Unknown Source)
>         at CrashTestBCP.load(CrashTestBCP.java:75)
>         at CrashTestBCP.main(CrashTestBCP.java:98)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (HARMONY-2615) [drlvm][test] Stress test for massive class loading from bootclasspath

Posted by "Vasily Zakharov (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-2615?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12465049 ] 

Vasily Zakharov commented on HARMONY-2615:
------------------------------------------

At r496561/WinXP/DRLVM/JIT, the test crashes after loading 800 classes with the following diagnostic:

Assertion failed!
File: classloader.cpp
Line: 1490
Expression: !exn_raised()

On interpreter, the test stalls after loading 312 classes.


> [drlvm][test] Stress test for massive class loading from bootclasspath
> ----------------------------------------------------------------------
>
>                 Key: HARMONY-2615
>                 URL: https://issues.apache.org/jira/browse/HARMONY-2615
>             Project: Harmony
>          Issue Type: Test
>          Components: DRLVM
>            Reporter: Vasily Zakharov
>         Attachments: CrashTestBCP.java, CrashTestBCP2.java
>
>
> This is a stress test which loads all the classes it finds in VM bootclasspath using simple Class.forName() call.
>  
> Not all of the classes are supposed to be loaded correctly this way, so the test ignores any class loading errors - its main purpose is to make sure VM survives loading thousands of classes without a crash. Also, investigating why particular classes fail to load may provide clues to some other bugs in VM or classlib.
> I recommend including this test to some Harmony test suite that is run regularly, as it may detect many VM issues that may occur in future.
> Currently this test crashes both on Windows/IA32 and Linux/IA32 in a very strange way - at some point, unhandled exception occurs inside the catch(Throwable) block:
> 9879: org.mmtk.plan.Plan
> java.lang.ClassNotFoundException: null.Factory
>         at java.lang.Class.forName(Unknown Source)
>         at java.lang.Class.forName(Unknown Source)
>         at org.mmtk.vm.VM.<clinit>(Unknown Source)
>         at org.mmtk.utility.Constants.<clinit>(Unknown Source)
>         at org.mmtk.plan.Plan.<clinit>(Unknown Source)
>         at java.lang.VMClassRegistry.initializeClass(Native Method)
>         at java.lang.Class.forName(Unknown Source)
>         at java.lang.Class.forName(Unknown Source)
>         at CrashTestBCP.load(CrashTestBCP.java:75)
>         at CrashTestBCP.main(CrashTestBCP.java:98)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (HARMONY-2615) [drlvm][test] Stress test for massive class loading from bootclasspath

Posted by "Vasily Zakharov (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/HARMONY-2615?page=comments#action_12460712 ] 
            
Vasily Zakharov commented on HARMONY-2615:
------------------------------------------

Another Yoko issue was fixed after being discussed here:
http://thread.gmane.org/gmane.comp.java.harmony.devel/22134


> [drlvm][test] Stress test for massive class loading from bootclasspath
> ----------------------------------------------------------------------
>
>                 Key: HARMONY-2615
>                 URL: http://issues.apache.org/jira/browse/HARMONY-2615
>             Project: Harmony
>          Issue Type: Test
>          Components: DRLVM
>            Reporter: Vasily Zakharov
>         Attachments: CrashTestBCP.java, CrashTestBCP2.java
>
>
> This is a stress test which loads all the classes it finds in VM bootclasspath using simple Class.forName() call.
>  
> Not all of the classes are supposed to be loaded correctly this way, so the test ignores any class loading errors - its main purpose is to make sure VM survives loading thousands of classes without a crash. Also, investigating why particular classes fail to load may provide clues to some other bugs in VM or classlib.
> I recommend including this test to some Harmony test suite that is run regularly, as it may detect many VM issues that may occur in future.
> Currently this test crashes both on Windows/IA32 and Linux/IA32 in a very strange way - at some point, unhandled exception occurs inside the catch(Throwable) block:
> 9879: org.mmtk.plan.Plan
> java.lang.ClassNotFoundException: null.Factory
>         at java.lang.Class.forName(Unknown Source)
>         at java.lang.Class.forName(Unknown Source)
>         at org.mmtk.vm.VM.<clinit>(Unknown Source)
>         at org.mmtk.utility.Constants.<clinit>(Unknown Source)
>         at org.mmtk.plan.Plan.<clinit>(Unknown Source)
>         at java.lang.VMClassRegistry.initializeClass(Native Method)
>         at java.lang.Class.forName(Unknown Source)
>         at java.lang.Class.forName(Unknown Source)
>         at CrashTestBCP.load(CrashTestBCP.java:75)
>         at CrashTestBCP.main(CrashTestBCP.java:98)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (HARMONY-2615) [drlvm][test] Stress test for massive class loading from bootclasspath

Posted by "Vasily Zakharov (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/HARMONY-2615?page=comments#action_12458188 ] 
            
Vasily Zakharov commented on HARMONY-2615:
------------------------------------------

NOTE: To see the list of classes that failed to load, redirect stderr from the test to a file, like this:

C:\> java CrashTestBCP.java 2> errors.txt

(working progress is printed to stdout, and loading errors are printed to stderr)


> [drlvm][test] Stress test for massive class loading from bootclasspath
> ----------------------------------------------------------------------
>
>                 Key: HARMONY-2615
>                 URL: http://issues.apache.org/jira/browse/HARMONY-2615
>             Project: Harmony
>          Issue Type: Test
>          Components: DRLVM
>            Reporter: Vasily Zakharov
>         Attachments: CrashTestBCP.java
>
>
> This is a stress test which loads all the classes it finds in VM bootclasspath using simple Class.forName() call.
>  
> Not all of the classes are supposed to be loaded correctly this way, so the test ignores any class loading errors - its main purpose is to make sure VM survives loading thousands of classes without a crash. Also, investigating why particular classes fail to load may provide clues to some other bugs in VM or classlib.
> I recommend including this test to some Harmony test suite that is run regularly, as it may detect many VM issues that may occur in future.
> Currently this test crashes both on Windows/IA32 and Linux/IA32 in a very strange way - at some point, unhandled exception occurs inside the catch(Throwable) block:
> 9879: org.mmtk.plan.Plan
> java.lang.ClassNotFoundException: null.Factory
>         at java.lang.Class.forName(Unknown Source)
>         at java.lang.Class.forName(Unknown Source)
>         at org.mmtk.vm.VM.<clinit>(Unknown Source)
>         at org.mmtk.utility.Constants.<clinit>(Unknown Source)
>         at org.mmtk.plan.Plan.<clinit>(Unknown Source)
>         at java.lang.VMClassRegistry.initializeClass(Native Method)
>         at java.lang.Class.forName(Unknown Source)
>         at java.lang.Class.forName(Unknown Source)
>         at CrashTestBCP.load(CrashTestBCP.java:75)
>         at CrashTestBCP.main(CrashTestBCP.java:98)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Updated: (HARMONY-2615) [buildtest][stress] Stress test for massive class loading from bootclasspath

Posted by "Mikhail Markov (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-2615?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Mikhail Markov updated HARMONY-2615:
------------------------------------

    Component/s:     (was: DRLVM)
                 build - test - ci
        Summary: [buildtest][stress] Stress test for massive class loading from bootclasspath  (was: [drlvm][test] Stress test for massive class loading from bootclasspath)

> [buildtest][stress] Stress test for massive class loading from bootclasspath
> ----------------------------------------------------------------------------
>
>                 Key: HARMONY-2615
>                 URL: https://issues.apache.org/jira/browse/HARMONY-2615
>             Project: Harmony
>          Issue Type: Test
>          Components: build - test - ci
>            Reporter: Vasily Zakharov
>         Attachments: ClassLoadingStress.java, ClassLoadingStressTest.java, CrashTestBCP.java, CrashTestBCP2.java
>
>
> This is a stress test which loads all the classes it finds in VM bootclasspath using simple Class.forName() call.
>  
> Not all of the classes are supposed to be loaded correctly this way, so the test ignores any class loading errors - its main purpose is to make sure VM survives loading thousands of classes without a crash. Also, investigating why particular classes fail to load may provide clues to some other bugs in VM or classlib.
> I recommend including this test to some Harmony test suite that is run regularly, as it may detect many VM issues that may occur in future.
> Currently this test crashes both on Windows/IA32 and Linux/IA32 in a very strange way - at some point, unhandled exception occurs inside the catch(Throwable) block:
> 9879: org.mmtk.plan.Plan
> java.lang.ClassNotFoundException: null.Factory
>         at java.lang.Class.forName(Unknown Source)
>         at java.lang.Class.forName(Unknown Source)
>         at org.mmtk.vm.VM.<clinit>(Unknown Source)
>         at org.mmtk.utility.Constants.<clinit>(Unknown Source)
>         at org.mmtk.plan.Plan.<clinit>(Unknown Source)
>         at java.lang.VMClassRegistry.initializeClass(Native Method)
>         at java.lang.Class.forName(Unknown Source)
>         at java.lang.Class.forName(Unknown Source)
>         at CrashTestBCP.load(CrashTestBCP.java:75)
>         at CrashTestBCP.main(CrashTestBCP.java:98)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HARMONY-2615) [drlvm][test] Stress test for massive class loading from bootclasspath

Posted by "Vasily Zakharov (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/HARMONY-2615?page=all ]

Vasily Zakharov updated HARMONY-2615:
-------------------------------------

    Attachment: CrashTestBCP.java

The stress test code.

> [drlvm][test] Stress test for massive class loading from bootclasspath
> ----------------------------------------------------------------------
>
>                 Key: HARMONY-2615
>                 URL: http://issues.apache.org/jira/browse/HARMONY-2615
>             Project: Harmony
>          Issue Type: Test
>          Components: DRLVM
>            Reporter: Vasily Zakharov
>         Attachments: CrashTestBCP.java
>
>
> This is a stress test which loads all the classes it finds in VM bootclasspath using simple Class.forName() call.
>  
> Not all of the classes are supposed to be loaded correctly this way, so the test ignores any class loading errors - its main purpose is to make sure VM survives loading of thousands classes without crashes. Also, investigating why particular classes fail to load may provide clues to some new bugs in VM or classlib.
> I recommend including this test to some Harmony test suite that is run regularly, as it may detect many VM issues that may occur in future.
> Currently this test crashes both on Windows/IA32 and Linux/IA32 in a very strange way - at some point, unhandled exception occurs inside the catch(Throwable) block:
> 9879: org.mmtk.plan.Plan
> java.lang.ClassNotFoundException: null.Factory
>         at java.lang.Class.forName(Unknown Source)
>         at java.lang.Class.forName(Unknown Source)
>         at org.mmtk.vm.VM.<clinit>(Unknown Source)
>         at org.mmtk.utility.Constants.<clinit>(Unknown Source)
>         at org.mmtk.plan.Plan.<clinit>(Unknown Source)
>         at java.lang.VMClassRegistry.initializeClass(Native Method)
>         at java.lang.Class.forName(Unknown Source)
>         at java.lang.Class.forName(Unknown Source)
>         at CrashTestBCP.load(CrashTestBCP.java:75)
>         at CrashTestBCP.main(CrashTestBCP.java:98)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Updated: (HARMONY-2615) [drlvm][test] Stress test for massive class loading from bootclasspath

Posted by "Vasily Zakharov (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/HARMONY-2615?page=all ]

Vasily Zakharov updated HARMONY-2615:
-------------------------------------

    Attachment: CrashTestBCP2.java

Attached a patched version of the test, called CrashTestBCP2.
It installs a SecurityManager that blocks System.exit().

With this enhancement the test passes till the end and prints SUCCESS. However, VM doesn't terminate as it should, but hangs infinitely, which looks like another issue.

Also, more than 300 classes fail to load for different reasons, that may require additional investigation.


> [drlvm][test] Stress test for massive class loading from bootclasspath
> ----------------------------------------------------------------------
>
>                 Key: HARMONY-2615
>                 URL: http://issues.apache.org/jira/browse/HARMONY-2615
>             Project: Harmony
>          Issue Type: Test
>          Components: DRLVM
>            Reporter: Vasily Zakharov
>         Attachments: CrashTestBCP.java, CrashTestBCP2.java
>
>
> This is a stress test which loads all the classes it finds in VM bootclasspath using simple Class.forName() call.
>  
> Not all of the classes are supposed to be loaded correctly this way, so the test ignores any class loading errors - its main purpose is to make sure VM survives loading thousands of classes without a crash. Also, investigating why particular classes fail to load may provide clues to some other bugs in VM or classlib.
> I recommend including this test to some Harmony test suite that is run regularly, as it may detect many VM issues that may occur in future.
> Currently this test crashes both on Windows/IA32 and Linux/IA32 in a very strange way - at some point, unhandled exception occurs inside the catch(Throwable) block:
> 9879: org.mmtk.plan.Plan
> java.lang.ClassNotFoundException: null.Factory
>         at java.lang.Class.forName(Unknown Source)
>         at java.lang.Class.forName(Unknown Source)
>         at org.mmtk.vm.VM.<clinit>(Unknown Source)
>         at org.mmtk.utility.Constants.<clinit>(Unknown Source)
>         at org.mmtk.plan.Plan.<clinit>(Unknown Source)
>         at java.lang.VMClassRegistry.initializeClass(Native Method)
>         at java.lang.Class.forName(Unknown Source)
>         at java.lang.Class.forName(Unknown Source)
>         at CrashTestBCP.load(CrashTestBCP.java:75)
>         at CrashTestBCP.main(CrashTestBCP.java:98)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (HARMONY-2615) [drlvm][test] Stress test for massive class loading from bootclasspath

Posted by "Vasily Zakharov (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-2615?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12468693 ] 

Vasily Zakharov commented on HARMONY-2615:
------------------------------------------

At r501409/WinXP the test runs ok, with the following issues:

4 errors from ICU (see HARMONY-2862)
2 errors from Concurrent (see HARMONY-2086)
2 errors from java.lang.management (probably proposed patches would fix it)
2 errors from Yoko (see YOKO-258)
71 errors from MMTK (MMTK problems, should be ignored)

Also, the test hangs in the end on both IBM and DRL VM, after printing SUCCESS (see HARMONY-2187).

Also, on IBM VM there're numerous errors caused by sun.misc.Unsafe is absent.


> [drlvm][test] Stress test for massive class loading from bootclasspath
> ----------------------------------------------------------------------
>
>                 Key: HARMONY-2615
>                 URL: https://issues.apache.org/jira/browse/HARMONY-2615
>             Project: Harmony
>          Issue Type: Test
>          Components: DRLVM
>            Reporter: Vasily Zakharov
>         Attachments: CrashTestBCP.java, CrashTestBCP2.java
>
>
> This is a stress test which loads all the classes it finds in VM bootclasspath using simple Class.forName() call.
>  
> Not all of the classes are supposed to be loaded correctly this way, so the test ignores any class loading errors - its main purpose is to make sure VM survives loading thousands of classes without a crash. Also, investigating why particular classes fail to load may provide clues to some other bugs in VM or classlib.
> I recommend including this test to some Harmony test suite that is run regularly, as it may detect many VM issues that may occur in future.
> Currently this test crashes both on Windows/IA32 and Linux/IA32 in a very strange way - at some point, unhandled exception occurs inside the catch(Throwable) block:
> 9879: org.mmtk.plan.Plan
> java.lang.ClassNotFoundException: null.Factory
>         at java.lang.Class.forName(Unknown Source)
>         at java.lang.Class.forName(Unknown Source)
>         at org.mmtk.vm.VM.<clinit>(Unknown Source)
>         at org.mmtk.utility.Constants.<clinit>(Unknown Source)
>         at org.mmtk.plan.Plan.<clinit>(Unknown Source)
>         at java.lang.VMClassRegistry.initializeClass(Native Method)
>         at java.lang.Class.forName(Unknown Source)
>         at java.lang.Class.forName(Unknown Source)
>         at CrashTestBCP.load(CrashTestBCP.java:75)
>         at CrashTestBCP.main(CrashTestBCP.java:98)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HARMONY-2615) [drlvm][test] Stress test for massive class loading from bootclasspath

Posted by "Vasily Zakharov (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/HARMONY-2615?page=comments#action_12458142 ] 
            
Vasily Zakharov commented on HARMONY-2615:
------------------------------------------

As HARMONY-2650 turned out to be not a bug, but a problem in org.mmtk.plan.Plan class, it looks like some filter has to be added to this test to exclude classes that break the test operation.


> [drlvm][test] Stress test for massive class loading from bootclasspath
> ----------------------------------------------------------------------
>
>                 Key: HARMONY-2615
>                 URL: http://issues.apache.org/jira/browse/HARMONY-2615
>             Project: Harmony
>          Issue Type: Test
>          Components: DRLVM
>            Reporter: Vasily Zakharov
>         Attachments: CrashTestBCP.java
>
>
> This is a stress test which loads all the classes it finds in VM bootclasspath using simple Class.forName() call.
>  
> Not all of the classes are supposed to be loaded correctly this way, so the test ignores any class loading errors - its main purpose is to make sure VM survives loading thousands of classes without a crash. Also, investigating why particular classes fail to load may provide clues to some other bugs in VM or classlib.
> I recommend including this test to some Harmony test suite that is run regularly, as it may detect many VM issues that may occur in future.
> Currently this test crashes both on Windows/IA32 and Linux/IA32 in a very strange way - at some point, unhandled exception occurs inside the catch(Throwable) block:
> 9879: org.mmtk.plan.Plan
> java.lang.ClassNotFoundException: null.Factory
>         at java.lang.Class.forName(Unknown Source)
>         at java.lang.Class.forName(Unknown Source)
>         at org.mmtk.vm.VM.<clinit>(Unknown Source)
>         at org.mmtk.utility.Constants.<clinit>(Unknown Source)
>         at org.mmtk.plan.Plan.<clinit>(Unknown Source)
>         at java.lang.VMClassRegistry.initializeClass(Native Method)
>         at java.lang.Class.forName(Unknown Source)
>         at java.lang.Class.forName(Unknown Source)
>         at CrashTestBCP.load(CrashTestBCP.java:75)
>         at CrashTestBCP.main(CrashTestBCP.java:98)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Updated: (HARMONY-2615) [drlvm][test] Stress test for massive class loading from bootclasspath

Posted by "Vasily Zakharov (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/HARMONY-2615?page=all ]

Vasily Zakharov updated HARMONY-2615:
-------------------------------------

    Patch Info: [Patch Available]

> [drlvm][test] Stress test for massive class loading from bootclasspath
> ----------------------------------------------------------------------
>
>                 Key: HARMONY-2615
>                 URL: http://issues.apache.org/jira/browse/HARMONY-2615
>             Project: Harmony
>          Issue Type: Test
>          Components: DRLVM
>            Reporter: Vasily Zakharov
>         Attachments: CrashTestBCP.java
>
>
> This is a stress test which loads all the classes it finds in VM bootclasspath using simple Class.forName() call.
>  
> Not all of the classes are supposed to be loaded correctly this way, so the test ignores any class loading errors - its main purpose is to make sure VM survives loading thousands of classes without a crash. Also, investigating why particular classes fail to load may provide clues to some other bugs in VM or classlib.
> I recommend including this test to some Harmony test suite that is run regularly, as it may detect many VM issues that may occur in future.
> Currently this test crashes both on Windows/IA32 and Linux/IA32 in a very strange way - at some point, unhandled exception occurs inside the catch(Throwable) block:
> 9879: org.mmtk.plan.Plan
> java.lang.ClassNotFoundException: null.Factory
>         at java.lang.Class.forName(Unknown Source)
>         at java.lang.Class.forName(Unknown Source)
>         at org.mmtk.vm.VM.<clinit>(Unknown Source)
>         at org.mmtk.utility.Constants.<clinit>(Unknown Source)
>         at org.mmtk.plan.Plan.<clinit>(Unknown Source)
>         at java.lang.VMClassRegistry.initializeClass(Native Method)
>         at java.lang.Class.forName(Unknown Source)
>         at java.lang.Class.forName(Unknown Source)
>         at CrashTestBCP.load(CrashTestBCP.java:75)
>         at CrashTestBCP.main(CrashTestBCP.java:98)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Updated: (HARMONY-2615) [drlvm][test] Stress test for massive class loading from bootclasspath

Posted by "Vasily Zakharov (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-2615?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Vasily Zakharov updated HARMONY-2615:
-------------------------------------

    Attachment: ClassLoadingStressTest.java
                ClassLoadingStress.java

Attached updated version of the test, multi-threaded and with much improved diagnostics.

ClassLoadingStress.java - the standalone test itself.

ClassLoadingStressTest.java - JUnit wrapper, each test case must be run in its own VM.


> [drlvm][test] Stress test for massive class loading from bootclasspath
> ----------------------------------------------------------------------
>
>                 Key: HARMONY-2615
>                 URL: https://issues.apache.org/jira/browse/HARMONY-2615
>             Project: Harmony
>          Issue Type: Test
>          Components: DRLVM
>            Reporter: Vasily Zakharov
>         Attachments: ClassLoadingStress.java, ClassLoadingStressTest.java, CrashTestBCP.java, CrashTestBCP2.java
>
>
> This is a stress test which loads all the classes it finds in VM bootclasspath using simple Class.forName() call.
>  
> Not all of the classes are supposed to be loaded correctly this way, so the test ignores any class loading errors - its main purpose is to make sure VM survives loading thousands of classes without a crash. Also, investigating why particular classes fail to load may provide clues to some other bugs in VM or classlib.
> I recommend including this test to some Harmony test suite that is run regularly, as it may detect many VM issues that may occur in future.
> Currently this test crashes both on Windows/IA32 and Linux/IA32 in a very strange way - at some point, unhandled exception occurs inside the catch(Throwable) block:
> 9879: org.mmtk.plan.Plan
> java.lang.ClassNotFoundException: null.Factory
>         at java.lang.Class.forName(Unknown Source)
>         at java.lang.Class.forName(Unknown Source)
>         at org.mmtk.vm.VM.<clinit>(Unknown Source)
>         at org.mmtk.utility.Constants.<clinit>(Unknown Source)
>         at org.mmtk.plan.Plan.<clinit>(Unknown Source)
>         at java.lang.VMClassRegistry.initializeClass(Native Method)
>         at java.lang.Class.forName(Unknown Source)
>         at java.lang.Class.forName(Unknown Source)
>         at CrashTestBCP.load(CrashTestBCP.java:75)
>         at CrashTestBCP.main(CrashTestBCP.java:98)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HARMONY-2615) [drlvm][test] Stress test for massive class loading from bootclasspath

Posted by "Vasily Zakharov (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/HARMONY-2615?page=all ]

Vasily Zakharov updated HARMONY-2615:
-------------------------------------

    Description: 
This is a stress test which loads all the classes it finds in VM bootclasspath using simple Class.forName() call.
 
Not all of the classes are supposed to be loaded correctly this way, so the test ignores any class loading errors - its main purpose is to make sure VM survives loading thousands of classes without a crash. Also, investigating why particular classes fail to load may provide clues to some other bugs in VM or classlib.

I recommend including this test to some Harmony test suite that is run regularly, as it may detect many VM issues that may occur in future.

Currently this test crashes both on Windows/IA32 and Linux/IA32 in a very strange way - at some point, unhandled exception occurs inside the catch(Throwable) block:

9879: org.mmtk.plan.Plan
java.lang.ClassNotFoundException: null.Factory
        at java.lang.Class.forName(Unknown Source)
        at java.lang.Class.forName(Unknown Source)
        at org.mmtk.vm.VM.<clinit>(Unknown Source)
        at org.mmtk.utility.Constants.<clinit>(Unknown Source)
        at org.mmtk.plan.Plan.<clinit>(Unknown Source)
        at java.lang.VMClassRegistry.initializeClass(Native Method)
        at java.lang.Class.forName(Unknown Source)
        at java.lang.Class.forName(Unknown Source)
        at CrashTestBCP.load(CrashTestBCP.java:75)
        at CrashTestBCP.main(CrashTestBCP.java:98)


  was:
This is a stress test which loads all the classes it finds in VM bootclasspath using simple Class.forName() call.
 
Not all of the classes are supposed to be loaded correctly this way, so the test ignores any class loading errors - its main purpose is to make sure VM survives loading of thousands classes without crashes. Also, investigating why particular classes fail to load may provide clues to some new bugs in VM or classlib.

I recommend including this test to some Harmony test suite that is run regularly, as it may detect many VM issues that may occur in future.

Currently this test crashes both on Windows/IA32 and Linux/IA32 in a very strange way - at some point, unhandled exception occurs inside the catch(Throwable) block:

9879: org.mmtk.plan.Plan
java.lang.ClassNotFoundException: null.Factory
        at java.lang.Class.forName(Unknown Source)
        at java.lang.Class.forName(Unknown Source)
        at org.mmtk.vm.VM.<clinit>(Unknown Source)
        at org.mmtk.utility.Constants.<clinit>(Unknown Source)
        at org.mmtk.plan.Plan.<clinit>(Unknown Source)
        at java.lang.VMClassRegistry.initializeClass(Native Method)
        at java.lang.Class.forName(Unknown Source)
        at java.lang.Class.forName(Unknown Source)
        at CrashTestBCP.load(CrashTestBCP.java:75)
        at CrashTestBCP.main(CrashTestBCP.java:98)



> [drlvm][test] Stress test for massive class loading from bootclasspath
> ----------------------------------------------------------------------
>
>                 Key: HARMONY-2615
>                 URL: http://issues.apache.org/jira/browse/HARMONY-2615
>             Project: Harmony
>          Issue Type: Test
>          Components: DRLVM
>            Reporter: Vasily Zakharov
>         Attachments: CrashTestBCP.java
>
>
> This is a stress test which loads all the classes it finds in VM bootclasspath using simple Class.forName() call.
>  
> Not all of the classes are supposed to be loaded correctly this way, so the test ignores any class loading errors - its main purpose is to make sure VM survives loading thousands of classes without a crash. Also, investigating why particular classes fail to load may provide clues to some other bugs in VM or classlib.
> I recommend including this test to some Harmony test suite that is run regularly, as it may detect many VM issues that may occur in future.
> Currently this test crashes both on Windows/IA32 and Linux/IA32 in a very strange way - at some point, unhandled exception occurs inside the catch(Throwable) block:
> 9879: org.mmtk.plan.Plan
> java.lang.ClassNotFoundException: null.Factory
>         at java.lang.Class.forName(Unknown Source)
>         at java.lang.Class.forName(Unknown Source)
>         at org.mmtk.vm.VM.<clinit>(Unknown Source)
>         at org.mmtk.utility.Constants.<clinit>(Unknown Source)
>         at org.mmtk.plan.Plan.<clinit>(Unknown Source)
>         at java.lang.VMClassRegistry.initializeClass(Native Method)
>         at java.lang.Class.forName(Unknown Source)
>         at java.lang.Class.forName(Unknown Source)
>         at CrashTestBCP.load(CrashTestBCP.java:75)
>         at CrashTestBCP.main(CrashTestBCP.java:98)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (HARMONY-2615) [drlvm][test] Stress test for massive class loading from bootclasspath

Posted by "Vasily Zakharov (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/HARMONY-2615?page=comments#action_12460551 ] 
            
Vasily Zakharov commented on HARMONY-2615:
------------------------------------------

Here's the current statistics of loading errors from this test:

4 errors from ICU (see HARMONY-2862)
2 errors from Concurrent (see HARMONY-2086)
2 errors from Yoko (now being discussed in the dev-list)
71 errors from MMTK (clearly MMTK problems, should be ignored)
3 more errors from Yoko/OMG (now being discussed in the dev-list)

Also, the test hangs in the end, after printing SUCCESS. This issues is filed separately as HARMONY-2187.


> [drlvm][test] Stress test for massive class loading from bootclasspath
> ----------------------------------------------------------------------
>
>                 Key: HARMONY-2615
>                 URL: http://issues.apache.org/jira/browse/HARMONY-2615
>             Project: Harmony
>          Issue Type: Test
>          Components: DRLVM
>            Reporter: Vasily Zakharov
>         Attachments: CrashTestBCP.java, CrashTestBCP2.java
>
>
> This is a stress test which loads all the classes it finds in VM bootclasspath using simple Class.forName() call.
>  
> Not all of the classes are supposed to be loaded correctly this way, so the test ignores any class loading errors - its main purpose is to make sure VM survives loading thousands of classes without a crash. Also, investigating why particular classes fail to load may provide clues to some other bugs in VM or classlib.
> I recommend including this test to some Harmony test suite that is run regularly, as it may detect many VM issues that may occur in future.
> Currently this test crashes both on Windows/IA32 and Linux/IA32 in a very strange way - at some point, unhandled exception occurs inside the catch(Throwable) block:
> 9879: org.mmtk.plan.Plan
> java.lang.ClassNotFoundException: null.Factory
>         at java.lang.Class.forName(Unknown Source)
>         at java.lang.Class.forName(Unknown Source)
>         at org.mmtk.vm.VM.<clinit>(Unknown Source)
>         at org.mmtk.utility.Constants.<clinit>(Unknown Source)
>         at org.mmtk.plan.Plan.<clinit>(Unknown Source)
>         at java.lang.VMClassRegistry.initializeClass(Native Method)
>         at java.lang.Class.forName(Unknown Source)
>         at java.lang.Class.forName(Unknown Source)
>         at CrashTestBCP.load(CrashTestBCP.java:75)
>         at CrashTestBCP.main(CrashTestBCP.java:98)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (HARMONY-2615) [drlvm][test] Stress test for massive class loading from bootclasspath

Posted by "Vladimir Beliaev (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-2615?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12554688 ] 

Vladimir Beliaev commented on HARMONY-2615:
-------------------------------------------

This is not DRLVM issues, but a good stress test - thanks, Vasily.

Let's get this issue renamed as [buildtest][stress] and reassigned to build-test-ci to let the people familiar with stress test to care about this workload.

> [drlvm][test] Stress test for massive class loading from bootclasspath
> ----------------------------------------------------------------------
>
>                 Key: HARMONY-2615
>                 URL: https://issues.apache.org/jira/browse/HARMONY-2615
>             Project: Harmony
>          Issue Type: Test
>          Components: DRLVM
>            Reporter: Vasily Zakharov
>         Attachments: ClassLoadingStress.java, ClassLoadingStressTest.java, CrashTestBCP.java, CrashTestBCP2.java
>
>
> This is a stress test which loads all the classes it finds in VM bootclasspath using simple Class.forName() call.
>  
> Not all of the classes are supposed to be loaded correctly this way, so the test ignores any class loading errors - its main purpose is to make sure VM survives loading thousands of classes without a crash. Also, investigating why particular classes fail to load may provide clues to some other bugs in VM or classlib.
> I recommend including this test to some Harmony test suite that is run regularly, as it may detect many VM issues that may occur in future.
> Currently this test crashes both on Windows/IA32 and Linux/IA32 in a very strange way - at some point, unhandled exception occurs inside the catch(Throwable) block:
> 9879: org.mmtk.plan.Plan
> java.lang.ClassNotFoundException: null.Factory
>         at java.lang.Class.forName(Unknown Source)
>         at java.lang.Class.forName(Unknown Source)
>         at org.mmtk.vm.VM.<clinit>(Unknown Source)
>         at org.mmtk.utility.Constants.<clinit>(Unknown Source)
>         at org.mmtk.plan.Plan.<clinit>(Unknown Source)
>         at java.lang.VMClassRegistry.initializeClass(Native Method)
>         at java.lang.Class.forName(Unknown Source)
>         at java.lang.Class.forName(Unknown Source)
>         at CrashTestBCP.load(CrashTestBCP.java:75)
>         at CrashTestBCP.main(CrashTestBCP.java:98)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HARMONY-2615) [drlvm][test] Stress test for massive class loading from bootclasspath

Posted by "Vasily Zakharov (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/HARMONY-2615?page=all ]

Vasily Zakharov updated HARMONY-2615:
-------------------------------------

    Estimated Complexity: Moderate  (was: Advanced)

> [drlvm][test] Stress test for massive class loading from bootclasspath
> ----------------------------------------------------------------------
>
>                 Key: HARMONY-2615
>                 URL: http://issues.apache.org/jira/browse/HARMONY-2615
>             Project: Harmony
>          Issue Type: Test
>          Components: DRLVM
>            Reporter: Vasily Zakharov
>         Attachments: CrashTestBCP.java
>
>
> This is a stress test which loads all the classes it finds in VM bootclasspath using simple Class.forName() call.
>  
> Not all of the classes are supposed to be loaded correctly this way, so the test ignores any class loading errors - its main purpose is to make sure VM survives loading of thousands classes without crashes. Also, investigating why particular classes fail to load may provide clues to some new bugs in VM or classlib.
> I recommend including this test to some Harmony test suite that is run regularly, as it may detect many VM issues that may occur in future.
> Currently this test crashes both on Windows/IA32 and Linux/IA32 in a very strange way - at some point, unhandled exception occurs inside the catch(Throwable) block:
> 9879: org.mmtk.plan.Plan
> java.lang.ClassNotFoundException: null.Factory
>         at java.lang.Class.forName(Unknown Source)
>         at java.lang.Class.forName(Unknown Source)
>         at org.mmtk.vm.VM.<clinit>(Unknown Source)
>         at org.mmtk.utility.Constants.<clinit>(Unknown Source)
>         at org.mmtk.plan.Plan.<clinit>(Unknown Source)
>         at java.lang.VMClassRegistry.initializeClass(Native Method)
>         at java.lang.Class.forName(Unknown Source)
>         at java.lang.Class.forName(Unknown Source)
>         at CrashTestBCP.load(CrashTestBCP.java:75)
>         at CrashTestBCP.main(CrashTestBCP.java:98)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (HARMONY-2615) [drlvm][test] Stress test for massive class loading from bootclasspath

Posted by "Vasily Zakharov (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/HARMONY-2615?page=comments#action_12457822 ] 
            
Vasily Zakharov commented on HARMONY-2615:
------------------------------------------

A particular issue described above is not in fact caused by massive class loading, but by some problems in org.mmtk.plan.Plan class itself. So, a separate issue is filed on that problem, HARMONY-2650.


> [drlvm][test] Stress test for massive class loading from bootclasspath
> ----------------------------------------------------------------------
>
>                 Key: HARMONY-2615
>                 URL: http://issues.apache.org/jira/browse/HARMONY-2615
>             Project: Harmony
>          Issue Type: Test
>          Components: DRLVM
>            Reporter: Vasily Zakharov
>         Attachments: CrashTestBCP.java
>
>
> This is a stress test which loads all the classes it finds in VM bootclasspath using simple Class.forName() call.
>  
> Not all of the classes are supposed to be loaded correctly this way, so the test ignores any class loading errors - its main purpose is to make sure VM survives loading thousands of classes without a crash. Also, investigating why particular classes fail to load may provide clues to some other bugs in VM or classlib.
> I recommend including this test to some Harmony test suite that is run regularly, as it may detect many VM issues that may occur in future.
> Currently this test crashes both on Windows/IA32 and Linux/IA32 in a very strange way - at some point, unhandled exception occurs inside the catch(Throwable) block:
> 9879: org.mmtk.plan.Plan
> java.lang.ClassNotFoundException: null.Factory
>         at java.lang.Class.forName(Unknown Source)
>         at java.lang.Class.forName(Unknown Source)
>         at org.mmtk.vm.VM.<clinit>(Unknown Source)
>         at org.mmtk.utility.Constants.<clinit>(Unknown Source)
>         at org.mmtk.plan.Plan.<clinit>(Unknown Source)
>         at java.lang.VMClassRegistry.initializeClass(Native Method)
>         at java.lang.Class.forName(Unknown Source)
>         at java.lang.Class.forName(Unknown Source)
>         at CrashTestBCP.load(CrashTestBCP.java:75)
>         at CrashTestBCP.main(CrashTestBCP.java:98)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (HARMONY-2615) [drlvm][test] Stress test for massive class loading from bootclasspath

Posted by "Vasily Zakharov (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/HARMONY-2615?page=comments#action_12460677 ] 
            
Vasily Zakharov commented on HARMONY-2615:
------------------------------------------

One of the Yoko issues was filed as YOKO-258 after being discussed here:
http://thread.gmane.org/gmane.comp.java.harmony.devel/22133


> [drlvm][test] Stress test for massive class loading from bootclasspath
> ----------------------------------------------------------------------
>
>                 Key: HARMONY-2615
>                 URL: http://issues.apache.org/jira/browse/HARMONY-2615
>             Project: Harmony
>          Issue Type: Test
>          Components: DRLVM
>            Reporter: Vasily Zakharov
>         Attachments: CrashTestBCP.java, CrashTestBCP2.java
>
>
> This is a stress test which loads all the classes it finds in VM bootclasspath using simple Class.forName() call.
>  
> Not all of the classes are supposed to be loaded correctly this way, so the test ignores any class loading errors - its main purpose is to make sure VM survives loading thousands of classes without a crash. Also, investigating why particular classes fail to load may provide clues to some other bugs in VM or classlib.
> I recommend including this test to some Harmony test suite that is run regularly, as it may detect many VM issues that may occur in future.
> Currently this test crashes both on Windows/IA32 and Linux/IA32 in a very strange way - at some point, unhandled exception occurs inside the catch(Throwable) block:
> 9879: org.mmtk.plan.Plan
> java.lang.ClassNotFoundException: null.Factory
>         at java.lang.Class.forName(Unknown Source)
>         at java.lang.Class.forName(Unknown Source)
>         at org.mmtk.vm.VM.<clinit>(Unknown Source)
>         at org.mmtk.utility.Constants.<clinit>(Unknown Source)
>         at org.mmtk.plan.Plan.<clinit>(Unknown Source)
>         at java.lang.VMClassRegistry.initializeClass(Native Method)
>         at java.lang.Class.forName(Unknown Source)
>         at java.lang.Class.forName(Unknown Source)
>         at CrashTestBCP.load(CrashTestBCP.java:75)
>         at CrashTestBCP.main(CrashTestBCP.java:98)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira