Community
Participate
Working Groups
Build id: I20051123-1200 I performed content assist (Ctrl+Space) on a javadoc comment, and my machine froze with 100% CPU used by the java process. I left my machine for five minutes and it was in the same state when I returned. I will attach stack traces from the beginning and the end of that five minutes. I don't have reproducible steps, and I lost the code in which the error occurred because I was forced to kill the VM. However, I was performing completion on something like this: /** * Some words here {@link IRes<cursor> */ I.e., I wanted to complete "IResource" in the link, and then it froze.
Created attachment 30641 [details] ZIP file containing three stack traces
For convenience, here is the top of the stack in all these stack dumps: "main" (TID:0x00119700, sys_thread_t:0x00235B14, state:CW, native ID:0x000003CC) prio=6 at org/eclipse/jdt/internal/compiler/parser/AbstractCommentParser.commentParse(AbstractCommentParser.java:152) at org/eclipse/jdt/internal/codeassist/complete/CompletionJavadocParser.commentParse(CompletionJavadocParser.java:89) at org/eclipse/jdt/internal/compiler/parser/JavadocParser.checkDeprecation(JavadocParser.java:75) at org/eclipse/jdt/internal/codeassist/complete/CompletionJavadocParser.checkDeprecation(CompletionJavadocParser.java:77) at org/eclipse/jdt/internal/compiler/parser/Parser.checkComment(Parser.java:890) at org/eclipse/jdt/internal/compiler/parser/Parser.consumeModifiers(Parser.java:4155) at org/eclipse/jdt/internal/codeassist/complete/CompletionParser.consumeModifiers(CompletionParser.java:2347) at org/eclipse/jdt/internal/compiler/parser/Parser.consumeRule(Parser.java:5589) at org/eclipse/jdt/internal/compiler/parser/Parser.parse(Parser.java:8528) at org/eclipse/jdt/internal/compiler/parser/Parser.parse(Parser.java:8698) at org/eclipse/jdt/internal/compiler/parser/Parser.parse(Parser.java:8663) at org/eclipse/jdt/internal/compiler/parser/Parser.dietParse(Parser.java:7453) at org/eclipse/jdt/internal/codeassist/complete/CompletionParser.dietParse(CompletionParser.java:3283) at org/eclipse/jdt/internal/codeassist/CompletionEngine.complete(CompletionEngine.java:1594) at org/eclipse/jdt/internal/core/Openable.codeComplete(Openable.java:125) at org/eclipse/jdt/internal/core/CompilationUnit.codeComplete(CompilationUnit.java:322) at org/eclipse/jdt/internal/core/CompilationUnit.codeComplete(CompilationUnit.java:315)
This looks like an infinite loop in the AbstractCommentParser. line152 is the condition of a while statement.
John, Unfortunately, I cannot reproduce your problem with the simple test you provide. Is there anything else you can remember when this happened? What was the source you were editing, what were your compiler/content assist options, etc.? Can you try to reproduce and give a more precise scenario to help me to find the origin of the problem? TIA
I finally got it. Here's the test case: /** * Some words here {@link IRes<cursor>. */ class Test {} The important point is the '.' after cursor location...
Created attachment 30675 [details] Patch to fix this issue Specific Eclipse patch format, includes 2 projects: - org.eclipse.jdt.core - org.eclipse.jdt.core.tests.model
Patch released in HEAD. Test case added in JavadocBugsCompletionModelTest
Verified for 3.2 M4 using build I20051213-0010