Community
Participate
Working Groups
VerifyError opening AspectJ editor or when building an aspect. Same result with only declare-warning on method-execution join points (no advice or itd), but no such result without d-e (weaving). Source aspect in plugin project. No other source/setup info available (sorry). JDK 1.5, Eclipse 3.3.2, AJDT 1.5.2.200804031719. ---- trace java.lang.VerifyError: stack shape inconsistent (class: org/eclipse/ajdt/core/parserbridge/AJSourceElementParser method: parseTypeMemberDeclarations(Lorg/aspectj/org/eclipse/jdt/internal/compiler/env/ISourceType;Lorg/aspectj/org/eclipse/jdt/internal/compiler/env/ICompilationUnit;IIZ)V) at pc: 260 at java.lang.J9VMInternals.verifyImpl(Native Method) at java.lang.J9VMInternals.verify(J9VMInternals.java:63) at java.lang.J9VMInternals.initialize(J9VMInternals.java:124) at org.eclipse.ajdt.core.javaelements.AJCompilationUnit.buildStructure(AJCompilationUnit.java:235) at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:229) at org.eclipse.ajdt.core.javaelements.AJCompilationUnit.generateInfos(AJCompilationUnit.java:195) at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:505) at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:249) at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:235) at org.eclipse.jdt.internal.core.JavaElement.getChildren(JavaElement.java:190) at org.eclipse.jdt.internal.core.JavaElement.getSourceElementAt(JavaElement.java:360) at org.eclipse.jdt.internal.core.CompilationUnit.getElementAt(CompilationUnit.java:639) at org.eclipse.ajdt.core.model.AJProjectModel.createMapForFile(AJProjectModel.java:686) at org.eclipse.ajdt.core.model.AJProjectModel.access$10(AJProjectModel.java:578) at org.eclipse.ajdt.core.model.AJProjectModel$1.visit(AJProjectModel.java:412) at org.eclipse.core.internal.resources.Resource$2.visit(Resource.java:105) at org.eclipse.core.internal.resources.Resource$1.visitElement(Resource.java:57) at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:81) at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:85) at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:85) at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:85) at org.eclipse.core.internal.watson.ElementTreeIterator.iterate(ElementTreeIterator.java:126) at org.eclipse.core.internal.resources.Resource.accept(Resource.java:67) at org.eclipse.core.internal.resources.Resource.accept(Resource.java:103) at org.eclipse.core.internal.resources.Resource.accept(Resource.java:87) at org.eclipse.ajdt.core.model.AJProjectModel.createProjectMap(AJProjectModel.java:405) at org.eclipse.ajdt.core.model.AJModel$1.run(AJModel.java:195) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1797) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1779) at org.eclipse.ajdt.core.model.AJModel.createMap(AJModel.java:193) at org.eclipse.ajdt.core.builder.AJBuilder.build(AJBuilder.java:238) at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:624) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:166) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:197) at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:246) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:249) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:214) at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:353) at org.eclipse.core.internal.resources.Project.internalBuild(Project.java:494) at org.eclipse.core.internal.resources.Project.build(Project.java:75) at org.eclipse.ui.actions.BuildAction.invokeOperation(BuildAction.java:194) at org.eclipse.ui.actions.WorkspaceAction.execute(WorkspaceAction.java:141) at org.eclipse.ui.actions.WorkspaceAction$1.runInWorkspace(WorkspaceAction.java:460) at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) ---- configuration -- features org.eclipse.ajdt (1.5.2.200804031719) "AspectJ Development Tools" org.eclipse.ajdt.source (1.5.2.200804031719) "Eclipse AspectJ Development Tools Source Code" -- plugins org.aspectj.ajde (1.6.0.20081300000000) "AspectJ" [Active] org.aspectj.runtime (1.6.0.20081300000000) "AspectJ Runtime" [Resolved] org.aspectj.weaver (1.6.0.20081300000000) "AspectJ Weaver" [Resolved] org.eclipse.aspectj (1.5.0.200804031719) "AspectJ Development Tools" [Starting] -- VM java version "1.5.0" Java(TM) 2 Runtime Environment, Standard Edition (build pwi32devifx-20070531a (S R4 + IY99287 + IY99356 + IY98136)) IBM J9 VM (build 2.3, J2RE 1.5.0 IBM J9 2.3 Windows Server 2003 x86-32 j9vmwi322 3ifx-20070525 (JIT enabled) J9VM - 20070524_12771_lHdSMR JIT - 20070109_1805ifx1_r8 GC - WASIFIX_2007) JCL - 20070131
Hi Wes - are you able to try a more up to date version of J9?
I'm seeing the same error on ppc/linux-gtk using the latest (think so at least) ibm j9 jvm: Java(TM) 2 Runtime Environment, Standard Edition (build pxp32dev-20080315 (SR7)) IBM J9 VM (build 2.3, J2RE 1.5.0 IBM J9 2.3 Linux ppc-32 j9vmxp3223-20080315 (JIT enabled) J9VM - 20080314_17962_bHdSMr JIT - 20080130_0718ifx2_r8 GC - 200802_08) JCL - 20080314 I'm using AJDT 1.5.3.200805021426. Please let me know if i can provide any other information. Here's my trace: java.lang.VerifyError: stack shape inconsistent (class: org/eclipse/ajdt/core/parserbridge/AJSourceElementParser method: parseTypeMemberDeclarations(Lorg/aspectj/org/eclipse/jdt/internal/compiler/env/ISourceType;Lorg/aspectj/org/eclipse/jdt/internal/compiler/env/ICompilationUnit;IIZ)V) at pc: 260 at java.lang.J9VMInternals.verifyImpl(Native Method) at java.lang.J9VMInternals.verify(J9VMInternals.java:68) at java.lang.J9VMInternals.initialize(J9VMInternals.java:129) at org.eclipse.ajdt.core.javaelements.AJCompilationUnit.buildStructure(AJCompilationUnit.java:235) at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:229) at org.eclipse.ajdt.core.javaelements.AJCompilationUnit.generateInfos(AJCompilationUnit.java:195) at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:505) at org.eclipse.jdt.internal.core.BecomeWorkingCopyOperation.executeOperation(BecomeWorkingCopyOperation.java:38) at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:720) at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:780) at org.eclipse.jdt.internal.core.CompilationUnit.becomeWorkingCopy(CompilationUnit.java:68) at org.eclipse.ajdt.internal.ui.editor.AspectJEditor.doSetInput(AspectJEditor.java:376) at org.eclipse.ui.texteditor.AbstractTextEditor$19.run(AbstractTextEditor.java:3003) at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:369) at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:313) at org.eclipse.jface.window.ApplicationWindow$1.run(ApplicationWindow.java:758) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67) at org.eclipse.jface.window.ApplicationWindow.run(ApplicationWindow.java:755) at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:2451) at org.eclipse.ui.texteditor.AbstractTextEditor.internalInit(AbstractTextEditor.java:3021) at org.eclipse.ui.texteditor.AbstractTextEditor.init(AbstractTextEditor.java:3048) at org.eclipse.ui.internal.EditorManager.createSite(EditorManager.java:794) at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:643) at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:426) at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:592) at org.eclipse.ui.internal.EditorReference.getEditor(EditorReference.java:263) at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2739) at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2651) at org.eclipse.ui.internal.WorkbenchPage.access$13(WorkbenchPage.java:2643) at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:2595) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67) at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2590) at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2574) at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2565) at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(EditorUtility.java:299) at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(EditorUtility.java:173) at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:194) at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:175) at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun(SelectionDispatchAction.java:268) at org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(SelectionDispatchAction.java:244) at org.eclipse.jdt.internal.ui.packageview.PackageExplorerActionGroup.handleOpen(PackageExplorerActionGroup.java:316) at org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart$5.open(PackageExplorerPart.java:613) at org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:820) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) at org.eclipse.core.runtime.Platform.run(Platform.java:857) at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:46) at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:199) at org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:818) at org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:1079) at org.eclipse.jface.viewers.StructuredViewer$6.handleOpen(StructuredViewer.java:1183) at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:263) at org.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.java:257) at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:297) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1101) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3319) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2971) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2389) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219) at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:169) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:618) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:508) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447) at org.eclipse.equinox.launcher.Main.run(Main.java:1173) at org.eclipse.equinox.launcher.Main.main(Main.java:1148)
I believe this is a side effect of https://bugs.eclipse.org/bugs/show_bug.cgi?id=229910 . Because the AspectJ compiler is itself an AspectJ project, it will have been woven by a version of the compiler containing that bug. To fix this bug I have to rebuild the AspectJ compiler from source using a version of AJDT that does not have the bug in it. I will get around to this before the end of the week.
OK, I've hand built an AJDT that includes the fix for 229910, then using that I rebuilt the aspectj compiler, then I put that compiler back into AJDT and have committed it all. In short... this should be fixed in the next AJDT dev build that appears later today.
still no avail: using AJDT 1.5.3.200805151929 (otherwise same config as in comment #2) java.lang.VerifyError: stack shape inconsistent (class: org/eclipse/ajdt/core/parserbridge/AJSourceElementParser method: parseTypeMemberDeclarations(Lorg/aspectj/org/eclipse/jdt/internal/compiler/env/ISourceType;Lorg/aspectj/org/eclipse/jdt/internal/compiler/env/ICompilationUnit;IIZ)V) at pc: 265 at java.lang.J9VMInternals.verifyImpl(Native Method) at java.lang.J9VMInternals.verify(J9VMInternals.java:68) at java.lang.J9VMInternals.initialize(J9VMInternals.java:129) at org.eclipse.ajdt.core.javaelements.AJCompilationUnit.buildStructure(AJCompilationUnit.java:235) at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:229) at org.eclipse.ajdt.core.javaelements.AJCompilationUnit.generateInfos(AJCompilationUnit.java:195) at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:505) at org.eclipse.jdt.internal.core.BecomeWorkingCopyOperation.executeOperation(BecomeWorkingCopyOperation.java:38) at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:720) at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:780) at org.eclipse.jdt.internal.core.CompilationUnit.becomeWorkingCopy(CompilationUnit.java:68) at org.eclipse.ajdt.internal.ui.editor.AspectJEditor.doSetInput(AspectJEditor.java:376) at org.eclipse.ui.texteditor.AbstractTextEditor$19.run(AbstractTextEditor.java:3003) at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:369) at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:313) at org.eclipse.jface.window.ApplicationWindow$1.run(ApplicationWindow.java:758) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67) at org.eclipse.jface.window.ApplicationWindow.run(ApplicationWindow.java:755) at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:2451) at org.eclipse.ui.texteditor.AbstractTextEditor.internalInit(AbstractTextEditor.java:3021) at org.eclipse.ui.texteditor.AbstractTextEditor.init(AbstractTextEditor.java:3048) at org.eclipse.ui.internal.EditorManager.createSite(EditorManager.java:794) at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:643) at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:426) at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:592) at org.eclipse.ui.internal.EditorAreaHelper.setVisibleEditor(EditorAreaHelper.java:263) at org.eclipse.ui.internal.EditorManager.setVisibleEditor(EditorManager.java:1405) at org.eclipse.ui.internal.EditorManager$5.runWithException(EditorManager.java:939) at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:129) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3296) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2974) at org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:801) at org.eclipse.ui.internal.Workbench$25.runWithException(Workbench.java:1342) at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:129) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3296) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2974) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2309) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219) at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:169) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:618) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:508) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447) at org.eclipse.equinox.launcher.Main.run(Main.java:1173) at org.eclipse.equinox.launcher.Main.main(Main.java:1148)
Created attachment 100783 [details] javap output of old and new Yuck... I should have paid more attention to the package name, it was an AJDT package and not an AspectJ package. Although AspectJ is happily now all built correctly it looks like the AJDT build system still uses an ooooold AJDT in order to build itself, and that is the version which gets published on the download page. This attachment is that class raising the error disassembled. The broke.txt inside is the class from the build machine, the works.txt is the class from my current ajdt build environment that will be using the latest AspectJ. There are differences but I need to go through them and see which might give rise to the stack shape problem. Are you just not using AJDT right now or are you using a Sun VM to run eclipse whilst it is broken under J9?
As an interim measure, I modified the aspect within AJDT that weaves the failing method - as the method is no longer touched, it *should* not have the inconsistency problem within it. This change will be in 1.5.3.200805171714 which should be available from the update site shortly. At least that should get you going whilst I look to upgrade our build process.
I can't update to 1.5.3.200805171714 because there seem to be missing two dependencies... this is what i get from plugin configuration when manually extracting the zip file: Plug-in "org.eclipse.contribution.xref.core" version "1.5.0.200805171714" referenced by this feature is missing. Plug-in "org.eclipse.contribution.xref.ui" version "1.5.0.200805171714" referenced by this feature is missing.
I've just rebuilt AJDT again and test installed it - it seems OK now.
even with your latest snap 1.5.3.200805181553 i still get the same VerifyError. I'll paste it once again, as i'm not sure if i missed some minor differences at a superficial first glance... regarding your question from comment #6: I'm currently unable to use AJDT because i'm on ppc arch. and thus stuck with the J9 VM (at least to my knowledge). java.lang.VerifyError: stack shape inconsistent (class: org/eclipse/ajdt/core/parserbridge/AJSourceElementParser method: parseTypeMemberDeclarations(Lorg/aspectj/org/eclipse/jdt/internal/compiler/env/ISourceType;Lorg/aspectj/org/eclipse/jdt/internal/compiler/env/ICompilationUnit;IIZ)V) at pc: 227 at java.lang.J9VMInternals.verifyImpl(Native Method) at java.lang.J9VMInternals.verify(J9VMInternals.java:68) at java.lang.J9VMInternals.initialize(J9VMInternals.java:129) at org.eclipse.ajdt.core.javaelements.AJCompilationUnit.buildStructure(AJCompilationUnit.java:235) at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:229) at org.eclipse.ajdt.core.javaelements.AJCompilationUnit.generateInfos(AJCompilationUnit.java:195) at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:505) at org.eclipse.jdt.internal.core.BecomeWorkingCopyOperation.executeOperation(BecomeWorkingCopyOperation.java:38) at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:720) at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:780) at org.eclipse.jdt.internal.core.CompilationUnit.becomeWorkingCopy(CompilationUnit.java:68) at org.eclipse.ajdt.internal.ui.editor.AspectJEditor.doSetInput(AspectJEditor.java:376) at org.eclipse.ui.texteditor.AbstractTextEditor$19.run(AbstractTextEditor.java:3003) at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:369) at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:313) at org.eclipse.jface.window.ApplicationWindow$1.run(ApplicationWindow.java:758) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67) at org.eclipse.jface.window.ApplicationWindow.run(ApplicationWindow.java:755) at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:2451) at org.eclipse.ui.texteditor.AbstractTextEditor.internalInit(AbstractTextEditor.java:3021) at org.eclipse.ui.texteditor.AbstractTextEditor.init(AbstractTextEditor.java:3048) at org.eclipse.ui.internal.EditorManager.createSite(EditorManager.java:794) at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:643) at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:426) at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:592) at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:299) at org.eclipse.ui.internal.presentations.PresentablePart.setVisible(PresentablePart.java:179) at org.eclipse.ui.internal.presentations.util.PresentablePartFolder.select(PresentablePartFolder.java:268) at org.eclipse.ui.internal.presentations.util.LeftToRightTabOrder.select(LeftToRightTabOrder.java:65) at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation.selectPart(TabbedStackPresentation.java:400) at org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:1256) at org.eclipse.ui.internal.PartStack.setSelection(PartStack.java:1209) at org.eclipse.ui.internal.PartStack.presentationSelectionChanged(PartStack.java:843) at org.eclipse.ui.internal.PartStack.access$1(PartStack.java:829) at org.eclipse.ui.internal.PartStack$1.selectPart(PartStack.java:139) at org.eclipse.ui.internal.presentations.BasicPartList.gotoSelectedElement(BasicPartList.java:267) at org.eclipse.ui.internal.presentations.AbstractTableInformationControl$4.mouseUp(AbstractTableInformationControl.java:308) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:206) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1101) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3319) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2971) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2389) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219) at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:169) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:618) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:508) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447) at org.eclipse.equinox.launcher.Main.run(Main.java:1173) at org.eclipse.equinox.launcher.Main.main(Main.java:1148)
That is an interesting finding - it suggests the compiler produced invalid bytecode rather than any weaving that had been done on the failing method. I did notice that the method used JSR instructions which are not produced by modern compilers, I will dig out a verifier and see if it thinks the stack manipulations are OK within that method.
ok, my verifier can't cope with what is happening in that method so I can't confirm if it is good or bad for definite. So I've split it into two, extracting a try/finally block from the complex method into a helper method. The reduction in number of finally blocks will make the generated code for that method a little simpler. I'm starting to think this is a JVM bug, even moreso now that we don't even weave that method and the verifier still complains. However, let's see if reducing the complexity of the method will make the VM happier. I'm sorry this is not so scientific but without the ability to recreate the problem it is quite hard to diagnose...
reported as still happening with AJDT 1.5.3 so I've changed the code again to try and create something the J9 verifier won't barf on. should be in next dev build of ajdt for Eclipse 3.3
new fix variant now available. Also upgraded build process for AJDT on 1.6.0 so this is unlikely to happen at that level because we aren't using such an old AspectJ to build AJDT.