-
Notifications
You must be signed in to change notification settings - Fork 58
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Infinite loop in CompletionProposalTools.getScoreOfFilterMatchHelper #1132
Comments
Can't see how |
no, I killed it after 30 minutes
I do not remember exactly. I was doing several things in parallel and was switching between windows, I realized that my fan was at max speed and so looked which process was taking the CPU to the max. If just the stacktrace is not enough to guide more I guess we can close the issue for now. If I'm able to reproduce maybe we would be able to narrow down the use case and I would reopen at that time. |
@apupier I tried to provoke the endless loop in a test case with random strings for getScoreOfFilterMatch but was not able to do so even after hundred million iterations. As you suggested I am closing this issue for now. If this happens again please provide complete stacktraces. ideally multiple ones with a few seconds time difference. |
Eclipse hung 3 times today so far. Doesn't periodically save open files and let you recover. Its not making progress or growing the stack so it probably won't overflow. it varies between 16 and 23 stack entries in CompletionProposalTools.java "main" #1 [259] prio=6 os_prio=31 cpu=1500992.69ms elapsed=1926.20s tid=0x00007fec7d818000 nid=259 runnable [0x00007ff7aff7f000]
java.lang.Thread.State: RUNNABLE
at org.eclipse.lsp4e.operations.completion.CompletionProposalTools.getScoreOfFilterMatchHelper(CompletionProposalTools.java:176)
at org.eclipse.lsp4e.operations.completion.CompletionProposalTools.getScoreOfFilterMatchHelper(CompletionProposalTools.java:179)
at org.eclipse.lsp4e.operations.completion.CompletionProposalTools.getScoreOfFilterMatchHelper(CompletionProposalTools.java:179)
at org.eclipse.lsp4e.operations.completion.CompletionProposalTools.getScoreOfFilterMatchHelper(CompletionProposalTools.java:179)
at org.eclipse.lsp4e.operations.completion.CompletionProposalTools.getScoreOfFilterMatchHelper(CompletionProposalTools.java:169)
at org.eclipse.lsp4e.operations.completion.CompletionProposalTools.getScoreOfFilterMatchHelper(CompletionProposalTools.java:169)
at org.eclipse.lsp4e.operations.completion.CompletionProposalTools.getScoreOfFilterMatchHelper(CompletionProposalTools.java:179)
at org.eclipse.lsp4e.operations.completion.CompletionProposalTools.getScoreOfFilterMatchHelper(CompletionProposalTools.java:169)
at org.eclipse.lsp4e.operations.completion.CompletionProposalTools.getScoreOfFilterMatchHelper(CompletionProposalTools.java:169)
at org.eclipse.lsp4e.operations.completion.CompletionProposalTools.getScoreOfFilterMatchHelper(CompletionProposalTools.java:169)
at org.eclipse.lsp4e.operations.completion.CompletionProposalTools.getScoreOfFilterMatchHelper(CompletionProposalTools.java:179)
at org.eclipse.lsp4e.operations.completion.CompletionProposalTools.getScoreOfFilterMatchHelper(CompletionProposalTools.java:179)
at org.eclipse.lsp4e.operations.completion.CompletionProposalTools.getScoreOfFilterMatchHelper(CompletionProposalTools.java:179)
at org.eclipse.lsp4e.operations.completion.CompletionProposalTools.getScoreOfFilterMatchHelper(CompletionProposalTools.java:179)
at org.eclipse.lsp4e.operations.completion.CompletionProposalTools.getScoreOfFilterMatchHelper(CompletionProposalTools.java:169)
at org.eclipse.lsp4e.operations.completion.CompletionProposalTools.getScoreOfFilterMatchHelper(CompletionProposalTools.java:169)
at org.eclipse.lsp4e.operations.completion.CompletionProposalTools.getScoreOfFilterMatchHelper(CompletionProposalTools.java:169)
at org.eclipse.lsp4e.operations.completion.CompletionProposalTools.getScoreOfFilterMatchHelper(CompletionProposalTools.java:179)
at org.eclipse.lsp4e.operations.completion.CompletionProposalTools.getScoreOfFilterMatchHelper(CompletionProposalTools.java:169)
at org.eclipse.lsp4e.operations.completion.CompletionProposalTools.getScoreOfFilterMatchHelper(CompletionProposalTools.java:169)
at org.eclipse.lsp4e.operations.completion.CompletionProposalTools.getScoreOfFilterMatchHelper(CompletionProposalTools.java:179)
at org.eclipse.lsp4e.operations.completion.CompletionProposalTools.getScoreOfFilterMatch(CompletionProposalTools.java:149)
at org.eclipse.lsp4e.operations.completion.LSCompletionProposal.getRankScore(LSCompletionProposal.java:216)
at org.eclipse.lsp4e.jdt.LSJavaProposal.getRelevance(LSJavaProposal.java:64)
at org.eclipse.jdt.ui.text.java.CompletionProposalComparator.getRelevance(CompletionProposalComparator.java:85)
at org.eclipse.jdt.ui.text.java.CompletionProposalComparator.compare(CompletionProposalComparator.java:61)
at org.eclipse.jdt.ui.text.java.CompletionProposalComparator.compare(CompletionProposalComparator.java:1)
at org.eclipse.jdt.internal.ui.text.java.RelevanceSorter.compare(RelevanceSorter.java:40)
at org.eclipse.jface.text.contentassist.CompletionProposalPopup$$Lambda/0x000000002f1e7b10.compare(Unknown Source)
at java.util.TimSort.countRunAndMakeAscending(java.base@21.0.5/TimSort.java:355)
at java.util.TimSort.sort(java.base@21.0.5/TimSort.java:220)
at java.util.Arrays.sort(java.base@21.0.5/Arrays.java:1308)
at java.util.ArrayList.sort(java.base@21.0.5/ArrayList.java:1804)
at org.eclipse.jface.text.contentassist.CompletionProposalPopup.sortProposals(CompletionProposalPopup.java:2027)
at org.eclipse.jface.text.contentassist.CompletionProposalPopup.setProposals(CompletionProposalPopup.java:1181)
at org.eclipse.jface.text.contentassist.CompletionProposalPopup$1.run(CompletionProposalPopup.java:375)
at org.eclipse.jface.text.contentassist.CompletionProposalPopup.getSelectedProposal(CompletionProposalPopup.java:927)
at org.eclipse.jface.text.contentassist.CompletionProposalPopup.setProposals(CompletionProposalPopup.java:1166)
at org.eclipse.jface.text.contentassist.AsyncCompletionProposalPopup.lambda$4(AsyncCompletionProposalPopup.java:267)
at org.eclipse.jface.text.contentassist.AsyncCompletionProposalPopup$$Lambda/0x000000002f1ba9d8.run(Unknown Source)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:132)
- locked <0x0000000082f03250> (a org.eclipse.swt.widgets.RunnableLock)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4382)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4005)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1151)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1042)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153)
at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:663)
at org.eclipse.ui.internal.Workbench$$Lambda/0x000000002e295df8.run(Unknown Source)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:570)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:178)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:208)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:143)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:109)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:439)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:271)
at java.lang.invoke.DirectMethodHandle$Holder.invokeStatic(java.base@21.0.5/DirectMethodHandle$Holder)
at java.lang.invoke.LambdaForm$MH/0x000000002e007800.invoke(java.base@21.0.5/LambdaForm$MH)
at java.lang.invoke.LambdaForm$MH/0x000000002e007c00.invokeExact_MT(java.base@21.0.5/LambdaForm$MH)
at jdk.internal.reflect.DirectMethodHandleAccessor.invokeImpl(java.base@21.0.5/DirectMethodHandleAccessor.java:155)
at jdk.internal.reflect.DirectMethodHandleAccessor.invoke(java.base@21.0.5/DirectMethodHandleAccessor.java:103)
at java.lang.reflect.Method.invoke(java.base@21.0.5/Method.java:580)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:668)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:605)
at org.eclipse.equinox.launcher.Main.run(Main.java:1481) |
Infinite loop in CompletionProposalTools.getScoreOfFilterMatchHelper (or at least 20 minutes looping in it)
I do not know how to reproduce.
Language Server Protocol client for Eclipse IDE (Incubation) 0.18.10.202405280703 org.eclipse.lsp4e
in Eclipse Version: 2024-06 (4.32.0) Build id: 20240606-1231
The text was updated successfully, but these errors were encountered: