| Summary: | LLTE in CallCompletionSessionProcessor.process (202) | ||
|---|---|---|---|
| Product: | z_Archived | Reporter: | EPP Error Reports <error-reports-inbox> |
| Component: | Recommenders | Assignee: | Andreas Sewe <sewe> |
| Status: | CLOSED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | P2 | CC: | marcel.bruch, sewe |
| Version: | unspecified | ||
| Target Milestone: | --- | ||
| Hardware: | All | ||
| OS: | All | ||
| See Also: | https://git.eclipse.org/r/#/c/46711/ | ||
| Whiteboard: | |||
| Bug Depends on: | 466909 | ||
| Bug Blocks: | |||
(In reply to Recommenders Error Reports from comment #0) > The following incident was reported via the automated error reporting: > > The user provided the following details for this incident: > package com.example.ecl; > > import java.util.ArrayList; > import java.util.List; > > import org.eclipse.jface.dialogs.Dialog; > import org.eclipse.swt.SWT; > import org.eclipse.swt.widgets.Composite; > import org.eclipse.swt.widgets.Control; > import org.eclipse.swt.widgets.Shell; > import org.eclipse.swt.widgets.Text; > > public class MyDialog extends Dialog { > > private Text text; > > protected MyDialog(Shell parentShell) { > super(parentShell); > } > > @Override > protected Control createDialogArea(Composite parent) { > text = new Text(parent, SWT.NONE); > text.setLayoutData(parent); > List<String> l = new ArrayList<>(); > l.add(|<content assist here> > > return super.createDialogArea(parent); > } > > } > > Andreas, can you have a loo? I am afraid I cannot reproduce that, even when using exactly the same SDK nightly [1]. If I trigger Content Assist at the indicated position, I only get two proposals: add(String) and add(int, String) + 4 template proposals. JDT doesn't even try to propose the static Window.getDefaultImages() method which we couldn't match. And triggering at a different position, i.e., outside the parameter list, shows Window.getDefaultImages() just fine. I fear we need to fire up the remote debugger, so please don't throw away this test class. [1] <http://download.eclipse.org/eclipse/downloads/drops4/N20150416-2000/> *** Bug 461391 has been marked as a duplicate of this bug. *** *** Bug 460879 has been marked as a duplicate of this bug. *** *** Bug 460874 has been marked as a duplicate of this bug. *** *** Bug 460878 has been marked as a duplicate of this bug. *** *** Bug 461196 has been marked as a duplicate of this bug. *** Andreas, can you please reserve some time on improving the proposal matching this week? Although not critical it would be great if we could get rid of these error log entries before M7. ------
STATUS
------
pluginId org.eclipse.recommenders.calls.rcp
pluginVersion 2.1.14.v20150423-0635
code 2
severity 4
message Proposal matching failed for [METHOD_REF]{completion:valueOf(), declSign:Lorg.eclipse.recommenders.apidocs.rcp.ApidocProvider$Status;, sign:(Ljava.lang.String;)Lorg.eclipse.recommenders.apidocs.rcp.ApidocProvider$Status;, declKey:, key:, name:valueOf, replace:[6931,6931], token:[6931,6931], relevance:27}.
fingerprint d6cc61a5
Exception:org.eclipse.recommenders.utils.Logs$LogTraceException: null
at org.eclipse.recommenders.utils.Logs$LogTraceException.newTrace(Logs.java:377)
at org.eclipse.recommenders.utils.Logs.log(Logs.java:130)
at org.eclipse.recommenders.internal.calls.rcp.CallCompletionSessionProcessor.process(CallCompletionSessionProcessor.java:202)
at org.eclipse.recommenders.completion.rcp.processable.IntelligentCompletionProposalComputer.fireProcessProposal(IntelligentCompletionProposalComputer.java:253)
at org.eclipse.recommenders.completion.rcp.processable.IntelligentCompletionProposalComputer.computeCompletionProposals(IntelligentCompletionProposalComputer.java:145)
at org.eclipse.jdt.internal.ui.text.java.CompletionProposalComputerDescriptor.computeCompletionProposals(CompletionProposalComputerDescriptor.java:333)
at org.eclipse.jdt.internal.ui.text.java.CompletionProposalCategory.computeCompletionProposals(CompletionProposalCategory.java:337)
at org.eclipse.jdt.internal.ui.text.java.ContentAssistProcessor.collectProposals(ContentAssistProcessor.java:322)
at org.eclipse.jdt.internal.ui.text.java.ContentAssistProcessor.computeCompletionProposals(ContentAssistProcessor.java:279)
at org.eclipse.jface.text.contentassist.ContentAssistant$5.run(ContentAssistant.java:1904)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.jface.text.contentassist.ContentAssistant.computeCompletionProposals(ContentAssistant.java:1902)
at org.eclipse.jface.text.contentassist.CompletionProposalPopup.computeProposals(CompletionProposalPopup.java:573)
at org.eclipse.jface.text.contentassist.CompletionProposalPopup.access$16(CompletionProposalPopup.java:570)
at org.eclipse.jface.text.contentassist.CompletionProposalPopup$2.run(CompletionProposalPopup.java:505)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.jface.text.contentassist.CompletionProposalPopup.showProposals(CompletionProposalPopup.java:499)
at org.eclipse.jface.text.contentassist.ContentAssistant$2.run(ContentAssistant.java:384)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:136)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3997)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3674)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1112)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:993)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:654)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:598)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:138)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
at sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-2)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
------
REPORT
------
anonymousId f8087d7b-9d38-4c73-aeb1-6991603c2a84
name Marcel Bruch (M6, Recommenders)
email marcel.bruch@codetrails.com
comment
eclipseBuildId 4.5.0.I20150320-0800
eclipseProduct org.eclipse.epp.package.committers.product
javaRuntimeVersion 1.8.0_40-b25
osgiWs cocoa
osgiOs MacOSX
osgiOsVersion 10.10.3
osgiArch x86_64
logMessage false
ignoreSimilar false
-------
BUNDLES
-------
name org.eclipse.core.databinding.observable
version 1.4.1.v20150311-0218
name org.eclipse.core.databinding
version 1.4.100.v20150311-0216
name org.eclipse.core.runtime
version 3.11.0.v20150316-1241
name org.eclipse.e4.ui.workbench
version 1.3.0.v20150316-1403
name org.eclipse.e4.ui.workbench.swt
version 0.12.100.v20150316-1403
name org.eclipse.equinox.app
version 1.3.200.v20130910-1609
name org.eclipse.equinox.launcher
version 1.3.0.v20140415-2008
name org.eclipse.jdt.ui
version 3.11.0.v20150316-2042
name org.eclipse.jdt
version 3.11.0.v20150320-0800
name org.eclipse.jface.text
version 3.10.0.v20150112-1146
name org.eclipse.jface
version 3.11.0.v20150313-1544
name org.eclipse.recommenders.calls.rcp
version 2.1.14.v20150423-0635
name org.eclipse.recommenders.calls
version 2.1.14.v20150420-1439
name org.eclipse.recommenders.completion.rcp
version 2.1.14.v20150421-1501
name org.eclipse.recommenders.utils
version 2.1.14.v20150420-1648
name org.eclipse.swt
version 3.104.0.v20150319-1901
name org.eclipse.ui
version 3.107.0.v20150315-0703
name org.eclipse.ui.ide.application
version 1.0.600.v20150315-1254
name org.eclipse.ui.ide
version 3.11.0.v20150309-2044
Added a workaround for handling completions on unresolved CompletionOnQualifiedNameReference (we do not support this anyways so, I don't see any problem with this). For later reference: A location in code I was able to reproduce it below. Note that Status is a Enum declared as inner class in ApidocProvider and not imported yet. Thus, the completionOnQualifiedNameReference has a ProblemBinding.
JDT completion could handle that to some extent (it proposes methods of the right type) but this is done through a different logic. Our code would need a more thoughtful implementation - which may not make much sense at the moment because we will not work in these situations anyways.
Requesting a review and merge before M7 for further real live testing.
---
package org.eclipse.recommenders.apidocs.rcp;
import org.eclipse.swt.graphics.Image;
public class ApidocProviderDescription {
private final String name;
private final Image image;
public ApidocProviderDescription(String name, Image image) {
this.name = name;
this.image = image;
}
public String getName() {
Status.|<trigger here>
return name;
}
public Image getImage() {
return image;
}
}
Workaround for CompletionOnQualifiedNameReference on not yet imported types + test case have been merged. Keeping this bug open for other issues we may find. Tested on a few more examples and wasn't able to reproduce with the current version. Closing now. Reopen if the problem pops up again in later versions. |
The following incident was reported via the automated error reporting: The user provided the following details for this incident: package com.example.ecl; import java.util.ArrayList; import java.util.List; import org.eclipse.jface.dialogs.Dialog; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; public class MyDialog extends Dialog { private Text text; protected MyDialog(Shell parentShell) { super(parentShell); } @Override protected Control createDialogArea(Composite parent) { text = new Text(parent, SWT.NONE); text.setLayoutData(parent); List<String> l = new ArrayList<>(); l.add(|<content assist here> return super.createDialogArea(parent); } } Andreas, can you have a loo? code: 2 plugin: org.eclipse.recommenders.calls.rcp_2.1.14.v20150414-1341 message: Proposal matching failed for [METHOD_REF]{completion:getDefaultImages(), declSign:Lorg.eclipse.jface.window.Window;, sign:()Lorg.eclipse.swt.graphics.Image;, declKey:, key:, name:getDefaultImages, replace:[613,613], token:[0,0], relevance:1}. fingerprint: 6cea99db exception class: org.eclipse.recommenders.utils.Logs$LogTraceException exception message: - number of children: 0 org.eclipse.recommenders.utils.Logs$LogTraceException: null at org.eclipse.recommenders.utils.Logs$LogTraceException.newTrace(Logs.java:377) at org.eclipse.recommenders.utils.Logs.log(Logs.java:130) at org.eclipse.recommenders.internal.calls.rcp.CallCompletionSessionProcessor.process(CallCompletionSessionProcessor.java:202) at org.eclipse.recommenders.completion.rcp.processable.IntelligentCompletionProposalComputer.fireProcessProposal(IntelligentCompletionProposalComputer.java:253) at org.eclipse.recommenders.completion.rcp.processable.IntelligentCompletionProposalComputer.computeCompletionProposals(IntelligentCompletionProposalComputer.java:148) at org.eclipse.jdt.internal.ui.text.java.CompletionProposalComputerDescriptor.computeCompletionProposals(CompletionProposalComputerDescriptor.java:333) at org.eclipse.jdt.internal.ui.text.java.CompletionProposalCategory.computeCompletionProposals(CompletionProposalCategory.java:337) at org.eclipse.jdt.internal.ui.text.java.ContentAssistProcessor.collectProposals(ContentAssistProcessor.java:322) at org.eclipse.jdt.internal.ui.text.java.ContentAssistProcessor.computeCompletionProposals(ContentAssistProcessor.java:279) at org.eclipse.jface.text.contentassist.ContentAssistant$5.run(ContentAssistant.java:1904) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.jface.text.contentassist.ContentAssistant.computeCompletionProposals(ContentAssistant.java:1902) at org.eclipse.jface.text.contentassist.CompletionProposalPopup.computeProposals(CompletionProposalPopup.java:573) at org.eclipse.jface.text.contentassist.CompletionProposalPopup.access$16(CompletionProposalPopup.java:570) at org.eclipse.jface.text.contentassist.CompletionProposalPopup$2.run(CompletionProposalPopup.java:505) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) at org.eclipse.jface.text.contentassist.CompletionProposalPopup.showProposals(CompletionProposalPopup.java:499) at org.eclipse.jface.text.contentassist.ContentAssistant.showPossibleCompletions(ContentAssistant.java:1720) at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor$AdaptedSourceViewer.doOperation(CompilationUnitEditor.java:180) at org.eclipse.ui.texteditor.ContentAssistAction$1.run(ContentAssistAction.java:82) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) at org.eclipse.ui.texteditor.ContentAssistAction.run(ContentAssistAction.java:80) at org.eclipse.jface.action.Action.runWithEvent(Action.java:473) at org.eclipse.jface.commands.ActionHandler.execute(ActionHandler.java:122) at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:90) at sun.reflect.GeneratedMethodAccessor65.invoke(null:-1) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56) at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:252) at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:234) at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:132) at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:152) at org.eclipse.core.commands.Command.executeWithChecks(Command.java:493) at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:486) at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:210) at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.executeCommand(KeyBindingDispatcher.java:286) at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.press(KeyBindingDispatcher.java:507) at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.processKeyEvent(KeyBindingDispatcher.java:558) at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.filterKeySequenceBindings(KeyBindingDispatcher.java:378) at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.access$0(KeyBindingDispatcher.java:324) at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher$KeyDownFilter.handleEvent(KeyBindingDispatcher.java:86) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1098) at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4198) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1467) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1490) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1475) at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1504) at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1500) at org.eclipse.swt.widgets.Canvas.sendKeyEvent(Canvas.java:496) at org.eclipse.swt.widgets.Control.doCommandBySelector(Control.java:1060) at org.eclipse.swt.widgets.Display.windowProc(Display.java:5757) at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(OS.java:-2) at org.eclipse.swt.internal.cocoa.NSResponder.interpretKeyEvents(NSResponder.java:68) at org.eclipse.swt.widgets.Composite.keyDown(Composite.java:594) at org.eclipse.swt.widgets.Display.windowProc(Display.java:5667) at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(OS.java:-2) at org.eclipse.swt.widgets.Widget.callSuper(Widget.java:221) at org.eclipse.swt.widgets.Widget.windowSendEvent(Widget.java:2105) at org.eclipse.swt.widgets.Shell.windowSendEvent(Shell.java:2337) at org.eclipse.swt.widgets.Display.windowProc(Display.java:5729) at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(OS.java:-2) at org.eclipse.swt.widgets.Display.applicationSendEvent(Display.java:5166) at org.eclipse.swt.widgets.Display.applicationProc(Display.java:5315) at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(OS.java:-2) at org.eclipse.swt.internal.cocoa.NSApplication.sendEvent(NSApplication.java:128) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3669) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1124) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1015) at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156) at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:654) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:598) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:139) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235) at sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-2) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603) at org.eclipse.equinox.launcher.Main.run(Main.java:1465) General Information: reported-by: Marcel Bruch (Nightly 20.04) anonymous-id: f8087d7b-9d38-4c73-aeb1-6991603c2a84 eclipse-build-id: 4.5.0.N20150416-2000 eclipse-product: org.eclipse.sdk.ide operating system: MacOSX 10.10.3 (x86_64) - cocoa jre-version: 1.8.0_40-b25 The following plug-ins were present on the execution stack (*): 1. org.eclipse.core.commands_3.6.100.N20150416-2000 2. org.eclipse.core.databinding.observable_1.4.1.N20150416-2000 3. org.eclipse.core.databinding_1.4.100.N20150416-2000 4. org.eclipse.core.runtime_3.11.0.N20150416-2000 5. org.eclipse.e4.core.commands_0.10.2.N20150416-2000 6. org.eclipse.e4.core.contexts_1.3.100.N20150416-2000 7. org.eclipse.e4.core.di_1.4.0.N20150416-2000 8. org.eclipse.e4.ui.bindings_0.10.200.N20150416-2000 9. org.eclipse.e4.ui.workbench_1.3.0.N20150416-2000 10. org.eclipse.e4.ui.workbench.swt_0.12.100.N20150416-2000 11. org.eclipse.equinox.app_1.3.200.N20150416-2000 12. org.eclipse.equinox.launcher_1.3.0.N20150416-2000 13. org.eclipse.jdt.ui_3.11.0.N20150416-2000 14. org.eclipse.jdt_3.11.0.N20150416-2000 15. org.eclipse.jface_3.11.0.N20150416-2000 16. org.eclipse.jface.text_3.10.0.N20150416-2000 17. org.eclipse.recommenders.calls.rcp_2.1.14.v20150414-1341 18. org.eclipse.recommenders.calls_2.1.14.v20150324-1605 19. org.eclipse.recommenders.completion.rcp_2.1.14.v20150415-1112 20. org.eclipse.recommenders.utils_2.1.14.v20150410-1423 21. org.eclipse.swt_3.104.0.N20150416-2000 22. org.eclipse.ui_3.107.0.N20150416-2000 23. org.eclipse.ui.ide.application_1.0.600.N20150416-2000 24. org.eclipse.ui.ide_3.11.0.N20150416-2000 Please note that: * Messages, stacktraces, and nested status objects may be shortened. * Bug fields like status, resolution, and whiteboard are sent back to reporters. * The list of present bundles and their respective versions was calculated by package naming heuristics. This may or may not reflect reality. Other Resources: * Report: https://dev.eclipse.org/recommenders/committers/confess/#/problems/5530bf0de4b026254ee051e3 * Manual: https://dev.eclipse.org/recommenders/community/confess/#/guide Thank you for your assistance. Your friendly error-reports-inbox.