commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jérôme Leroux (JIRA) <>
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


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:
>             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: Couldn't find: org/apache/bcel/verifier/structurals/GenericArray.class
> 	at org.apache.bcel.verifier.structurals.InstConstraintVisitor.visitINVOKEVIRTUAL(
> 	…
> {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

View raw message