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 270272 - Impossible to evaluate lambda in debugger
Summary: Impossible to evaluate lambda in debugger
Status: NEW
Alias: None
Product: debugger
Classification: Unclassified
Component: Java (show other bugs)
Version: Dev
Hardware: PC Windows 10 x64
: P2 normal with 2 votes (vote)
Assignee: Martin Entlicher
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-04-01 18:47 UTC by _ gtzabari
Modified: 2017-08-15 17:18 UTC (History)
1 user (show)

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description _ gtzabari 2017-04-01 18:47:14 UTC
Product Version: NetBeans IDE Dev (Build 201703300002)
Java: 1.8.0_121; Java HotSpot(TM) 64-Bit Server VM 25.121-b13
Runtime: Java(TM) SE Runtime Environment 1.8.0_121-b13
System: Windows 10 version 10.0 running on amd64; Cp1252; en_CA (nb)
User directory: C:\Users\Gili\AppData\Roaming\NetBeans\dev
Cache directory: C:\Users\Gili\AppData\Local\NetBeans\Cache\dev

1. Add expression involving lambdas to "Variables" tab
2. Exception thrown:

Annotation: During evaluation of 'colorToFrequency.keySet().stream().map(value -> Integer.toHexString(value)).toArray()'
Caused: java.net.MalformedURLException: no protocol: com/holdmyspot/importer/CaptchaFilter
	at java.net.URL.<init>(URL.java:593)
	at java.net.URL.<init>(URL.java:490)
	at java.net.URL.<init>(URL.java:439)
	at org.netbeans.modules.java.source.parsing.ProxyFileManager.asURL(ProxyFileManager.java:576)
Caused: java.lang.IllegalArgumentException: Invalid path argument: com/holdmyspot/importer/CaptchaFilter
	at org.netbeans.modules.java.source.parsing.ProxyFileManager.asURL(ProxyFileManager.java:578)
	at org.netbeans.modules.java.source.parsing.ProxyFileManager.handleOption(ProxyFileManager.java:270)
	at com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:1351)
	at com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:1243)
	at com.sun.tools.javac.api.JavacTaskImpl.enter(JavacTaskImpl.java:398)
	at org.netbeans.modules.java.source.JavaSourceUtilImpl.generate(JavaSourceUtilImpl.java:250)
	at org.netbeans.modules.java.preprocessorbridge.spi.JavaSourceUtilImpl$MyAccessor.generate(JavaSourceUtilImpl.java:128)
	at org.netbeans.modules.java.preprocessorbridge.api.JavaSourceUtil.generate(JavaSourceUtil.java:172)
	at org.netbeans.modules.debugger.jpda.projects.CodeCompiler.compile(CodeCompiler.java:71)
	at org.netbeans.modules.debugger.jpda.projects.CodeSnippetCompiler.compileToClass(CodeSnippetCompiler.java:86)
	at org.netbeans.modules.debugger.jpda.projects.PreferredCCParser.interpretOrCompileCode(PreferredCCParser.java:482)
	at org.netbeans.modules.debugger.jpda.projects.EditorContextSupport.interpretOrCompileCode(EditorContextSupport.java:1459)
	at org.netbeans.modules.debugger.jpda.projectsui.EditorContextImpl.interpretOrCompileCode(EditorContextImpl.java:850)
	at sun.reflect.GeneratedMethodAccessor274.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.netbeans.modules.debugger.jpda.EditorContextBridge.interpretOrCompileCode(EditorContextBridge.java:136)
	at org.netbeans.modules.debugger.jpda.expr.TreeEvaluator.evaluate(TreeEvaluator.java:207)
	at org.netbeans.modules.debugger.jpda.JavaEvaluator.evaluateIn(JavaEvaluator.java:170)
	at org.netbeans.modules.debugger.jpda.JavaEvaluator.evaluate(JavaEvaluator.java:118)
	at org.netbeans.modules.debugger.jpda.expr.EvaluatorExpression.evaluate(EvaluatorExpression.java:76)
	at org.netbeans.modules.debugger.jpda.JPDADebuggerImpl.evaluateGeneric(JPDADebuggerImpl.java:979)
	at org.netbeans.modules.debugger.jpda.JPDADebuggerImpl.evaluateIn(JPDADebuggerImpl.java:838)
	at org.netbeans.modules.debugger.jpda.JPDADebuggerImpl.evaluateIn(JPDADebuggerImpl.java:861)
	at org.netbeans.modules.debugger.jpda.ui.models.WatchesModel$JPDAWatchEvaluating.getValue(WatchesModel.java:460)
	at org.netbeans.modules.debugger.jpda.ui.models.WatchesModel$JPDAWatchEvaluating.getType(WatchesModel.java:418)
	at org.netbeans.modules.debugger.jpda.ui.models.VariablesTreeModelFilter.getFilter(VariablesTreeModelFilter.java:657)
	at org.netbeans.modules.debugger.jpda.ui.models.VariablesTreeModelFilter.access$300(VariablesTreeModelFilter.java:126)
	at org.netbeans.modules.debugger.jpda.ui.models.VariablesTreeModelFilter$3.run(VariablesTreeModelFilter.java:366)
	at org.netbeans.modules.debugger.jpda.ui.models.VariablesTreeModelFilter.run(VariablesTreeModelFilter.java:264)
	at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1443)
	at org.netbeans.modules.openide.util.GlobalLookup.execute(GlobalLookup.java:68)
	at org.openide.util.lookup.Lookups.executeWith(Lookups.java:303)
	at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2058)
