Bug 470206 - java.lang.IllegalArgumentException for "java.lang.Class<capture#3-of ?>" in Signature.checkNextChar (1006)
Summary: java.lang.IllegalArgumentException for "java.lang.Class<capture#3-of ?>" in S...
Status: NEW
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 4.5   Edit
Hardware: All All
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: JDT-Core-Inbox CLA
QA Contact:
URL:
Whiteboard: stalebug
Keywords:
: 470197 (view as bug list)
Depends on:
Blocks:
 
Reported: 2015-06-15 13:26 EDT by EPP Error Reports CLA
Modified: 2023-01-13 13:50 EST (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description EPP Error Reports CLA 2015-06-15 13:26:34 EDT
Hello JDT Team.

I can across this error report while triaging Bug 470197 for the Code Recommenders project, whose symptoms are *very* similar.

In fact, both stack traces include the very same line of code, albeit in different classes (SelectionRequestor here, InternalExtendedCompletionContext in Bug 470197):

  local.type == null ? Signature.createTypeSignature(binding.type.signableName(), true) : Util.typeSignature(local.type),

From the trace alone I unfortunately cannot tell which branch was taken to ultimately produce the unparseable signature, but I think that we are dealing with a JavaElementHyperlinkDetector in one case and an ParameterGuessingProposal in the other merely means that there are two ways to trigger the same bug revolving around a LocalVariableBinding.

Anyway, here's the original report from the automatic error reporter:

    code:                   0
    plugin:                 org.eclipse.ui_3.107.0.v20150315-0703
    message:                Unhandled event loop exception
    fingerprint:            4fc1b50c
    exception class:        java.lang.IllegalArgumentException
    exception message:      java.lang.Class<capture#3-of ?>
    number of children:     0
    
    java.lang.IllegalArgumentException: java.lang.Class<capture#3-of ?>
    at org.eclipse.jdt.core.Signature.checkNextChar(Signature.java:1006)
    at org.eclipse.jdt.core.Signature.encodeTypeSignature(Signature.java:1449)
    at org.eclipse.jdt.core.Signature.createCharArrayTypeSignature(Signature.java:1075)
    at org.eclipse.jdt.core.Signature.createTypeSignature(Signature.java:1236)
    at org.eclipse.jdt.internal.core.SelectionRequestor.acceptLocalVariable(SelectionRequestor.java:466)
    at org.eclipse.jdt.internal.codeassist.SelectionEngine.selectFrom(SelectionEngine.java:1284)
    at org.eclipse.jdt.internal.codeassist.SelectionEngine.select(SelectionEngine.java:996)
    at org.eclipse.jdt.internal.core.Openable.codeSelect(Openable.java:163)
    at org.eclipse.jdt.internal.core.CompilationUnit.codeSelect(CompilationUnit.java:377)
    at org.eclipse.jdt.internal.core.CompilationUnit.codeSelect(CompilationUnit.java:371)
    at org.eclipse.jdt.internal.ui.javaeditor.JavaElementHyperlinkDetector.detectHyperlinks(JavaElementHyperlinkDetector.java:102)
    at org.eclipse.ui.texteditor.HyperlinkDetectorRegistry$HyperlinkDetectorDelegate.detectHyperlinks(HyperlinkDetectorRegistry.java:80)
    at org.eclipse.jface.text.hyperlink.HyperlinkManager.findHyperlinks(HyperlinkManager.java:289)
    at org.eclipse.jface.text.hyperlink.HyperlinkManager.findHyperlinks(HyperlinkManager.java:261)
    at org.eclipse.jface.text.hyperlink.HyperlinkManager.mouseMove(HyperlinkManager.java:469)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:212)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4203)
    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.notifyListeners(Widget.java:1279)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4045)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3672)
    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:483)
    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:      
    anonymous-id:     43b9d3b0-bf07-4c6f-9d11-7693b5f94f63
    eclipse-build-id: 4.5.0.I20150320-0800
    eclipse-product:  org.eclipse.platform.ide
    operating system: MacOSX 10.10.3 (x86_64) - cocoa
    jre-version:      1.8.0_25-b17

The following plug-ins were present on the execution stack (*):
    1. org.eclipse.core.databinding.observable_1.4.1.v20150311-0218
    2. org.eclipse.core.databinding_1.4.100.v20150311-0216
    3. org.eclipse.core.runtime_3.11.0.v20150316-1241
    4. org.eclipse.e4.ui.workbench_1.3.0.v20150316-1403
    5. org.eclipse.e4.ui.workbench.swt_0.12.100.v20150316-1403
    6. org.eclipse.equinox.app_1.3.200.v20130910-1609
    7. org.eclipse.equinox.launcher_1.3.0.v20140415-2008
    8. org.eclipse.jdt_3.11.0.v20150320-0800
    9. org.eclipse.jdt.core_3.11.0.v20150317-0048
    10. org.eclipse.jdt.ui_3.11.0.v20150316-2042
    11. org.eclipse.jface.text_3.10.0.v20150112-1146
    12. org.eclipse.jface_3.11.0.v20150313-1544
    13. org.eclipse.swt_3.104.0.v20150319-1901
    14. org.eclipse.ui_3.107.0.v20150315-0703
    15. org.eclipse.ui.ide.application_1.0.600.v20150315-1254
    16. org.eclipse.ui.ide_3.11.0.v20150309-2044

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/5543572de4b04acfc3d24503  
* Manual: https://dev.eclipse.org/recommenders/community/confess/#/guide


Thank you for your assistance.
Your friendly error-reports-inbox.

This bug was created on behalf of andreas.sewe@codetrails.com.
Comment 1 Andreas Sewe CLA 2015-10-05 06:17:02 EDT
*** Bug 470197 has been marked as a duplicate of this bug. ***
Comment 2 Jay Arthanareeswaran CLA 2016-04-05 04:34:23 EDT
No progress yet and unlikely to get time during 4.6. Moving out.
Comment 3 Manoj N Palat CLA 2018-05-21 06:07:00 EDT
Bulk move out of 4.8
Comment 4 Eclipse Genie CLA 2020-07-25 17:29:47 EDT
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet.

If you have further information on the current state of the bug, please add it. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant.

--
The automated Eclipse Genie.
Comment 5 Eclipse Genie CLA 2023-01-12 19:43:34 EST
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet.

If you have further information on the current state of the bug, please add it. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant.

--
The automated Eclipse Genie.
Comment 6 Stephan Herrmann CLA 2023-01-13 13:50:09 EST
Looks like this
     java.lang.IllegalArgumentException: java.lang.Class<capture#3-of ?>
indicates that "someone" requested encoding a signature that has a "#3" segment where none is expected. See usage of org.eclipse.jdt.core.Signature.CAPTURE which expects a whitespace after 'capture-of', not '#'