Return-Path: Delivered-To: apmail-harmony-commits-archive@www.apache.org Received: (qmail 7985 invoked from network); 11 Dec 2006 16:35:49 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 11 Dec 2006 16:35:49 -0000 Received: (qmail 99653 invoked by uid 500); 11 Dec 2006 16:35:56 -0000 Delivered-To: apmail-harmony-commits-archive@harmony.apache.org Received: (qmail 99624 invoked by uid 500); 11 Dec 2006 16:35:56 -0000 Mailing-List: contact commits-help@harmony.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@harmony.apache.org Delivered-To: mailing list commits@harmony.apache.org Received: (qmail 99615 invoked by uid 99); 11 Dec 2006 16:35:56 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 11 Dec 2006 08:35:56 -0800 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO brutus.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 11 Dec 2006 08:35:48 -0800 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 33DEB71413D for ; Mon, 11 Dec 2006 08:35:28 -0800 (PST) Message-ID: <12765754.1165854928210.JavaMail.jira@brutus> Date: Mon, 11 Dec 2006 08:35:28 -0800 (PST) From: "Vasily Zakharov (JIRA)" To: commits@harmony.apache.org Subject: [jira] Updated: (HARMONY-2615) [drlvm][test] Stress test for massive class loading from bootclasspath In-Reply-To: <28655536.1165854803895.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on 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.(Unknown Source) at org.mmtk.utility.Constants.(Unknown Source) at org.mmtk.plan.Plan.(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.(Unknown Source) at org.mmtk.utility.Constants.(Unknown Source) at org.mmtk.plan.Plan.(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.(Unknown Source) > at org.mmtk.utility.Constants.(Unknown Source) > at org.mmtk.plan.Plan.(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