Bug 289517 - Debug: Empty or incomplete display of "Variables"
Summary: Debug: Empty or incomplete display of "Variables"
Status: NEW
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Debug (show other bugs)
Version: 3.5   Edit
Hardware: PC Windows 7
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: JDT-Debug-Inbox CLA
QA Contact:
URL:
Whiteboard: stalebug
Keywords:
: 364011 (view as bug list)
Depends on:
Blocks:
 
Reported: 2009-09-15 15:06 EDT by Lysathor CLA
Modified: 2022-05-24 15:28 EDT (History)
4 users (show)

See Also:


Attachments
Example of invisible rows in variables view (33.13 KB, image/png)
2022-05-24 15:28 EDT, Alice Smith CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Lysathor CLA 2009-09-15 15:06:52 EDT
When debugging and break point is reached: 
Display of "Variables" (watch) is incomplete, e.g. no variables or only "this" is displayed. Other rows can be selected, but they are empty. After switching between "Expressions" and "Variables" for a few times, the expected values "appear" in the "Variables" tab.


-- Configuration Details --
Product: Eclipse 1.2.0.20090619-0620 (org.eclipse.epp.package.java.product)
Installed Features:
 org.eclipse.jdt 3.5.0.v20090527-2000-7r88FEeFJePyvYeA33DjZ_c1
Comment 1 Darin Wright CLA 2009-09-15 15:15:13 EDT
Do you have a sure fire test case to reproduce the problem, or is this just "once and a while"?
Comment 2 Lysathor CLA 2009-09-16 04:37:38 EDT
It does not always occur. Just for a few minutes I hade the problem again, "Variables" was empty (no "this" and no local variables). But switching between "Variables" and "Expressions" did not solve the problem (like I mentioned before). Even starting the debug session did not help. After restarting the debug session 3 times, the display worked as expected again. Since then it works ok (I restarted the debug session a few times and it is still ok).
Sorry, I don't know how to reproduce.
Comment 3 Ernest Pasour CLA 2009-10-13 13:30:07 EDT
I am seeing what sounds like the same issue.

I am on Windows 7, dual core CPU.  I am using Eclipse 3.4.2, and I have only been seeing this issue since I got a new box with Windows 7 on it.  For me it is also intermittent.  I can see most of the top level variables, although there are some blank lines.  However, clicking on a variable doesn't seem to invoke the toString call (or at least nothing shows up in the preview area).  Expanding the item shows blank lines instead of subitems.  Usually, clicking on one of the sub item lines makes all of the subitems at that level show up.  I can see the values of subitems that are primitive, but again the toString() call doesn't seem to work.

I do see some of the exception below in my error log, but I'm not sure if it's occurring when I see this problem or if it's when I see debugger delays (which are a separate problem).

eclipse.buildId=M20090211-1700
java.version=1.5.0_12
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 -clean


Error
Mon Oct 12 13:02:05 EDT 2009
com.sun.jdi.VMDisconnectedException: Got IOException from Virtual Machine occurred while retrieving value.

