| Summary: | cdt editor hangs when trying to autocomplete | ||
|---|---|---|---|
| Product: | [Tools] CDT | Reporter: | Christopher Friedt <cfriedt> |
| Component: | cdt-editor | Assignee: | Project Inbox <cdt-editor-inbox> |
| Status: | CLOSED DUPLICATE | QA Contact: | Anton Leherbauer <aleherb+eclipse> |
| Severity: | critical | ||
| Priority: | P3 | CC: | cdtdoug, yevshif |
| Version: | 8.0 | ||
| Target Milestone: | --- | ||
| Hardware: | Macintosh | ||
| OS: | Mac OS X - Carbon (unsup.) | ||
| Whiteboard: | |||
Incidentally, I'm using Eclipse Helios, build id M20110210-1200. PS: Hi Doug, how're you doing? Note that you can disable auto completion on '.' in the preferences. *** This bug has been marked as a duplicate of bug 126698 *** |
Build Identifier: Firstly, problem exists for every platform I've ever used eclipse on (PC, Mac), and with every operating system I've ever used it on (Linux, OS X), and has persisted for as long as I've been using Eclipse (a long time). The description of the bug is as follows: For very large software projects (e.g. the linux kernel), when defining a global data structure or variable of some kind with an initializer (which is very, very common), the autocompletion simply hangs infinitely due to the sheer vastness of the number of global symbols the autocompletion handler needs to take into account. Example (outside of any blocks, i.e. in the global context): struct irrelevant { int field; }; struct irrelevant x = { .[... wait a second for autocompletion to start, and never return] I have to stress that this only works for really large software projects, and it only fails for them too. Regardless of the size of the project, It's still a problem. Eclipse could be hanging for 15 minutes without any UI responsiveness, and I'm forced to just kill the process and restart eclipse. Now, if one types the word "field" before the autocompletion handler has time to begin, there is no problem at all (but then again, autocompletion is completely sidestepped). My suggestion is really to just forget about autocompletion in the global context. Even with small projects, autocompletion in the global scope (in C) usually comes up with dozens of completely unrelated and useless values. If it was disabled for the global scope, at least it wouldn't crash eclipse. This could be related to bug #345138 or #345970, but since it's still present in what I would imagine is the latest version of eclipse, it's obviously never been resolved. I would imagine that behaviour is better in C++ due to namespaces, but again, if anything is in the global scope (i.e. the default namespace), then it's probably just as poorly behaved. Reproducible: Always Steps to Reproduce: 1. follow 2. the steps 3. in my bug report