Hi Tim, I'm certainly interested in more details. I haven't heard of that problem but I suspect although we have some regression tests for generics we don't have a lot exercising multiple bounds. I'll have a look in the code but as you say, a sample that exhibits the problem will enable me to fix it much quicker (or sort out a temporary workaround - maybe something silly like reordering the bounds in the source code). Please raise a bug and share any more info there or with me on email.
cheers, Andy On 26 January 2016 at 03:26, Tim Webster <tim.webs...@gmail.com> wrote: > Hi, > > I'm seeing a problem where a class with multiple bounds is 'losing' one of > its bounds after weaving occurs. > > Even more strange is that it is only happening on a specific platform. > > a brief outline of the problem: > > Source class: > > public class ExistenceByIdSpecification<D extends AbstractDomainObject & > Identifiable> extends ExistenceSpecification<D> implements > IExistenceByIdSpecification > > What happens is the 'AbstractDomainObject' bound (which is a class) is > disappearing, and in the bytecode we end up with something like this: > > public class ExistenceByIdSpecification<D extends Identifiable> extends > ExistenceSpecification<D> implements IExistenceByIdSpecification, > org.springframework.beans.factory.aspectj.ConfigurableObject > > > this results is a runtime error whenever the constructor is called (I've > removed package names - this is from a unit test): > > > ExistenceByIdSpecification.<init>(L/Identifiable;)V" > type="java.lang.NoSuchMethodError"><![CDATA[java.lang.NoSuchMethodError: > ExistenceByIdSpecification.<init>(L/Identifiable;)V > at > ExistenceByIdSpecificationTest.<init>(ExistenceByIdSpecificationTest.java:33) > > > > Also, the bytecode for the class is quite a bit larger on the environment > where this isn't working properly - it looks like stuff related to > @Configurable is repeated. > > I'm suspecting AspectJ here because when I compile the code with AspectJ > disabled, the bytecode looks correct. > > The environments details I've tried are: > > *works properly:* > Windows 7 > Manjaro Linux (current version) > Oracle JDK 1.7.0_79 > AspectJ 1.8.6 > > *Doesn't work:* > CentOS 7 > Oracle JDK 1.7.0_79, Oracle JDK 1.8.0_65, OpenJDK 1.7.0 > AspectJ 1.8.6, 1.8.8 > > Unfortunately we want to target CentOS as a build platform, so that's why > this is a problem for us! > > I've only included basic details here to see if anyone has heard of this > problem. I'm happy to provide more detail if required. I know that a > sample project is ideal, but I may struggle to reproduce that (although I > will try). > > Thanks, > > > _______________________________________________ > aspectj-users mailing list > aspectj-users@eclipse.org > To change your delivery options, retrieve your password, or unsubscribe > from this list, visit > https://dev.eclipse.org/mailman/listinfo/aspectj-users >
_______________________________________________ aspectj-users mailing list aspectj-users@eclipse.org To change your delivery options, retrieve your password, or unsubscribe from this list, visit https://dev.eclipse.org/mailman/listinfo/aspectj-users