com.sun.jdi.VMDisconnectedException: Got IOException from Virtual Machine
at org.eclipse.jdi.internal.connect.PacketSendManager.sendPacket(PacketSendManager.java:80)
at org.eclipse.jdi.internal.MirrorImpl.requestVM(MirrorImpl.java:170)
at org.eclipse.jdi.internal.MirrorImpl.requestVM(MirrorImpl.java:192)
at org.eclipse.jdi.internal.ObjectReferenceImpl.getValues(ObjectReferenceImpl.java:297)
at org.eclipse.jdi.internal.ObjectReferenceImpl.getValue(ObjectReferenceImpl.java:191)
at org.eclipse.jdt.internal.debug.core.model.JDIFieldVariable.retrieveValue(JDIFieldVariable.java:89)
at org.eclipse.jdt.internal.debug.core.model.JDIVariable.getCurrentValue(JDIVariable.java:66)
at org.eclipse.jdt.internal.debug.core.model.JDIVariable.getValue(JDIVariable.java:88)
at org.eclipse.pde.internal.ui.launcher.PDESourceLookupQuery.getObject(PDESourceLookupQuery.java:112)
at org.eclipse.pde.internal.ui.launcher.PDESourceLookupQuery.findSourceElement(PDESourceLookupQuery.java:97)
at org.eclipse.pde.internal.ui.launcher.PDESourceLookupQuery.run(PDESourceLookupQuery.java:76)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
at org.eclipse.pde.internal.ui.launcher.PDESourceLookupDirector.getSourceElement(PDESourceLookupDirector.java:64)
at org.eclipse.pde.internal.ui.launcher.PDESourceLookupDirector.findSourceElements(PDESourceLookupDirector.java:75)
at org.eclipse.jdt.internal.debug.core.JavaDebugUtils.resolveSourceElement(JavaDebugUtils.java:273)
at org.eclipse.jdt.internal.debug.core.JavaDebugUtils.resolveJavaElement(JavaDebugUtils.java:229)
at org.eclipse.jdt.internal.debug.core.JavaDebugUtils.resolveDeclaringType(JavaDebugUtils.java:57)
at org.eclipse.jdt.internal.debug.ui.sourcelookup.StackFrameShowInSourceAdapter.getShowInContext(StackFrameShowInSourceAdapter.java:43)
at org.eclipse.debug.internal.ui.views.launch.LaunchView.getShowInContext(LaunchView.java:740)
at org.eclipse.ui.internal.services.ActivePartSourceProvider.getContext(ActivePartSourceProvider.java:255)
at org.eclipse.ui.internal.services.ActivePartSourceProvider.getCurrentState(ActivePartSourceProvider.java:309)
at org.eclipse.ui.internal.services.ActivePartSourceProvider.checkActivePart(ActivePartSourceProvider.java:150)
at org.eclipse.ui.internal.services.ActivePartSourceProvider$1.partBroughtToTop(ActivePartSourceProvider.java:94)
at org.eclipse.ui.internal.PartListenerList$2.run(PartListenerList.java:87)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
at org.eclipse.core.runtime.Platform.run(Platform.java:880)
at org.eclipse.ui.internal.PartListenerList.fireEvent(PartListenerList.java:57)
at org.eclipse.ui.internal.PartListenerList.firePartBroughtToTop(PartListenerList.java:85)
at org.eclipse.ui.internal.PartService.firePartBroughtToTop(PartService.java:207)
at org.eclipse.ui.internal.WWinPartService$1.partBroughtToTop(WWinPartService.java:40)
at org.eclipse.ui.internal.PartListenerList2$2.run(PartListenerList2.java:83)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
at org.eclipse.core.runtime.Platform.run(Platform.java:880)
at org.eclipse.ui.internal.PartListenerList2.fireEvent(PartListenerList2.java:53)
at org.eclipse.ui.internal.PartListenerList2.firePartBroughtToTop(PartListenerList2.java:81)
at org.eclipse.ui.internal.PartService.firePartBroughtToTop(PartService.java:211)
at org.eclipse.ui.internal.WorkbenchPagePartList.firePartBroughtToTop(WorkbenchPagePartList.java:75)
at org.eclipse.ui.internal.WorkbenchPage.bringToTop(WorkbenchPage.java:854)
at org.eclipse.ui.internal.console.ConsoleManager$ShowConsoleViewJob.runInUIThread(ConsoleManager.java:294)
at org.eclipse.ui.progress.UIJob$1.run(UIJob.java:94)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:133)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3800)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3425)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2384)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2348)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2200)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:495)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:288)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:490)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:193)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:386)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:549)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
Comment 4 Michael Rennie CLA 2014-09-19 14:37:24 EDT
*** Bug 364011 has been marked as a duplicate of this bug. ***
Comment 5 Eclipse Genie CLA 2020-07-07 17:46:51 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 Alice Smith CLA 2022-05-24 15:27:29 EDT
This bug or something similar still exists in eclipse-cpp-2021-12-R-win32-x86_64

Eclipse Platform
Version: 4.23.0.v20220308-0722
Build id: I20220308-0310

C/C++ Common GDB Support
Version: 10.6.0.202201122357
Build id: 20220309-1838

In this case it happens sometimes when expanding a variable by clicking the arrow. Sometimes the child value rows are empty but if you click on them the detailed pane shows the name and value. If the invisible child row can be expanded it will have a visible arrow and the further children are visible.

I was able to reproduce the behavior described where you can make invisible children become visible by switching back and forth to the Expressions tab. This only caused one of my invisible rows to become visible, and after messing around a while the technique stopped working and all invisible children stay invisible.

If you add the variable with invisible children to the Expressions view it has the same behavior when expanded.
Comment 7 Alice Smith CLA 2022-05-24 15:28:37 EDT
Created attachment 288537 [details]
Example of invisible rows in variables view