Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 262909 - Illegal argument exception in AssistContext.getASTRoot
Summary: Illegal argument exception in AssistContext.getASTRoot
Status: RESOLVED FIXED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Text (show other bugs)
Version: 3.5   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: 3.6 M5   Edit
Assignee: Dani Megert CLA
QA Contact:
URL:
Whiteboard:
Keywords:
: 295392 (view as bug list)
Depends on:
Blocks:
 
Reported: 2009-01-29 10:15 EST by Darin Wright CLA
Modified: 2009-12-15 04:49 EST (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Darin Wright CLA 2009-01-29 10:15:19 EST
I found this at the top of my log this morning. Not sure what caused it:

eclipse.buildId=I20090129-0100
java.fullversion=J2RE 1.5.0 IBM J9 2.3 Windows XP x86-32 j9vmwi3223-20070201 (JIT enabled)
J9VM - 20070131_11312_lHdSMR
JIT  - 20070109_1805ifx1_r8
GC   - 200701_09
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US
Framework arguments:  file:/C:/sdk3.5/eclipse/plugins/org.eclipse.equinox.launcher_1.0.200.v20081201-1815.jar
Command-line arguments:  -os win32 -ws win32 -arch x86 file:/C:/sdk3.5/eclipse/plugins/org.eclipse.equinox.launcher_1.0.200.v20081201-1815.jar




org.eclipse.swt.SWTException: Failed to execute runnable (java.lang.IllegalArgumentException: input or wait flag are null)
at org.eclipse.swt.SWT.error(SWT.java:3860)
at org.eclipse.swt.SWT.error(SWT.java:3775)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:136)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3852)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3473)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2388)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2352)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2204)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:499)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:333)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:492)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
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:64)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:615)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:550)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:505)
at org.eclipse.equinox.launcher.Main.run(Main.java:1264)
at org.eclipse.equinox.launcher.Main.main(Main.java:1240)
Caused by: java.lang.IllegalArgumentException: input or wait flag are null
at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:412)
at org.eclipse.jdt.ui.SharedASTProvider.getAST(SharedASTProvider.java:126)
at org.eclipse.jdt.internal.ui.text.correction.AssistContext.getASTRoot(AssistContext.java:84)
at org.eclipse.jdt.internal.ui.text.java.hover.ProblemHover$ProblemInfo.getJavaAnnotationFixes(ProblemHover.java:212)
at org.eclipse.jdt.internal.ui.text.java.hover.ProblemHover$ProblemInfo.getCompletionProposals(ProblemHover.java:192)
at org.eclipse.jdt.internal.ui.text.java.hover.AbstractAnnotationHover$AnnotationInformationControl.deferredCreateContent(AbstractAnnotationHover.java:275)
at org.eclipse.jdt.internal.ui.text.java.hover.AbstractAnnotationHover$AnnotationInformationControl.setInput(AbstractAnnotationHover.java:181)
at org.eclipse.jface.text.AbstractInformationControlManager.internalShowInformationControl(AbstractInformationControlManager.java:1170)
at org.eclipse.jface.text.AbstractInformationControlManager.presentInformation(AbstractInformationControlManager.java:1139)
at org.eclipse.jface.text.AbstractHoverInformationControlManager.presentInformation(AbstractHoverInformationControlManager.java:902)
at org.eclipse.jface.text.TextViewerHoverManager.doPresentInformation(TextViewerHoverManager.java:243)
at org.eclipse.jface.text.TextViewerHoverManager$5.run(TextViewerHoverManager.java:233)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:133)
... 23 more
Comment 1 Dani Megert CLA 2009-01-29 10:54:35 EST
Darin, this should not happen (obviously). We cannot do much without further steps.
Comment 2 Michael Rennie CLA 2009-07-21 09:54:39 EDT
I20090714-0800

I got the same exception in my log this morning while editing the class CommonTab in org.eclipse.debug.ui.

I added the following code and hit Ctrl+S and saw the exception.

IResource resource = (IResource) dialog.getFirstResult();
if(resource != null) {
 String arg = resource.getFullPath().toString();
 String fileLoc = VariablesPlugin
                     .getDefault()
                     .getStringVariableManager()
                     .generateVariableExpression("workspace_loc", arg); 
 fFileText.setText(fileLoc);
}

I did not use content assist if that helps in any way.
Comment 3 Dani Megert CLA 2009-07-30 08:03:38 EDT
Michael, can you reproduce with your steps (I can't).
Comment 4 Michael Rennie CLA 2009-07-30 09:04:14 EDT
(In reply to comment #3)
> Michael, can you reproduce with your steps (I can't).
> 
No, I only have seen the exception a handful of times and quite randomly
Comment 5 Dani Megert CLA 2009-11-18 04:03:47 EST
*** Bug 295392 has been marked as a duplicate of this bug. ***
Comment 6 Markus Keller CLA 2009-12-09 06:59:52 EST
Steps to reproduce in I20091208-0100:

- new workspace
- paste:
package p;
public class C {
	public static void main(String[] args) {
		System.out.println(2);
	}
}
- on Annotations preference page, configure Breakpoints to Show in Text as Vertical Bar
- Open Declaration of println method
- set a breakpoint in println method
- hover over the line with the breakpoint

Regardless of the solution for this bug, I think the main constructor of AssistContext should contain:
		Assert.isNotNull(cu);
		Assert.isNotNull(waitFlag);
Comment 7 Dani Megert CLA 2009-12-15 04:49:35 EST
Fixed in HEAD.
Available in builds >= I20091215-0800.