Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 249241 - Exception processing async thread queue
Summary: Exception processing async thread queue
Status: CLOSED DUPLICATE of bug 277574
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Debug (show other bugs)
Version: 3.4.1   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: JDT-Debug-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-09-30 18:59 EDT by Igor Lubashev CLA
Modified: 2010-07-15 10:16 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 Igor Lubashev CLA 2008-09-30 18:59:44 EDT
Build ID: M20080911-1700

Steps To Reproduce:
Note: this bug is very similar to Bug 88752, but bug 88752 is reported as "fixed" years ago...

I am reliably getting this exception debugging a multithreaded Java app, when "Expressions" window contains some invalid-in-context expressions.

I have the following in "Expressions" window (note: Ints.textToString does some new String(), but a and aAddr are invalid at that point anyway).

"Ints.textToString(a, aAddr)"	
"Ints.textToString(b, bAddr)"	
"a[aAddr>>>2]"	
"b[bAddr>>2]"

More information:
eclipse.buildId=M20080911-1700
java.version=1.6.0_07
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US
Command-line arguments:  -os win32 -ws win32 -arch x86


Error
Tue Sep 30 18:44:13 EDT 2008
Exception processing async thread queue

java.lang.NullPointerException
at org.eclipse.jdt.internal.debug.eval.ast.engine.ASTInstructionCompiler.getUnBoxedTypeId(ASTInstructionCompiler.java:3781)
at org.eclipse.jdt.internal.debug.eval.ast.engine.ASTInstructionCompiler.visit(ASTInstructionCompiler.java:2315)
at org.eclipse.jdt.core.dom.InfixExpression.accept0(InfixExpression.java:364)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2478)
at org.eclipse.jdt.core.dom.ASTNode.acceptChild(ASTNode.java:2525)
at org.eclipse.jdt.core.dom.ArrayAccess.accept0(ArrayAccess.java:165)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2478)
at org.eclipse.jdt.core.dom.ASTNode.acceptChild(ASTNode.java:2525)
at org.eclipse.jdt.core.dom.ReturnStatement.accept0(ReturnStatement.java:136)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2478)
at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2548)
at org.eclipse.jdt.core.dom.Block.accept0(Block.java:136)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2478)
at org.eclipse.jdt.core.dom.ASTNode.acceptChild(ASTNode.java:2525)
at org.eclipse.jdt.core.dom.MethodDeclaration.accept0(MethodDeclaration.java:502)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2478)
at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2548)
at org.eclipse.jdt.core.dom.TypeDeclaration.accept0(TypeDeclaration.java:484)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2478)
at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2548)
at org.eclipse.jdt.core.dom.CompilationUnit.accept0(CompilationUnit.java:214)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2478)
at org.eclipse.jdt.internal.debug.eval.ast.engine.ASTEvaluationEngine.createExpressionFromAST(ASTEvaluationEngine.java:413)
at org.eclipse.jdt.internal.debug.eval.ast.engine.ASTEvaluationEngine.getCompiledExpression(ASTEvaluationEngine.java:229)
at org.eclipse.jdt.internal.debug.eval.ast.engine.ASTEvaluationEngine.evaluate(ASTEvaluationEngine.java:114)
at org.eclipse.jdt.internal.debug.ui.JavaWatchExpressionDelegate$EvaluationRunnable.run(JavaWatchExpressionDelegate.java:144)
at org.eclipse.jdt.internal.debug.core.model.JDIThread$ThreadJob.run(JDIThread.java:2614)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Comment 1 Michael Fraenkel CLA 2008-10-07 17:16:49 EDT
Same end result just different stack...

java.lang.NullPointerException
        at org.eclipse.jdt.internal.debug.eval.ast.engine.ASTInstructionCompiler.containsALocalType(ASTInstructionCompiler.java:379)
        at org.eclipse.jdt.internal.debug.eval.ast.engine.ASTInstructionCompiler.visit(ASTInstructionCompiler.java:2678)
        at org.eclipse.jdt.core.dom.MethodInvocation.accept0(MethodInvocation.java:237)
        at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2478)
        at org.eclipse.jdt.core.dom.ASTNode.acceptChild(ASTNode.java:2525)
        at org.eclipse.jdt.core.dom.ExpressionStatement.accept0(ExpressionStatement.java:144)
        at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2478)
        at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2548)
        at org.eclipse.jdt.core.dom.Block.accept0(Block.java:136)
        at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2478)
        at org.eclipse.jdt.core.dom.ASTNode.acceptChild(ASTNode.java:2525)
        at org.eclipse.jdt.core.dom.MethodDeclaration.accept0(MethodDeclaration.java:502)
        at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2478)
        at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2548)
        at org.eclipse.jdt.core.dom.TypeDeclaration.accept0(TypeDeclaration.java:484)
        at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2478)
        at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2548)        at org.eclipse.jdt.core.dom.TypeDeclaration.accept0(TypeDeclaration.java:484)        at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2478)
        at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2548)
        at org.eclipse.jdt.core.dom.CompilationUnit.accept0(CompilationUnit.java:214)        at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2478)
        at org.eclipse.jdt.internal.debug.eval.ast.engine.ASTEvaluationEngine.createExpressionFromAST(ASTEvaluationEngine.java:413)
        at org.eclipse.jdt.internal.debug.eval.ast.engine.ASTEvaluationEngine.getCompiledExpression(ASTEvaluationEngine.java:229)
        at org.eclipse.jdt.internal.debug.eval.ast.engine.ASTEvaluationEngine.evaluate(ASTEvaluationEngine.java:114)        at org.eclipse.jdt.internal.debug.ui.JavaWatchExpressionDelegate$EvaluationRunnable.run(JavaWatchExpressionDelegate.java:144)
        at org.eclipse.jdt.internal.debug.core.model.JDIThread$ThreadJob.run(JDIThread.java:2614)        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Comment 2 Babu CLA 2009-06-18 12:52:43 EDT
Got the below exception when we are setting breakpoints and inspect on a variable/call 

Exception processing async thread queue
  Exception processing async thread queue
  org.eclipse.jdt.internal.debug.core.model.JDIClassType cannot be cast to org.eclipse.jdt.debug.core.IJavaValue
Comment 3 Krzysztof Daniel CLA 2010-07-01 09:48:30 EDT
Igor/Babu,
could you post here testcase (sample project) and reproduction steps?
Comment 4 Darin Wright CLA 2010-07-15 10:16:45 EDT
This will be fixed with bug 277574

*** This bug has been marked as a duplicate of bug 277574 ***