microsoft / microsoft/java-debug

Debugee exit code not correctly reported during event_exited

未關閉
#475 7 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

還沒有人認領這個 Issue。

ai-triaged bug
主要語言
Java
星號
409
分支
204
平均合併
1 天 13 小時
30 天內合併 PR
4

描述

I am having an issue where the exit code of the debugee is reported as 0 instead of 1 when event_exited completes (fires back), when the debugee exits the session. I am using the latest version of this extension and I am using the following dap plugin in neovim https://github.com/mfussenegger/nvim-dap. I did report the issue first there but the maintiner considers this to be an issue within the actual implementation.

Environment
  • Operating System: WSL
  • JDK version: 19
Steps To Reproduce

Initially reported here - https://github.com/mfussenegger/nvim-dap/issues/886
Sample project for reproduction - sample.zip

 .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::                (v2.7.1)

2023-03-05 08:59:45.792  INFO 5600 --- [           main] com.shit.TestApplication                 : Starting TestApplication using Java 19.0.1 on Asmodeus with PID 5600 (/h
ome/asmodeus/.projects/terere/target/classes started by asmodeus in /home/asmodeus/.projects/terere)
2023-03-05 08:59:45.794  INFO 5600 --- [           main] com.shit.TestApplication                 : No active profile set, falling back to 1 default profile: "default"
2023-03-05 08:59:46.418  INFO 5600 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configura
tion mode
2023-03-05 08:59:46.420  INFO 5600 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode.
2023-03-05 08:59:46.430  INFO 5600 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 4 ms. Found 0 JPA repository
 interfaces.
2023-03-05 08:59:46.468  INFO 5600 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configura
tion mode
2023-03-05 08:59:46.468  INFO 5600 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data MongoDB repositories in DEFAULT mode.
2023-03-05 08:59:46.469  INFO 5600 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 0 ms. Found 0 MongoDB reposi
tory interfaces.
2023-03-05 08:59:46.482  INFO 5600 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configura
tion mode
2023-03-05 08:59:46.483  INFO 5600 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data Redis repositories in DEFAULT mode.
2023-03-05 08:59:46.489  INFO 5600 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 0 ms. Found 0 Redis reposito
ry interfaces.
2023-03-05 08:59:46.743  INFO 5600 --- [           main] o.s.cloud.context.scope.GenericScope     : BeanFactory id=a07847a1-12f3-3597-b28d-50072cc2df75
2023-03-05 08:59:47.126  INFO 5600 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
2023-03-05 08:59:47.136  INFO 5600 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2023-03-05 08:59:47.137  INFO 5600 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.64]
2023-03-05 08:59:47.226  INFO 5600 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2023-03-05 08:59:47.227  INFO 5600 --- [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1381 ms
2023-03-05 08:59:47.508  WARN 5600 --- [           main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh
 attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'dataSourceScriptDatabaseInitializer' defined in class path resour
ce [org/springframework/boot/autoconfigure/sql/init/DataSourceInitializationConfiguration.class]: Unsatisfied dependency expressed through method 'dataSourceScriptDatabaseI
nitializer' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resou
rce [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]: Bean instantiation via factory method failed; nested exception is org.springframewor
k.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception; nested exception is org.springf
ramework.boot.autoconfigure.jdbc.DataSourceProperties$DataSourceBeanCreationException: Failed to determine a suitable driver class
2023-03-05 08:59:47.523  INFO 5600 --- [           main] o.apache.catalina.core.StandardService   : Stopping service [Tomcat]
2023-03-05 08:59:47.539  INFO 5600 --- [           main] ConditionEvaluationReportLoggingListener : 

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2023-03-05 08:59:47.555 ERROR 5600 --- [           main] o.s.b.d.LoggingFailureAnalysisReporter   : 

***************************
APPLICATION FAILED TO START
***************************

Description:

Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.

Reason: Failed to determine a suitable driver class


Action:

Consider the following:
        If you want an embedded database (H2, HSQL or Derby), please put it on the classpath.
        If you have database settings to be loaded from a particular profile you may need to activate it (no profiles are currently active).


[Process exited 1]
{
exitCode = 0,
type = "exited"
}
Current Result

Exit code is 0

Expected Result

Exit code is 1

Additional Information

None

貢獻指南

這個儲存庫沒有索引到貢獻指南

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

研究方向

先使用連結的範例專案和 nvim-dap 整合重現問題,然後追蹤 Java 偵錯伺服器如何處理 DAP 的 event_exited 通知。比較回報的 exitCode 與 debugee 的實際程序結果。完成標準是:以程式碼 1 結束的 debugee 產生的 event_exited payload 回報 1,而不是 0。

由索引模型根據 Issue 內容生成。

評估

技術堆疊
java
領域
devtools
Issue 類型
缺陷
難度
4/5
預估耗時
3-5 天
活躍度
停滯
描述清晰度
基本清楚
新手友好度
35/100

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。