You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Mikhail Fursov (JIRA)" <ji...@apache.org> on 2007/04/16 15:30:16 UTC
[jira] Reopened: (HARMONY-3632) [drlvm][kernel] Drlvm does not
allow to call public constructor of 'private static' inner class from
within another class
[ https://issues.apache.org/jira/browse/HARMONY-3632?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mikhail Fursov reopened HARMONY-3632:
-------------------------------------
I tried to run ArgoUML (v0.24) today and go this error:
W:\projects\argouml>argouml.bat
[org.netbeans.mdr.Logger] INFORMATIONAL *********** Exception occurred ************ at Mon Apr 16 20:00:33 NOVST 2007
java.lang.IllegalAccessError: from org/netbeans/mdr/handlers/gen/PackageGenerator to [Lorg/netbeans/lib/jmi/util/ClassFileGener
ator$MethodInfo;
at org.netbeans.lib.jmi.util.ClassFileGenerator.generateClassFile(ClassFileGenerator.java:162)
at org.netbeans.mdr.handlers.gen.HandlerGenerator.generateHandler(HandlerGenerator.java:90)
at org.netbeans.mdr.handlers.BaseObjectHandler.getHandlerClass(BaseObjectHandler.java:108)
at org.netbeans.mdr.NBMDRepositoryImpl.getHandler(NBMDRepositoryImpl.java:631)
at org.netbeans.mdr.NBMDRepositoryImpl.getHandler(NBMDRepositoryImpl.java:613)
at org.netbeans.mdr.NBMDRepositoryImpl.getExtent(NBMDRepositoryImpl.java:314)
at org.netbeans.mdr.NBMDRepositoryImpl.installFakeMof(NBMDRepositoryImpl.java:1332)
at org.netbeans.mdr.NBMDRepositoryImpl.boot(NBMDRepositoryImpl.java:1315)
at org.netbeans.mdr.NBMDRepositoryImpl.initCheck(NBMDRepositoryImpl.java:749)
at org.netbeans.mdr.NBMDRepositoryImpl.getExtent(NBMDRepositoryImpl.java:298)
at org.argouml.model.mdr.MDRModelImplementation.<init>(MDRModelImplementation.java:254)
at java.lang.reflect.VMReflection.newClassInstance(VMReflection.java)
at java.lang.reflect.Constructor.newInstance(Constructor.java:298)
at java.lang.Class.newInstance(Class.java:719)
at org.argouml.model.Model.<clinit>(Model.java:124)
at org.argouml.application.Main.main(Main.java:250)
Uncaught exception in main:
java.lang.ExceptionInInitializerError
at org.argouml.application.Main.main(Main.java:250)
Caused by: org.netbeans.mdr.util.DebugException: Missing storage files or different storage version.
at org.netbeans.mdr.storagemodel.MdrStorage.initializeIndexes(MdrStorage.java:507)
at org.netbeans.mdr.storagemodel.MdrStorage.rollback(MdrStorage.java:554)
at org.netbeans.mdr.util.TransactionMutex.end(TransactionMutex.java:73)
at org.netbeans.mdr.util.MultipleReadersMutex.leave(MultipleReadersMutex.java:173)
at org.netbeans.mdr.NBMDRepositoryImpl.endTrans(NBMDRepositoryImpl.java:248)
at org.netbeans.mdr.NBMDRepositoryImpl.boot(NBMDRepositoryImpl.java:1322)
at org.netbeans.mdr.NBMDRepositoryImpl.initCheck(NBMDRepositoryImpl.java:749)
at org.netbeans.mdr.NBMDRepositoryImpl.getExtent(NBMDRepositoryImpl.java:298)
at org.argouml.model.mdr.MDRModelImplementation.<init>(MDRModelImplementation.java:254)
at java.lang.reflect.VMReflection.newClassInstance(VMReflection.java)
at java.lang.reflect.Constructor.newInstance(Constructor.java:298)
at java.lang.Class.newInstance(Class.java:719)
at org.argouml.model.Model.<clinit>(Model.java:124)
... 1 more
The Lorg/netbeans/lib/jmi/util/ClassFileGenerator$MethodInfo; class has 'protected' access modifier and is not static!
I can't create minimized testcase for this issue because SUN's javac refuses to compile such sources.
Both SUN and BEA runs this test OK.
I propose reconsidering default DRLVM behaviour to be compatible with BEA and SUN in this feature.
> [drlvm][kernel] Drlvm does not allow to call public constructor of 'private static' inner class from within another class
> -------------------------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-3632
> URL: https://issues.apache.org/jira/browse/HARMONY-3632
> Project: Harmony
> Issue Type: Bug
> Components: App-Oriented Bug Reports, DRLVM, Non-bug differences from RI
> Reporter: Mikhail Fursov
> Assigned To: Alexey Varlamov
>
> Here is the test that passes with SUN or BEA but fails with DRLVM
> import java.lang.reflect.*;
> public class Hello {
> public static void main(String[] args) throws Exception {
> Class cls = A.class.getDeclaredClasses()[0];
> Constructor con = cls.getDeclaredConstructors()[0];
> Object[] params = new Object[0];
> con.newInstance(params);
> }
> }
> class A {
> private static class B {
> B() {
> System.out.println("PASSED");
> }
> }
> }
> This test prevents joda-time (see http://joda-time.sourceforge.net, JSR310) tests to be passed on DLRVM
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.