Bug 472567 - ClassCastException in SingleNameReference.localVariableBinding (851)
Summary: ClassCastException in SingleNameReference.localVariableBinding (851)
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: Jay Arthanareeswaran CLA
QA Contact:
URL:
Whiteboard: stalebug
Keywords: needinfo
Depends on:
Blocks:
 
Reported: 2015-07-14 02:07 EDT by EPP Error Reports CLA
Modified: 2022-10-18 12:42 EDT (History)
3 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-07-14 02:07:41 EDT
The following incident was reported via the automated error reporting:


    code:                   4
    plugin:                 org.eclipse.jdt.core_3.11.0.v20150126-2015
    message:                Could not create binding from binding key: Lorg/jooq/TransactionalCallable<Lorg/jooq/impl/DefaultDSLContext;:214TT;>;
    fingerprint:            199f7dd5
    exception class:        java.lang.ClassCastException
    exception message:      org.eclipse.jdt.internal.compiler.lookup.ProblemFieldBinding cannot be cast to org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding
    number of children:     0
    
    java.lang.ClassCastException: org.eclipse.jdt.internal.compiler.lookup.ProblemFieldBinding cannot be cast to org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding
    at org.eclipse.jdt.internal.compiler.ast.SingleNameReference.localVariableBinding(SingleNameReference.java:851)
    at org.eclipse.jdt.internal.compiler.ast.Assignment.resolveType(Assignment.java:199)
    at org.eclipse.jdt.internal.compiler.ast.Expression.resolve(Expression.java:1020)
    at org.eclipse.jdt.internal.compiler.ast.Block.resolveUsing(Block.java:127)
    at org.eclipse.jdt.internal.compiler.ast.TryStatement.resolve(TryStatement.java:1071)
    at org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.resolveStatements(AbstractMethodDeclaration.java:638)
    at org.eclipse.jdt.internal.compiler.ast.MethodDeclaration.resolveStatements(MethodDeclaration.java:307)
    at org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.resolve(AbstractMethodDeclaration.java:548)
    at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve(TypeDeclaration.java:1188)
    at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve(TypeDeclaration.java:1301)
    at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.resolve(CompilationUnitDeclaration.java:590)
    at org.eclipse.jdt.internal.compiler.Compiler.process(Compiler.java:803)
    at org.eclipse.jdt.core.dom.CompilationUnitResolver.process(CompilationUnitResolver.java:348)
    at org.eclipse.jdt.internal.core.util.BindingKeyResolver.consumeTopLevelType(BindingKeyResolver.java:462)
    at org.eclipse.jdt.internal.core.util.BindingKeyParser.parse(BindingKeyParser.java:635)
    at org.eclipse.jdt.internal.core.util.BindingKeyParser.parse(BindingKeyParser.java:618)
    at org.eclipse.jdt.internal.core.util.BindingKeyParser.parseTypeArgument(BindingKeyParser.java:986)
    at org.eclipse.jdt.internal.core.util.BindingKeyParser.parseParameterizedType(BindingKeyParser.java:929)
    at org.eclipse.jdt.internal.core.util.BindingKeyParser.parse(BindingKeyParser.java:649)
    at org.eclipse.jdt.internal.core.util.BindingKeyParser.parse(BindingKeyParser.java:618)
    at org.eclipse.jdt.internal.core.util.BindingKeyResolver.getCompilerBinding(BindingKeyResolver.java:621)
    at org.eclipse.jdt.core.dom.CompilationUnitResolver.reportBinding(CompilationUnitResolver.java:1092)
    at org.eclipse.jdt.core.dom.CompilationUnitResolver.resolve(CompilationUnitResolver.java:913)
    at org.eclipse.jdt.core.dom.CompilationUnitResolver.resolve(CompilationUnitResolver.java:585)
    at org.eclipse.jdt.core.dom.ASTParser.createASTs(ASTParser.java:897)
    at org.eclipse.jdt.internal.ui.text.java.LazyGenericTypeProposal.getExpectedType(LazyGenericTypeProposal.java:633)
    at org.eclipse.jdt.internal.ui.text.java.LazyGenericTypeProposal.computeTypeArgumentProposals(LazyGenericTypeProposal.java:331)
    at org.eclipse.jdt.internal.ui.text.java.LazyGenericTypeProposal.apply(LazyGenericTypeProposal.java:221)
    at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.apply(AbstractJavaCompletionProposal.java:320)
    at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.apply(AbstractJavaCompletionProposal.java:335)
    at org.eclipse.jdt.internal.ui.text.java.JavaTypeCompletionProposal.apply(JavaTypeCompletionProposal.java:112)
    at org.eclipse.jdt.internal.ui.text.java.AnonymousTypeCompletionProposal.apply(AnonymousTypeCompletionProposal.java:359)
    at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.apply(AbstractJavaCompletionProposal.java:498)
    at org.eclipse.jface.text.contentassist.CompletionProposalPopup.insertProposal(CompletionProposalPopup.java:963)
    at org.eclipse.jface.text.contentassist.CompletionProposalPopup.insertSelectedProposalWithMask(CompletionProposalPopup.java:914)
    at org.eclipse.jface.text.contentassist.CompletionProposalPopup.verifyKey(CompletionProposalPopup.java:1358)
    at org.eclipse.jface.text.contentassist.ContentAssistant$InternalListener.verifyKey(ContentAssistant.java:814)
    at org.eclipse.jface.text.TextViewer$VerifyKeyListenersManager.verifyKey(TextViewer.java:492)
    at org.eclipse.swt.custom.StyledTextListener.handleEvent(StyledTextListener.java:66)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4354)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1085)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1070)
    at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:782)
    at org.eclipse.swt.custom.StyledText.handleKeyDown(StyledText.java:6002)
    at org.eclipse.swt.custom.StyledText$7.handleEvent(StyledText.java:5687)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4354)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1085)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1070)
    at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1112)
    at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1108)
    at org.eclipse.swt.widgets.Widget.wmChar(Widget.java:1529)
    at org.eclipse.swt.widgets.Control.WM_CHAR(Control.java:4764)
    at org.eclipse.swt.widgets.Canvas.WM_CHAR(Canvas.java:343)
    at org.eclipse.swt.widgets.Control.windowProc(Control.java:4645)
    at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:339)
    at org.eclipse.swt.widgets.Display.windowProc(Display.java:5042)
    at org.eclipse.swt.internal.win32.OS.DispatchMessageW(OS.java:-2)
    at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2549)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3759)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032)
    at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
    at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:648)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:592)
    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:     db231407-f5a0-4b36-b04d-38aa61d7e49a
    eclipse-build-id: 4.5.0.I20150203-1300
    eclipse-product:  org.eclipse.epp.package.dsl.product
    operating system: Windows8 6.2.0 (x86_64) - win32
    jre-version:      1.8.0_31-b13

