commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jérôme Leroux (JIRA) <j...@apache.org>
Subject [jira] [Updated] (BCEL-191) Verifier assumes the classes of the verifier are in the classpath of the verified class
Date Tue, 13 Jan 2015 08:03:35 GMT

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

Jérôme Leroux updated BCEL-191:
-------------------------------
    Attachment: BCEL-191.patch

Attach patch with:
* Fix for BCEL-191

> Verifier assumes the classes of the verifier are in the classpath of the verified class
> ---------------------------------------------------------------------------------------
>
>                 Key: BCEL-191
>                 URL: https://issues.apache.org/jira/browse/BCEL-191
>             Project: Commons BCEL
>          Issue Type: Bug
>          Components: Verifier
>            Reporter: Jérôme Leroux
>            Priority: Minor
>         Attachments: BCEL-191.patch
>
>
> When verifying a class, the verifier looks for this class and its dependencies in a classpath
configured for this verification. If the classes of the verifier itself are not in this classpath,
then an error can occur.
> The causes is the use of the internal class {{org.apache.bcel.verifier.structurals.GenericArray}}
to mock the array class when a method invokation is done on an array. If the class {{GenericArray}}
is not available in the classpath of the verifier class, we get the following error:
> {quote}
> Exception in thread "main" org.apache.bcel.verifier.exc.AssertionViolatedException: INTERNAL
ERROR: Some RuntimeException occured while verify()ing class 'org.apache.bcel.verifier.tests.TestArray01',
method 'public static void test1()'. Original RuntimeException's stack trace:
> ---
> org.apache.bcel.verifier.exc.AssertionViolatedException: INTERNAL ERROR: Missing class:
java.lang.ClassNotFoundException: Exception while looking for class org.apache.bcel.verifier.structurals.GenericArray:
java.io.IOException: Couldn't find: org/apache/bcel/verifier/structurals/GenericArray.class
> 	at org.apache.bcel.verifier.structurals.InstConstraintVisitor.visitINVOKEVIRTUAL(InstConstraintVisitor.java:2059)
> 	…
> {quote}
> Here is a simple example of code that raises this exception:
> {code:java}
>     public static void test1(){
>         String[] a = new String[4];
>         a.equals(null);
>     }
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message