From commits-return-43346-apmail-harmony-commits-archive=harmony.apache.org@harmony.apache.org Thu Sep 06 13:16:56 2007 Return-Path: Delivered-To: apmail-harmony-commits-archive@www.apache.org Received: (qmail 14263 invoked from network); 6 Sep 2007 13:16:53 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 6 Sep 2007 13:16:53 -0000 Received: (qmail 28128 invoked by uid 500); 6 Sep 2007 13:16:47 -0000 Delivered-To: apmail-harmony-commits-archive@harmony.apache.org Received: (qmail 28109 invoked by uid 500); 6 Sep 2007 13:16:47 -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 28097 invoked by uid 99); 6 Sep 2007 13:16:47 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 06 Sep 2007 06:16:47 -0700 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED 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; Thu, 06 Sep 2007 13:16:52 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id C85CA714187 for ; Thu, 6 Sep 2007 06:16:31 -0700 (PDT) Message-ID: <1597677.1189084591815.JavaMail.jira@brutus> Date: Thu, 6 Sep 2007 06:16:31 -0700 (PDT) From: "Alexei Fedotov (JIRA)" To: commits@harmony.apache.org Subject: [jira] Commented: (HARMONY-4738) [drlvm][verifier] Eclipse 3.3 fails on recent Harmony with verify error In-Reply-To: <27684551.1188958484758.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 [ https://issues.apache.org/jira/browse/HARMONY-4738?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12525416 ] Alexei Fedotov commented on HARMONY-4738: ----------------------------------------- It seems I've found the problem: Mikhail reimplements class loader inheritance in his verifer while class loader inheritance should not follow class inheritance. It seems that all what is needed is just to return 0 instead of looping "while( sup )" to the root class loader. /** * Function receives class by given class name, loads it if it's needed. */ class_handler vf_resolve_class( class_handler k_class, // current class const char *name, // resolved class name bool need_load) // load flag { if( need_load ) { return cl_load_class( class_get_class_loader( k_class ), name ); } else { // get class loader classloader_handler class_loader = 0; class_handler sup = k_class; while( sup ) { classloader_handler class_loader2 = class_get_class_loader( sup ); if( class_loader != class_loader2 ) { class_loader = class_loader2; class_handler result = cl_get_class( class_loader, name ); if( result ) { return result; } } sup = class_get_super_class(sup); } return 0; } } // vf_resolve_class I will try this now. > [drlvm][verifier] Eclipse 3.3 fails on recent Harmony with verify error > ----------------------------------------------------------------------- > > Key: HARMONY-4738 > URL: https://issues.apache.org/jira/browse/HARMONY-4738 > Project: Harmony > Issue Type: Bug > Components: App-Oriented Bug Reports, DRLVM > Environment: Windows/Linux, release/debug > Reporter: Alexey Petrenko > Priority: Critical > > Eclipse 3.3 fails on recent Harmony in the very beginning with verify error. > The crash happens both on Windows and Linux and both release and debug builds of Classlib/DRLVM. > The investigation shown that the failure happens in verifier (stack trace is below). DRLVM rebuild with "-Duse_original_verifier=true" helps. > So this looks like a verifier regression. > Stack trace: > Uncaught exception in Thread-14: > java.lang.VerifyError: > com/ibm/icu/impl/ICUResourceBundleImpl/getBundle()Lcom/ibm/icu/impl/ICUResourceBundle;, > pass: 2, instr: 32, reason: incompartible argument > at java.lang.ClassLoader.defineClass0(ClassLoader.java) > at java.lang.ClassLoader.defineClass(ClassLoader.java:438) > at > org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(DefaultClassLoader.java:161) > at > org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(ClasspathManager.java:501) > at > org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(ClasspathManager.java:471) > at > org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassImpl(ClasspathManager.java:430) > at > org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:413) > at > org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:189) > at > org.eclipse.osgi.framework.internal.core.BundleLoader.findLocalClass(BundleLoader.java:340) > at > org.eclipse.osgi.framework.internal.core.BundleLoader.findClassInternal(BundleLoader.java:408) > at > org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:369) > at > org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:357) > at > org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:83) > at java.lang.ClassLoader.loadClass(ClassLoader.java:319) > at > com.ibm.icu.impl.ICUResourceBundle.instantiateBundle(ICUResourceBundle.java:1195) > at > com.ibm.icu.impl.ICUResourceBundle.getBundleInstance(ICUResourceBundle.java:1163) > at > com.ibm.icu.util.UResourceBundle.getRootType(UResourceBundle.java:418) > at > com.ibm.icu.util.UResourceBundle.instantiateBundle(UResourceBundle.java:466) > at > com.ibm.icu.util.UResourceBundle.getBundleInstance(UResourceBundle.java:123) > at > com.ibm.icu.util.UResourceBundle.getBundleInstance(UResourceBundle.java:105) > at > com.ibm.icu.util.UResourceBundle.getBundleInstance(UResourceBundle.java:186) > at > com.ibm.icu.text.RuleBasedCollator.(RuleBasedCollator.java:1764) > at > com.ibm.icu.text.CollatorServiceShim$1$CollatorFactory.handleCreate(CollatorServiceShim.java:114) > at > com.ibm.icu.impl.ICULocaleService$LocaleKeyFactory.create(ICULocaleService.java:378) > at com.ibm.icu.impl.ICUService.getKey(ICUService.java:463) > at com.ibm.icu.impl.ICUService.getKey(ICUService.java:383) > at com.ibm.icu.impl.ICULocaleService.get(ICULocaleService.java:72) > at com.ibm.icu.impl.ICULocaleService.get(ICULocaleService.java:56) > at > com.ibm.icu.text.CollatorServiceShim.getInstance(CollatorServiceShim.java:34) > at com.ibm.icu.text.Collator.getInstance(Collator.java:483) > at com.ibm.icu.text.Collator.getInstance(Collator.java:315) > at > org.eclipse.ui.actions.PerspectiveMenu$2.(PerspectiveMenu.java:76) > at > org.eclipse.ui.actions.PerspectiveMenu.(PerspectiveMenu.java:75) > at > org.eclipse.ui.internal.ChangeToPerspectiveMenu.(ChangeToPerspectiveMenu.java:36) > at > org.eclipse.ui.actions.ContributionItemFactory$6.create(ContributionItemFactory.java:189) > at > org.eclipse.ui.internal.ide.WorkbenchActionBuilder.addPerspectiveActions(WorkbenchActionBuilder.java:688) > at > org.eclipse.ui.internal.ide.WorkbenchActionBuilder.createWindowMenu(WorkbenchActionBuilder.java:665) > at > org.eclipse.ui.internal.ide.WorkbenchActionBuilder.fillMenuBar(WorkbenchActionBuilder.java:453) > at > org.eclipse.ui.application.ActionBarAdvisor.fillActionBars(ActionBarAdvisor.java:150) > at > org.eclipse.ui.internal.ide.WorkbenchActionBuilder.fillActionBars(WorkbenchActionBuilder.java:360) > at > org.eclipse.ui.internal.WorkbenchWindow.fillActionBars(WorkbenchWindow.java:3294) > at > org.eclipse.ui.internal.WorkbenchWindow.(WorkbenchWindow.java:380) > at > org.eclipse.ui.internal.Workbench.newWorkbenchWindow(Workbench.java:1725) > at org.eclipse.ui.internal.Workbench.access$14(Workbench.java:1724) > at > org.eclipse.ui.internal.Workbench$18.runWithException(Workbench.java:1001) > at > org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31) > at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) > at > org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123) > at > org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3296) > at > org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2974) > at > org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:797) > at > org.eclipse.ui.internal.Workbench$25.runWithException(Workbench.java:1342) > at > org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31) > at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) > at > org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123) > at > org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3296) > at > org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2974) > at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2309) > at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219) > at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466) > at > org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289) > at > org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461) > at > org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) > at > org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106) > at > org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:153) > at > org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106) > at > org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76) > at > org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363) > at > org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176) > at java.lang.reflect.VMReflection.invokeMethod(VMReflection.java) > at java.lang.reflect.Method.invoke(Method.java:317) > at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:504) > at org.eclipse.equinox.launcher.Main.basicRun(Main.java:443) > at org.eclipse.equinox.launcher.Main.run(Main.java:1169) > at org.eclipse.equinox.launcher.Main.main(Main.java:1144) > at java.lang.reflect.VMReflection.invokeMethod(VMReflection.java) > at java.lang.reflect.Method.invoke(Method.java:317) > at org.apache.harmony.vm.JarRunner.main(JarRunner.java:80) -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.