This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 188626 - Unwanted call of getValue()
Summary: Unwanted call of getValue()
Status: VERIFIED FIXED
Alias: None
Product: javafx
Classification: Unclassified
Component: Debugger (show other bugs)
Version: 6.x
Hardware: PC Windows XP
: P1 normal (vote)
Assignee: Michal Skvor
URL:
Keywords:
Depends on:
Blocks: 173187
  Show dependency tree
 
Reported: 2010-07-13 11:19 UTC by Martin Ryzl
Modified: 2010-08-03 07:59 UTC (History)
1 user (show)

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
IDE screenshot (93.59 KB, image/png)
2010-07-22 11:51 UTC, Alexandr Scherbatiy
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Ryzl 2010-07-13 11:19:53 UTC
for the following fragment of code:

05: var c = bind d;
06: var d = 10;
07: d = 11;
08: d = 12;
09: d = 13;
10: println(d);

with a breakpoint on whatever line, variables view always shows the value of c and not 'Invalid value'. Here is the stacktrace with the caller for line 07:

java.lang.Exception: ---fxjdi: ReferenceType.getValue() called for javafxapplication6.Main.c
	at com.sun.javafx.jdi.FXReferenceType.getValue(FXReferenceType.java:379)
	at org.netbeans.modules.debugger.jpda.jdi.ReferenceTypeWrapper.getValue(ReferenceTypeWrapper.java:1111)
	at org.netbeans.modules.debugger.jpda.models.JPDAClassTypeImpl.staticFields(JPDAClassTypeImpl.java:222)
	at org.netbeans.modules.debugger.jpda.models.LocalsTreeModel.getChildrenImpl(LocalsTreeModel.java:175)
	at org.netbeans.modules.debugger.jpda.models.LocalsTreeModel.getChildren(LocalsTreeModel.java:129)
	at org.netbeans.spi.viewmodel.Models$DelegatingTreeModel.getChildren(Models.java:1516)
	at org.netbeans.modules.debugger.jpda.ui.models.VariablesTreeModelFilterSI.getChildren(VariablesTreeModelFilterSI.java:165)
	at org.netbeans.spi.viewmodel.Models$CompoundTreeModel.getChildren(Models.java:774)
	at org.netbeans.modules.debugger.jpda.ui.models.VariablesTreeModelFilter.getChildren(VariablesTreeModelFilter.java:221)
	at org.netbeans.spi.viewmodel.Models$CompoundTreeModel.getChildren(Models.java:774)
	at org.netbeans.modules.javafx.debugger.variablesfiltering.JavaFXVariablesFilter.getChildren(JavaFXVariablesFilter.java:112)
	at org.netbeans.spi.viewmodel.Models$CompoundTreeModel.getChildren(Models.java:774)
	at org.netbeans.spi.viewmodel.Models$CompoundModel.getChildren(Models.java:3798)
	at org.netbeans.modules.debugger.ui.views.ViewModelListener$1.getChildren(ViewModelListener.java:298)
	at org.netbeans.modules.viewmodel.TreeModelHyperNode$HyperModelChildren.getModelChildren(TreeModelHyperNode.java:238)
	at org.netbeans.modules.viewmodel.TreeModelNode$TreeModelChildren.run(TreeModelNode.java:1245)
	at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1418)
	at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1957)
java.lang.Exception: ---fxjdi: ReferenceType.getValue() called for javafxapplication6.Main.d
	at com.sun.javafx.jdi.FXReferenceType.getValue(FXReferenceType.java:379)
	at org.netbeans.modules.debugger.jpda.jdi.ReferenceTypeWrapper.getValue(ReferenceTypeWrapper.java:1111)
	at org.netbeans.modules.debugger.jpda.models.JPDAClassTypeImpl.staticFields(JPDAClassTypeImpl.java:222)
	at org.netbeans.modules.debugger.jpda.models.LocalsTreeModel.getChildrenImpl(LocalsTreeModel.java:175)
	at org.netbeans.modules.debugger.jpda.models.LocalsTreeModel.getChildren(LocalsTreeModel.java:129)
	at org.netbeans.spi.viewmodel.Models$DelegatingTreeModel.getChildren(Models.java:1516)
	at org.netbeans.modules.debugger.jpda.ui.models.VariablesTreeModelFilterSI.getChildren(VariablesTreeModelFilterSI.java:165)
	at org.netbeans.spi.viewmodel.Models$CompoundTreeModel.getChildren(Models.java:774)
	at org.netbeans.modules.debugger.jpda.ui.models.VariablesTreeModelFilter.getChildren(VariablesTreeModelFilter.java:221)
	at org.netbeans.spi.viewmodel.Models$CompoundTreeModel.getChildren(Models.java:774)
	at org.netbeans.modules.javafx.debugger.variablesfiltering.JavaFXVariablesFilter.getChildren(JavaFXVariablesFilter.java:112)
	at org.netbeans.spi.viewmodel.Models$CompoundTreeModel.getChildren(Models.java:774)
	at org.netbeans.spi.viewmodel.Models$CompoundModel.getChildren(Models.java:3798)
	at org.netbeans.modules.debugger.ui.views.ViewModelListener$1.getChildren(ViewModelListener.java:298)
	at org.netbeans.modules.viewmodel.TreeModelHyperNode$HyperModelChildren.getModelChildren(TreeModelHyperNode.java:238)
	at org.netbeans.modules.viewmodel.TreeModelNode$TreeModelChildren.run(TreeModelNode.java:1245)
	at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1418)
	at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1957)
Comment 1 Martin Entlicher 2010-07-13 11:34:16 UTC
Should be fixed by issue #188447.
It's not integrated in release691 yet, since it was not verified yet.
Comment 2 Michal Skvor 2010-07-22 09:52:20 UTC
This is already fixed in trunk.
Comment 3 Alexandr Scherbatiy 2010-07-22 11:45:07 UTC
I use the NetBeans IDE Dev (Build 201007220001)
and still see the 'Invalid value' message.

See the attached screen-shot.
Comment 4 Alexandr Scherbatiy 2010-07-22 11:51:45 UTC
Created attachment 100973 [details]
IDE screenshot
Comment 5 Michal Skvor 2010-07-22 12:49:39 UTC
The invalid value message is for binded variables. This is feature when you don't call getValue for binded variables to prevent triggers which could be handled on this variable. Click on the circled arrow button in the table field to manually evaluate the variable.
Comment 6 Martin Ryzl 2010-07-22 12:50:45 UTC
That's correct behavior - the value of the bound variable has not been computed
yet and you have to click the Refresh icon to trigger the evaluation. One of
the features of JavaFX 1.3 is lazy binding, i.e. the bind expression is not
computed until the code actually access the bound variable. Instead of that the
variable is marked as invalid. Taking the same approach as Java, i.e. show the
real values could trigger chain of evaluation, changing the state of the
application significantly, something like Schroedinger cat. Perhaps the text
should be different - 'Not evaluated yet'?
Comment 7 Alexandr Scherbatiy 2010-08-03 07:59:41 UTC
verified in NetBeans IDE Dev (Build 201008030001)