Community
Participate
Working Groups
Created attachment 283448 [details] Minimal Program Both the expressions view and conditional breakpoints seem to be completely broken anytime you are inside of a lambda. The "variables" view seems to work fine, but trying to display those same variables in the expressions view does not. Even trying simple, non-variable expressions like "1" or "1+2" displays the "<errors(s)_during_evaluation>" message. Conditional breakpoints display the same behavior. Even using "2>1" as a breakpoint condition causes an error (see screenshot). Both expressions view and conditional breakpoints begin working again as soon as the lambda either calls into another method or completes and returns to the caller. So, for example, in the minimal program attached, breakpoints on lines 18 or 25 work fine. Breakpoints on line 16 display the behavior.
Created attachment 283449 [details] Variables View Working
Created attachment 283450 [details] Conditional Breakpoints Not Working
Created attachment 283451 [details] Working Outside Lambda
Created attachment 283452 [details] Not Working Inside Lambda
Also - I tested the minimal program on an older version of Eclipse (Oxygen) and it is working there.
I can confirm that this is broken in 4.17 head and also last working version is 4.10, so regression is in 4.11. 4.17 reports "Compile error during code evaluation: T cannot be resolved to a type" warning in error log without stack trace. The "T" is coming from TimSort generics, see stack below: Thread [main] (Suspended (breakpoint at line 16 in Test)) Test.lambda$0(Test$Thing, Test$Thing) line: 16 1159785389.compare(Object, Object) line: not available TimSort<T>.countRunAndMakeAscending(T[], int, int, Comparator<? super T>) line: 355 TimSort<T>.sort(T[], int, int, Comparator<? super T>, T[], int, int) line: 220 Arrays.sort(T[], int, int, Comparator<? super T>) line: 1515 ArrayList<E>.sort(Comparator<? super E>) line: 1749 Test.main(String[]) line: 15
New Gerrit change created: https://git.eclipse.org/r/c/jdt/eclipse.jdt.debug/+/165923
Is this ready to go into the next release? I'm not sure that I completely understand the steps in the process, but it looks like a code change was created for this bug.
This got missed. Will release as soon as the master is open for 4.18.
Gerrit change https://git.eclipse.org/r/c/jdt/eclipse.jdt.debug/+/165923 was merged to [master]. Commit: http://git.eclipse.org/c/jdt/eclipse.jdt.debug.git/commit/?id=24f35ff6a1554f75592f12c1450a8ad27642b238
Thanks Gayan and Matt!
I20201005-1800