Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 46547

Summary: IndexOutOfBoundsException in label computation
Product: [Eclipse Project] JDT Reporter: Jared Burns <jared_burns>
Component: DebugAssignee: JDT-Debug-Inbox <jdt-debug-inbox>
Status: RESOLVED DUPLICATE QA Contact:
Severity: normal    
Priority: P3    
Version: 3.0   
Target Milestone: 3.0   
Hardware: PC   
OS: Linux   
Whiteboard:

Description Jared Burns CLA 2003-11-12 20:29:45 EST
Build 20031111

Perform an HCR during label computation which causes queued frames to be dropped 
and the following error occurs. We should handle the IndexOutOfBounds better 
down in the debug model.

!ENTRY org.eclipse.jdt.debug 4 100 Nov 12, 2003 17:02:52.753
!MESSAGE Unable to retrieve stack frame - thread not suspended.
!ENTRY org.eclipse.core.runtime 4 2 Nov 12, 2003 17:04:09.650
!MESSAGE An internal error occurred during: "Debug".
!STACK 0
java.lang.IndexOutOfBoundsException: Invalid index of stack frames given
	at org.eclipse.jdi.internal.ThreadReferenceImpl.frames(ThreadReferenceImpl.
java:194)
	at org.eclipse.jdi.internal.ThreadReferenceImpl.frame(ThreadReferenceImpl.
java:140)
	at org.eclipse.jdt.internal.debug.core.model.JDIThread.
getUnderlyingFrame(JDIThread.java:553)
	at org.eclipse.jdt.internal.debug.core.model.JDIStackFrame.
getUnderlyingStackFrame(JDIStackFrame.java:950)
	at org.eclipse.jdt.internal.debug.core.model.JDIStackFrame.
getUnderlyingMethod(JDIStackFrame.java:223)
	at org.eclipse.jdt.internal.debug.core.model.JDIStackFrame.
getMethodName(JDIStackFrame.java:745)
	at org.eclipse.jdt.internal.debug.ui.JDIModelPresentation.
getStackFrameText(JDIModelPresentation.java:1439)
	at org.eclipse.jdt.internal.debug.ui.JDIModelPresentation.
getText(JDIModelPresentation.java:205)
	at org.eclipse.debug.internal.ui.LazyModelPresentation.
getText(LazyModelPresentation.java:121)
	at org.eclipse.debug.internal.ui.DelegatingModelPresentation.
getText(DelegatingModelPresentation.java:183)
	at org.eclipse.debug.internal.ui.views.launch.
LaunchViewLabelDecorator$LabelJob.run(LaunchViewLabelDecorator.java:267)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:62)
Comment 1 Hans Scheuermann CLA 2003-11-20 04:33:24 EST
I am not sure that this is the same problem, as I don't know if there was an HCR
(hot code replacement?) involved. The stack trace looks similar though. When my
application stopped at a break point, I got an error "Problems from plug-in
org.eclipse.jface" and the lower half of the stack in the Debug view was
invisible. I started the application again, and now the Debug view is in a funny
state:

The tree element consists of three lines, the root and two children. All three
lines have empty labels. So the only thing I can see is a little square with a
"-" and the lines pointing to the two children. I can select each of the three
empty labels.

I am using Eclipse 3.0M4 (Build id: 200310101454) on Sun's JDK 1.4.2.

Here is the stack trace:

java.lang.IndexOutOfBoundsException: Invalid index of stack frames given
at org.eclipse.jdi.internal.ThreadReferenceImpl.frames(ThreadReferenceImpl.java:194)
at org.eclipse.jdi.internal.ThreadReferenceImpl.frame(ThreadReferenceImpl.java:140)
at
org.eclipse.jdt.internal.debug.core.model.JDIThread.getUnderlyingFrame(JDIThread.java:547)
at
org.eclipse.jdt.internal.debug.core.model.JDIStackFrame.getUnderlyingStackFrame(JDIStackFrame.java:950)
at
org.eclipse.jdt.internal.debug.core.model.JDIStackFrame.getUnderlyingMethod(JDIStackFrame.java:223)
at
org.eclipse.jdt.internal.debug.core.model.JDIStackFrame.getDeclaringTypeName(JDIStackFrame.java:702)
at
org.eclipse.jdt.internal.debug.ui.JDIModelPresentation.getStackFrameText(JDIModelPresentation.java:1413)
at
org.eclipse.jdt.internal.debug.ui.JDIModelPresentation.getText(JDIModelPresentation.java:206)
at
org.eclipse.debug.internal.ui.LazyModelPresentation.getText(LazyModelPresentation.java:121)
at
org.eclipse.debug.internal.ui.DelegatingModelPresentation.getText(DelegatingModelPresentation.java:181)
at org.eclipse.jface.viewers.TreeViewer.doUpdateItem(TreeViewer.java:95)
at
org.eclipse.jface.viewers.AbstractTreeViewer$UpdateItemSafeRunnable.run(AbstractTreeViewer.java:77)
at
org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:1018)
at org.eclipse.core.runtime.Platform.run(Platform.java:461)
at
org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(AbstractTreeViewer.java:457)
at
org.eclipse.jface.viewers.StructuredViewer$UpdateItemSafeRunnable.run(StructuredViewer.java:119)
at
org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:1018)
at org.eclipse.core.runtime.Platform.run(Platform.java:461)
at org.eclipse.jface.viewers.StructuredViewer.updateItem(StructuredViewer.java:1263)
at
org.eclipse.jface.viewers.AbstractTreeViewer.createTreeItem(AbstractTreeViewer.java:371)
at org.eclipse.jface.viewers.AbstractTreeViewer$1.run(AbstractTreeViewer.java:351)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:84)
at
org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(AbstractTreeViewer.java:337)
at
org.eclipse.jface.viewers.AbstractTreeViewer.internalExpand(AbstractTreeViewer.java:885)
at
org.eclipse.jface.viewers.AbstractTreeViewer.setSelectionToWidget(AbstractTreeViewer.java:1353)
at
org.eclipse.jface.viewers.StructuredViewer.setSelectionToWidget(StructuredViewer.java:1045)
at
org.eclipse.jface.viewers.StructuredViewer.setSelection(StructuredViewer.java:1010)
at
org.eclipse.debug.internal.ui.views.launch.LaunchView.autoExpand(LaunchView.java:964)
at
org.eclipse.debug.internal.ui.views.launch.LaunchViewEventHandler.doHandleSuspendThreadEvent(LaunchViewEventHandler.java:243)
at
org.eclipse.debug.internal.ui.views.launch.LaunchViewEventHandler.doHandleSuspendEvent(LaunchViewEventHandler.java:193)
at
org.eclipse.debug.internal.ui.views.launch.LaunchViewEventHandler.doHandleDebugEvents(LaunchViewEventHandler.java:103)
at
org.eclipse.debug.internal.ui.views.AbstractDebugEventHandler$1.run(AbstractDebugEventHandler.java:70)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:102)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:2150)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1867)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2347)
Comment 2 Luc Bourlier CLA 2003-11-20 10:11:34 EST

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