Ecl开发者_开发问答ipese crashes on one (and only it appears) intellensense.
typing "Display.getW" (towards the Display.GetWidth() function) as I type W eclipse reproduceably crashes. Trying random other functions and classes yield no problems.
Any ideas as to what this might be?
Eclipse Info: Eclipse Java EE IDE for Web Developers.
Build id: 20100218-1602
Eclipse Galileo
Edit: Using windowsXP
The only bugs related to a crash on auto-completion all mention Linux platform and an issue with xulrunner library.
See for instance bug 236724:
You don't need to download an older version of xulrunner since the problem is merely that the 64bit version of the library is being loaded rather than the 32bit library.
To rectify this, just add the following line to your eclipse.ini file which points to the 32bit version of the xulrunner library:
-Dorg.eclipse.swt.browser.XULRunnerPath=<path_to_32bit_xulrunner_lib>
On RHEL5 for example, the path would be
/usr/lib/xulrunner-1.9
.
So you would in this case either need an older version of xulrunner, or fixing its path.
On Windows, on the other hand, that may be a good opportunity to fill in a new bug report.
Update February 2012, Raedwald mentions in the comments:
- The relevant Eclipse FAQ "Can I specify which XULRunner installation gets used?"
- This can also fix the problem if you provide as the
XULRunnerPath
a path-name that does not point to anxulrunner
library directory.
What happens is that Eclipse instead falls back to using an internal renderer.
I believe this is the only solution if your O/S (such as RedHat 5.8) upgrades you to a FireFox version that usesxulrunner-2
but does not providewebkitgtk
.
This, and related problems, are caused by incompatibilities between Eclipse and xulrunner
, which is a component of Fire Fox. I came across this problem today, after updating Fire Fox on my RHEL 5 development computer.
The "intellisense" (content assist) feature, and other features of Eclipse, are a rendering of HTML. Eclipse tries to hand-off this rendering work to a system component. If your web browser is Fire Fox, Eclipse traditionally uses xulrunner
, which is intimately associated with Fire Fox. It does so by calling a C API through a native library. However, that API is subject to change by the Mozilla developers, and different versions of xulrunner
have had incompatible APIs. In particular, Eclipse can not use "xulrunner
2", which is the version in recent versions of Fire Fox.
Newer versions of Eclipse try not to use xulrunner
at all, but instead try to use webkitgtk
. However, if that is not present, or Eclipse is configured not to use it, Eclipse will fall back to using xulrunner
. Which can then crash, because Eclipse does not detect that the available xulrunner
is incompatible. The Eclipse developers recognize this as a Bad Thing (it is Bug 262929), but it no yet fixed (still in Eclipse 3.7).
Therefore, if webkitgtk
is present on your computer, it might be better to tell Eclipse to use it. The Eclipse FAQ says how to do this: set the Java property org.eclipse.swt.browser.UseWebKitGTK
to true
. You can do so in your eclipse.ini
file (as told elsewhere) by adding the line -Dorg.eclipse.swt.browser.UseWebKitGTK=true
at the end of the file.
精彩评论