Hi Daniel, That is an AspectJ bug - please open it on bugzilla with as much info as you can (details of the generic declarations involved around the point of failure if possible) - and I'll take a look.
Andy 2009/10/2 Daniel <[email protected]>: > Hi to everyone, > > I'm experiencing a VERY strange issue in my application. Basically it > is an RCP application enhanced with aspects (through Equinox aspects). > > At some point in development (since it happens during a huge > refactoring, I can't go back to the release version) some really > strange errors have started to appear. > > <log> > abort trouble in: > public abstract class > com.distribute.client.editor.impl.EditableEntitiesBindableControl > extends com.distribute.client.editor.impl.EntitiesBindableControl > implements com.distribute.client.editor.EditableControl: > private boolean _editable > private org.eclipse.swt.widgets.Table _table > private ca.odell.glazedlists.swt.EventTableViewer _tableViewer > [Signature(Lca/odell/glazedlists/swt/EventTableViewer<TT;>;)] > private org.eclipse.swt.widgets.Button _createButton > private org.eclipse.swt.widgets.Button _editButton > private org.eclipse.swt.widgets.Button _removeButton > public void <init>(org.eclipse.swt.widgets.Composite, int): > ALOAD_0 // > Lcom/distribute/client/editor/impl/EditableEntitiesBindableControl; > this (line 48) > ALOAD_1 // Lorg/eclipse/swt/widgets/Composite; parent > ILOAD_2 // I style > [... continues with the whole class byte-code definition ...] > -- (IllegalStateException) Can't answer binding questions prior to resolving > Can't answer binding questions prior to resolving > java.lang.IllegalStateException: Can't answer binding questions prior > to resolving > at org.aspectj.weaver.TypeVariable.canBeBoundTo(TypeVariable.java:184) > at > org.aspectj.weaver.ReferenceType.isAssignableFrom(ReferenceType.java:459) > at > org.aspectj.weaver.ReferenceType.isAssignableFrom(ReferenceType.java:363) > at > org.aspectj.weaver.ReferenceType.isAssignableFrom(ReferenceType.java:513) > at > org.aspectj.weaver.ReferenceType.isAssignableFrom(ReferenceType.java:363) > at org.aspectj.weaver.TypeVariable.isASubtypeOf(TypeVariable.java:212) > at org.aspectj.weaver.TypeVariable.canBeBoundTo(TypeVariable.java:193) > at > org.aspectj.weaver.ReferenceType.isAssignableFrom(ReferenceType.java:459) > at > org.aspectj.weaver.JoinPointSignatureIterator.accumulateTypesInBetween(JoinPointSignatureIterator.java:163) > at > org.aspectj.weaver.JoinPointSignatureIterator.addSignaturesUpToFirstDefiningMember(JoinPointSignatureIterator.java:145) > at > org.aspectj.weaver.JoinPointSignatureIterator.<init>(JoinPointSignatureIterator.java:51) > at > org.aspectj.weaver.MemberImpl.getJoinPointSignatures(MemberImpl.java:541) > at > org.aspectj.weaver.patterns.SignaturePattern.matches(SignaturePattern.java:290) > at > org.aspectj.weaver.patterns.KindedPointcut.matchInternal(KindedPointcut.java:106) > at org.aspectj.weaver.patterns.Pointcut.match(Pointcut.java:146) > at > org.aspectj.weaver.patterns.AndPointcut.matchInternal(AndPointcut.java:52) > at org.aspectj.weaver.patterns.Pointcut.match(Pointcut.java:146) > at > org.aspectj.weaver.patterns.AndPointcut.matchInternal(AndPointcut.java:52) > at org.aspectj.weaver.patterns.Pointcut.match(Pointcut.java:146) > at org.aspectj.weaver.ShadowMunger.match(ShadowMunger.java:79) > at org.aspectj.weaver.Advice.match(Advice.java:112) > at org.aspectj.weaver.bcel.BcelAdvice.match(BcelAdvice.java:145) > at > org.aspectj.weaver.bcel.BcelClassWeaver.match(BcelClassWeaver.java:3025) > at > org.aspectj.weaver.bcel.BcelClassWeaver.matchInvokeInstruction(BcelClassWeaver.java:2984) > at > org.aspectj.weaver.bcel.BcelClassWeaver.match(BcelClassWeaver.java:2706) > at > org.aspectj.weaver.bcel.BcelClassWeaver.match(BcelClassWeaver.java:2492) > at > org.aspectj.weaver.bcel.BcelClassWeaver.weave(BcelClassWeaver.java:480) > at > org.aspectj.weaver.bcel.BcelClassWeaver.weave(BcelClassWeaver.java:103) > at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1735) > at > org.aspectj.weaver.bcel.BcelWeaver.weaveWithoutDump(BcelWeaver.java:1696) > at > org.aspectj.weaver.bcel.BcelWeaver.weaveAndNotify(BcelWeaver.java:1458) > at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1272) > at > org.aspectj.weaver.tools.WeavingAdaptor.getWovenBytes(WeavingAdaptor.java:423) > at > org.aspectj.weaver.tools.WeavingAdaptor.weaveClass(WeavingAdaptor.java:286) > at > org.eclipse.equinox.weaving.aspectj.loadtime.OSGiWeavingAdaptor.weaveClass(OSGiWeavingAdaptor.java:121) > at > org.eclipse.equinox.weaving.aspectj.WeavingService.preProcess(WeavingService.java:151) > at > org.eclipse.equinox.weaving.adaptors.AspectJAdaptor.weaveClass(AspectJAdaptor.java:245) > at > org.eclipse.equinox.weaving.hooks.AspectJHook.processClass(AspectJHook.java:126) > at > org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(ClasspathManager.java:571) > at > org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(ClasspathManager.java:546) > at > org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassImpl(ClasspathManager.java:477) > at > org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass_LockClassLoader(ClasspathManager.java:465) > at > org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:445) > at > org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:211) > at > org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:376) > at > org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:452) > at > org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:405) > at > org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:393) > at > org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:105) > at java.lang.ClassLoader.loadClass(ClassLoader.java:251) > at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:374) > at java.lang.ClassLoader.defineClass1(Native Method) > at java.lang.ClassLoader.defineClass(ClassLoader.java:675) > at > org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(DefaultClassLoader.java:183) > at > org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(ClasspathManager.java:576) > at > org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(ClasspathManager.java:546) > at > org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassImpl(ClasspathManager.java:477) > at > org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass_LockClassLoader(ClasspathManager.java:465) > at > org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:445) > at > org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:211) > at > org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:376) > at > org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:452) > at > org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:405) > at > org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:393) > at > org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:105) > at java.lang.ClassLoader.loadClass(ClassLoader.java:251) > at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:374) > at java.lang.Class.getDeclaredFields0(Native Method) > at java.lang.Class.privateGetDeclaredFields(Class.java:2259) > at java.lang.Class.getDeclaredFields(Class.java:1715) > at > com.distribute.client.editor.EditorContext.bind(EditorContext.java:109) > at > com.distribute.client.editor.EditorContext.bind(EditorContext.java:102) > at > com.distribute.client.editor.EditorWindow.createContents(EditorWindow.java:110) > at org.eclipse.jface.window.Window.create(Window.java:431) > at org.eclipse.jface.window.Window.open(Window.java:790) > at > com.distribute.client.editor.impl.customer.CustomerEditorAdapter.edit(CustomerEditorAdapter.java:21) > at > com.distribute.client.editor.impl.customer.CustomerEditorAdapter.edit(CustomerEditorAdapter.java:1) > at > com.distribute.client.views.browser.DAOTable$4.widgetSelected(DAOTable.java:125) > at > org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:228) > at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) > at org.eclipse.swt.widgets.Display.sendEvent(Display.java:3542) > at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1247) > at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1270) > at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1255) > at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1076) > at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3440) > at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3099) > at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405) > at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369) > at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221) > at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500) > at > org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) > at > org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493) > at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) > at com.distribute.client.Application.start(Application.java:24) > at > org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194) > at > org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) > at > org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) > at > org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368) > at > org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:592) > at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559) > at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514) > at org.eclipse.equinox.launcher.Main.run(Main.java:1311) > at org.eclipse.equinox.launcher.Main.main(Main.java:1287) > </log> > > I've absolutely no clue what is going on and the most strange part is, > that the application was working before. The only thing that I have > figured out, is that these errors happen when some specific classes > are loaded/used/referenced. > > Thank you in advance, > Daniel > _______________________________________________ > aspectj-users mailing list > [email protected] > https://dev.eclipse.org/mailman/listinfo/aspectj-users > _______________________________________________ aspectj-users mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/aspectj-users
