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 241099 - $$Lambda$ ignored by profiler
Summary: $$Lambda$ ignored by profiler
Status: VERIFIED FIXED
Alias: None
Product: profiler
Classification: Unclassified
Component: Engine (show other bugs)
Version: 8.0
Hardware: PC Windows 7
: P3 normal (vote)
Assignee: Tomas Hurka
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-01-29 09:19 UTC by Jiri Skrivanek
Modified: 2016-08-24 10:22 UTC (History)
0 users

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 Jiri Skrivanek 2014-01-29 09:19:42 UTC
When lambda expression is present in profiled code the $$Lambda$ part of stack trace is ignored by profiler. To reproduce:

- create Anagram sample project
- add listener with lambda expression to button in Anagrams.java

    jButton2.addActionListener(e -> m1(e));

    private void m1(ActionEvent e) {
        System.err.println("m1");
        Thread.dumpStack();
    }

- start profiler (CPU|Advanced)
- look at IDE log for warning messages like this

*** Profiler warning (Wed Jan 29 10:01:41 CET 2014): class java/lang/invoke/LambdaForm$MH/1707363091, ldr = 0 not found anywhere

- click button with listener
- take snapshot and compare with dumped stack trace

  at com.toy.anagrams.ui.Anagrams.m1(Anagrams.java:88)
  at com.toy.anagrams.ui.Anagrams.lambda$new$0(Anagrams.java:106)
  at com.toy.anagrams.ui.Anagrams$$Lambda$1/1918782480.actionPerformed(Unknown Source)
  at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)

Product Version: NetBeans IDE Dev (Build 201401290001)
Java: 1.8.0; Java HotSpot(TM) 64-Bit Server VM 25.0-b67
Runtime: Java(TM) SE Runtime Environment 1.8.0-b126
System: Windows 7 version 6.1 running on amd64; Cp1250; en_US (nb)
Comment 1 Tomas Hurka 2016-08-12 14:17:01 UTC
I am not able to reproduce it with current dev. build and JDK 8u92. The stacktrace looks like this:
m1
java.lang.Exception: Stack trace
	at java.lang.Thread.dumpStack(Thread.java:1329)
	at com.toy.anagrams.ui.Anagrams.m1(Anagrams.java:101)
	at com.toy.anagrams.ui.Anagrams.lambda$new$0(Anagrams.java:87)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
	at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)

and the profiler shows same in snapshot.