Hide snythetic lambda stack frames on debugger stacks
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 68/100
Línea de trabajo
Start from the stack trace: org.netbeans.modules.debugger.jpda.ui.values.ComputeInlineValues.computeVariables (line 41) feeds a frame's line number into javac's Position.getPosition, which throws when the frame is a synthetic lambda with no line number. Read ComputeInlineValues.java and InlineValueComputerImpl.java to see where frames are collected and where a no-line-number guard belongs; check whether the maintainer's comment thread already decides between hiding such frames vs. guarding the lookup. Done means clicking a lambda frame no longer logs ArrayIndexOutOfBoundsException and synthetic frames are either skipped or handled safely, verified with the sample snippet in the issue.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
private static <V> V foo(Callable<V> call) throws Exception {
return call.call();
}
static void main() throws Exception {
foo(() -> {
return null; // set breakpoint
});
}
trying to get to the marked stack frame causes an exception, should we hide frames without line numbers?
SEVERE [org.openide.util.Exceptions]
java.lang.ArrayIndexOutOfBoundsException: Index -2 out of bounds for length 22
at com.sun.tools.javac.util.Position$LineTabMapImpl.getPosition(Position.java:278)
at com.sun.tools.javac.util.Position$LineMapImpl.getPosition(Position.java:193)
at com.sun.tools.javac.util.Position$LineTabMapImpl.getPosition(Position.java:253)
at org.netbeans.modules.debugger.jpda.ui.values.ComputeInlineValues.computeVariables(ComputeInlineValues.java:41)
at org.netbeans.modules.debugger.jpda.ui.models.InlineValueComputerImpl$ComputeInlineVariablesFactory$1.run(InlineValueComputerImpl.java:355)
at org.netbeans.modules.debugger.jpda.ui.models.InlineValueComputerImpl$ComputeInlineVariablesFactory$1.run(InlineValueComputerImpl.java:332)
[catch] at org.netbeans.modules.java.source.JavaSourceAccessor$CancelableTaskWrapper.run(JavaSourceAccessor.java:273)
at org.netbeans.modules.parsing.impl.TaskProcessor.callParserResultTask(TaskProcessor.java:561)
at org.netbeans.modules.parsing.impl.TaskProcessor$RequestPerformer.run(TaskProcessor.java:786)
at org.openide.util.lookup.Lookups.executeWith(Lookups.java:288)
at org.netbeans.modules.parsing.impl.TaskProcessor$RequestPerformer.execute(TaskProcessor.java:702)
at org.netbeans.modules.parsing.impl.TaskProcessor$CompilationJob.run(TaskProcessor.java:663)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:545)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:330)
at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1370)
at org.netbeans.modules.openide.util.GlobalLookup.execute(GlobalLookup.java:45)
at org.openide.util.lookup.Lookups.executeWith(Lookups.java:287)
at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1981)
cc @lahodaj
- Lenguaje dominante
- Java
- Estrellas
- 3.1k
- Forks
- 939
- Merge medio
- 4 d 21 h
- PR fusionados (30 d)
- 24
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de apache/netbeans
-
Contribution welcome kind:feature Platform
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
apache/netbeans#9614 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
kind:bug LSP needs:triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
apache/netbeans#9548 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Editor Java kind:feature needs:triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
Los mantenedores suelen responder en 1 día
-
The main Options dialog window has buttons with OK on the left instead of on the right on LinuxAbiertokind:bug needs:triage os:linux os:macos Platform UI
Dificultad 1/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
Incorrect DTD for wstcref-FilesAbiertokind:bug needs:triage
Dificultad 1/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
Todos los issues de apache/netbeans
Issues similares
-
[i18n] 安装实例完成后的成功提示未正确本地化Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
PCL-Community/PCL-CE#3658 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
Team/Identity Server Core Type/Improvement U2
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
wso2/product-is#28553 ·
Los mantenedores suelen responder en 1 día
-
[Feature]: Page CreationAbiertofrontend
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100
Paul-Austin-Oswego-CSC480-HCI521/gift-app#116 ·
Los mantenedores suelen responder en 2 días
-
dependencies java
Dificultad 1/5 Menos de una hora Aptitud para principiantes 62/100
micrometer-metrics/tracing#1588 ·
Los mantenedores suelen responder en 1 día