Caused: org.openide.util.RequestProcessor$SlowItem: task failed due to
	at org.openide.util.RequestProcessor$Task.schedule(RequestProcessor.java:1484)
	at org.netbeans.modules.debugger.jpda.ui.models.VariablesTreeModelFilter.postEvaluationMonitor(VariablesTreeModelFilter.java:245)
	at org.netbeans.modules.debugger.jpda.ui.models.VariablesTreeModelFilter.getFilter(VariablesTreeModelFilter.java:651)
	at org.netbeans.modules.debugger.jpda.ui.models.VariablesTreeModelFilter.isLeaf(VariablesTreeModelFilter.java:363)
	at org.netbeans.spi.viewmodel.Models$CompoundTreeModel.isLeaf(Models.java:982)
	at org.netbeans.modules.debugger.jpda.ui.models.PendingActionsFilter.isLeaf(PendingActionsFilter.java:109)
	at org.netbeans.spi.viewmodel.Models$CompoundTreeModel.isLeaf(Models.java:982)
	at org.netbeans.spi.viewmodel.Models$CompoundModel.isLeaf(Models.java:4451)
	at org.netbeans.modules.viewmodel.TreeModelNode.createChildren(TreeModelNode.java:343)
	at org.netbeans.modules.viewmodel.TreeModelNode.access$1700(TreeModelNode.java:118)
	at org.netbeans.modules.viewmodel.TreeModelNode$LazyChildrenFactory.call(TreeModelNode.java:1806)
	at org.netbeans.modules.viewmodel.TreeModelNode$LazyChildrenFactory.call(TreeModelNode.java:1785)
	at org.openide.nodes.Children$LazyChildren.getOriginal(Children.java:1858)
	at org.openide.nodes.Node.updateChildren(Node.java:490)
	at org.openide.nodes.Node.isLeaf(Node.java:550)
	at org.openide.explorer.view.VisualizerNode.isLeaf(VisualizerNode.java:334)
	at org.openide.explorer.view.VisualizerNode.getAllowsChildren(VisualizerNode.java:297)
	at javax.swing.tree.DefaultTreeModel.isLeaf(DefaultTreeModel.java:202)
	at org.netbeans.swing.outline.DefaultOutlineModel.isLeaf(DefaultOutlineModel.java:315)
	at org.netbeans.swing.outline.DefaultOutlineCellRenderer.getTableCellRendererComponent(DefaultOutlineCellRenderer.java:283)
	at org.openide.explorer.view.OutlineView$OutlineViewOutline$TranslatedTableCellRenderer.getTableCellRendererComponent(OutlineView.java:2308)
	at org.netbeans.modules.viewmodel.DelegatingCellRenderer.getTableCellRendererComponent(DelegatingCellRenderer.java:91)
	at org.openide.explorer.view.OutlineView$OutlineViewOutline$TranslatedTableCellRenderer.getTableCellRendererComponent(OutlineView.java:2308)
	at javax.swing.JTable.prepareRenderer(JTable.java:5723)
	at javax.swing.plaf.basic.BasicTableUI.paintCell(BasicTableUI.java:2114)
	at javax.swing.plaf.basic.BasicTableUI.paintCells(BasicTableUI.java:2016)
	at javax.swing.plaf.basic.BasicTableUI.paint(BasicTableUI.java:1812)
	at javax.swing.plaf.ComponentUI.update(ComponentUI.java:161)
	at javax.swing.JComponent.paintComponent(JComponent.java:780)
	at javax.swing.JComponent.paint(JComponent.java:1056)
	at javax.swing.JComponent.paintChildren(JComponent.java:889)
	at javax.swing.JComponent.paint(JComponent.java:1065)
	at javax.swing.JViewport.paint(JViewport.java:728)
	at javax.swing.JComponent.paintChildren(JComponent.java:889)
	at javax.swing.JComponent.paint(JComponent.java:1065)
	at javax.swing.JComponent.paintChildren(JComponent.java:889)
	at javax.swing.JComponent.paint(JComponent.java:1065)
	at javax.swing.JComponent.paintChildren(JComponent.java:889)
	at javax.swing.JComponent.paint(JComponent.java:1065)
	at javax.swing.JComponent.paintChildren(JComponent.java:889)
	at javax.swing.JComponent.paint(JComponent.java:1065)
	at javax.swing.JComponent.paintChildren(JComponent.java:889)
	at javax.swing.JComponent.paint(JComponent.java:1065)
	at javax.swing.JComponent.paintChildren(JComponent.java:889)
	at javax.swing.JComponent.paint(JComponent.java:1065)
	at org.netbeans.swing.tabcontrol.TabbedContainer.paint(TabbedContainer.java:994)
	at javax.swing.JComponent.paintChildren(JComponent.java:889)
	at javax.swing.JComponent.paint(JComponent.java:1065)
	at javax.swing.JComponent.paintToOffscreen(JComponent.java:5210)
	at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1579)
	at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1502)
	at javax.swing.RepaintManager.paint(RepaintManager.java:1272)
	at javax.swing.JComponent._paintImmediately(JComponent.java:5158)
	at javax.swing.JComponent.paintImmediately(JComponent.java:4969)
	at javax.swing.JComponent.paintImmediately(JComponent.java:4950)
	at javax.swing.RepaintManager$4.run(RepaintManager.java:831)
	at javax.swing.RepaintManager$4.run(RepaintManager.java:814)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
	at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:814)
	at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:789)
	at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:738)
	at javax.swing.RepaintManager.access$1200(RepaintManager.java:64)
	at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1732)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
	at java.awt.EventQueue.access$500(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.awt.EventQueue$3.run(EventQueue.java:703)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
	at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:159)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
[catch] at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

3. This same code works fine if I copy/paste it into the application source-code and execute it at runtime.

This issue is reproducible 100% of the time.