Hi; we're seeing a
java.lang.VerifyError "
Expecting to find object/array on stack" when EclipseLink 2.3.2 dynamically weaves an entity that has the following things going on:
- Explicit class-level @Access(AccessType.FIELD)
- Selective @Access(AccessType.PROPERTY) annotated on one getter method
At deployment time, during ClassDescriptor.convertClassNamesToClasses, line 1290, the weaver seems to bump into this @Access(AccessType.PROPERTY) annotation and blows up.
Here's the method pair in question:
@Access(AccessType.PROPERTY)
public boolean getIsPrimaryConstituentFirst() {
return this.isPrimaryConstituentFirst != null && "Y".equalsIgnoreCase(this.isPrimaryConstituentFirst.trim());
public void setIsPrimaryConstituentFirst(final boolean isPrimaryConstituentFirst) {
this.isPrimaryConstituentFirst = isPrimaryConstituentFirst ? "Y" : "N";
Here's the log messages and stack:
INFO: com.foobar.CXRelationshipEntity actually got transformed
SEVERE: Exception while preparing the app
SEVERE: (class: com/foobar/CXRelationshipEntity, method: getIsPrimaryConstituentFirst signature: ()Z) Expecting to find object/array on stack
java.lang.VerifyError: (class: com/foobar/CXRelationshipEntity, method: getIsPrimaryConstituentFirst signature: ()Z) Expecting to find object/array on stack
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at org.eclipse.persistence.internal.security.PrivilegedAccessHelper.getClassForName(PrivilegedAccessHelper.java:119)
at org.eclipse.persistence.descriptors.ClassDescriptor.convertClassNamesToClasses(ClassDescriptor.java:1290)