The following plug-ins were present on the execution stack (*):
    1. org.eclipse.core.databinding.observable_1.4.1.v20140910-2107
    2. org.eclipse.core.databinding_1.4.100.v20141002-1314
    3. org.eclipse.core.runtime_3.10.0.v20150112-1422
    4. org.eclipse.e4.ui.workbench_1.3.0.v20150113-2327
    5. org.eclipse.e4.ui.workbench.swt_0.12.100.v20150114-0905
    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.v20150203-1300
    9. org.eclipse.jdt.core_3.11.0.v20150126-2015
    10. org.eclipse.jdt.ui_3.10.100.v20150116-1347
    11. org.eclipse.jface.text_3.10.0.v20150112-1146
    12. org.eclipse.jface_3.11.0.v20150121-1751
    13. org.eclipse.swt_3.104.0.v20150203-2243
    14. org.eclipse.ui_3.107.0.v20150107-0903
    15. org.eclipse.ui.ide.application_1.0.600.v20150120-1542
    16. org.eclipse.ui.ide_3.10.100.v20150126-1117

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


Thank you for your assistance.
Your friendly error-reports-inbox.
Comment 1 Stephan Herrmann CLA 2015-07-14 04:09:06 EDT
Perhaps a fix for this is as easy as letting the ctor of ProblemFieldBinding set
  this.bits |= Binding.FIELD;

We also have useful information in the error message, which tells us we were parsing this binding key:
  Lorg/jooq/TransactionalCallable<Lorg/jooq/impl/DefaultDSLContext;:214TT;>;

So, if s.o. digs out the involved classes (from https://github.com/jOOQ ?) and invents a bug leading to creation of the ProblemFieldBinding we should be able to create a JUnit. Maybe the concrete classes aren't even needed if we synthesize a similar example according to the stack trace.

Note that org.eclipse.jdt.core_3.11.0.v20150126-2015 is not the release version.

Anyone?
Comment 2 Jay Arthanareeswaran CLA 2015-08-14 02:09:29 EDT
> Anyone?

I will take a look.
Comment 3 Jay Arthanareeswaran CLA 2016-04-14 07:07:27 EDT
I downloaded the JOOQ projects and tried some scenarios but couldn't succeed in reproducing. Looking at the stack trace, looks like its is about completing a anonymous type declaration inside a try block. Might be easier to write a unit test, but I haven't tried yet.
Comment 4 Manoj N Palat CLA 2018-05-21 06:07:16 EDT
Bulk move out of 4.8
Comment 5 Eclipse Genie CLA 2020-08-20 08:14:46 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 6 Eclipse Genie CLA 2022-10-18 12:42:34 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.