redhat-developer / redhat-developer/vscode-java

Connection got disposed

未关闭
#2,921 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

extension-start
主要语言
TypeScript
星标
2.3k
派生
547
平均合并
20 小时 1 分钟
30 天内合并 PR
11

描述

Type: Bug

Hi,
after reload/start visual studio the connection between vs and the language support server will be stopped with connection got disposed.
I see in the development (log level debug) the message "rejected promise not handeld within 1 second: Error: Connection got disposed.

devcontainer.json:
// For format details, see https://aka.ms/vscode-remote/devcontainer.json or this file's README at:
// https://github.com/microsoft/vscode-dev-containers/tree/v0.195.0/containers/java
{
"name": "Java Development",
"build": {
"dockerfile": "Dockerfile"
},
// Configure tool-specific properties.
"customizations": {
// Configure properties specific to VS Code.
"vscode": {
// Set default container specific settings.json values on container create.
"settings": {
"maven.executable.path": "/home/sepp/.sdkman/candidates/maven/current/bin/mvn"
},
// Add the IDs of extensions you want installed when the container is created.
"extensions": [
"vscjava.vscode-java-pack",
"EditorConfig.EditorConfig",
"ritwickdey.LiveServer",
"yzhang.markdown-all-in-one",
"vscjava.vscode-spring-boot-dashboard",
"Pivotal.vscode-boot-dev-pack",
"Gruntfuggly.todo-tree",
"tomoki1207.pdf",
"redhat.vscode-xml",
"DotJoshJohnson.xml",
"redhat.fabric8-analytics",
"ms-vscode.hexeditor",
"mike-lischke.vscode-antlr4",
"humao.rest-client",
"vscjava.vscode-java-debug",
"VisualStudioExptTeam.vscodeintellicode",
"VisualStudioExptTeam.intellicode-api-usage-examples",
"redhat.java",
"vscjava.vscode-maven",
"42Crunch.vscode-openapi",
"vscjava.vscode-java-dependency",
"vmware.vscode-boot-dev-pack",
"vmware.vscode-spring-boot",
"vscjava.vscode-spring-initializr",
"vscjava.vscode-java-test",
"DougFinke.vscode-pandoc",
"redhat.vscode-yaml"
]
}
},
// Use 'forwardPorts' to make a list of ports inside the container available locally.
// "forwardPorts": [],
// Use 'postCreateCommand' to run commands after the container is created.
// "postCreateCommand": "java -version",
// Uncomment to connect as a non-root user. See https://aka.ms/vscode-remote/containers/non-root.
"remoteUser": "sepp"
}

Docker:

Node - Entwicklungsumgebung

ARG OS=debian
ARG TARGET=latest

Basis - Image laden

FROM ${OS}:${TARGET} AS develop

Shell Einstellen setzen

SHELL ["/bin/bash", "--login", "-c"]

Benutzer

ENV USER_NAME=sepp
ENV USER_UID=2000
ENV USER_GID=${USER_UID}
ENV USER_PASSWORD="Posix1721#"

System aktualisieren

RUN apt-get update -y && apt-get upgrade -y

Anwender Anleger anlegen

RUN groupadd --gid $USER_GID $USER_NAME
&& useradd --uid $USER_UID --gid $USER_GID -p $USER_PASSWORD -s /bin/bash -m $USER_NAME

Sudo installieren und den Anwender (USER_NAME) hinzufügen

RUN apt-get install -y sudo
&& echo $USER_NAME ALL=(root) NOPASSWD:ALL > /etc/sudoers.d/$USER_NAME
&& chmod 0440 /etc/sudoers.d/$USER_NAME

WGET und GIT installieren

RUN apt-get update
&& apt-get install -y locales
&& apt-get install wget -y
&& apt-get install git -y
&& apt-get install mitmproxy -y
&& apt-get install htop -y
&& apt-get install zip -y
&& apt-get install curl -y
&& apt-get install make -y
&& apt-get install python -y
&& apt-get install procps -y
&& apt-get install build-essential -y
&& apt-get install pandoc -y
&& apt-get install librsvg2-bin -y
&& apt-get install texlive-latex-recommended -y
&& apt-get install chromium-driver -y
&& apt-get install jq -y

RUN sed -i -e 's/# de_DE.UTF-8 UTF-8/de_DE.UTF-8 UTF-8/' /etc/locale.gen && locale-gen
ENV LC_ALL de_DE.UTF-8
ENV LANG de_DE.UTF-8
ENV LANGUAGE de_DE:de

Zeitzone setzen

RUN rm /etc/localtime &&
ln -s /usr/share/zoneinfo/Europe/Brussels /etc/localtime

Arbeitsumgebung und den Anwender zu setzen

WORKDIR /home/sepp
USER sepp

Anwenderumgebung, und Tools (nvm, node, typescript, nestjs und angluar installieren)

RUN wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
RUN . .nvm/nvm.sh
&& nvm install --no-progress --latest-npm --lts

Java - Entwicklungsumgebung einrichten

RUN wget -qO- https://get.sdkman.io | bash
RUN source .sdkman/bin/sdkman-init.sh
&& sdk install java 11.0.17-tem
&& sdk install maven

// Host - System

  • Apple M1 Pro
  • 16 GB
  • Ventura 13.2

// Docker

  • v20.10.22
    "builder": {
    "gc": {
    "defaultKeepStorage": "20GB",
    "enabled": true
    }
    },
    "experimental": false,
    "features": {
    "buildkit": true
    }
    }

Greetings

Extension version: 1.15.2023020403
VS Code version: Code 1.75.0 (e2816fe719a4026ffa1ee0189dc89bdfdbafb164, 2023-02-01T15:26:31.005Z)
OS version: Darwin arm64 22.3.0
Modes:
Sandboxed: No
Remote OS version: Linux arm64 5.15.49-linuxkit

System Info
Item Value
CPUs Apple M1 Pro (10 x 24)
GPU Status 2d_canvas: enabled
canvas_oop_rasterization: disabled_off
direct_rendering_display_compositor: disabled_off_ok
gpu_compositing: enabled
metal: disabled_off
multiple_raster_threads: enabled_on
opengl: enabled_on
rasterization: enabled
raw_draw: disabled_off_ok
skia_renderer: enabled_on
video_decode: enabled
video_encode: enabled
vulkan: disabled_off
webgl: enabled
webgl2: enabled
webgpu: disabled_off
Load (avg) 6, 4, 3
Memory (System) 16.00GB (0.04GB free)
Process Argv
Screen Reader no
VM 0%
Item Value
Remote Dev Container: Java Development
OS Linux arm64 5.15.49-linuxkit
CPUs unknown (5 x 0)
Memory (System) 7.67GB (5.07GB free)
VM 0%

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

调研方向

首先,在 VS Code 中使用提供的 devcontainer.json 和 Dockerfile 重现连接释放,然后检查重新加载或重启期间的开发日志。当 Java language-support 连接在重新加载/启动后仍然可用,并且不再出现被拒绝的 promise 消息 "Connection got disposed" 时,即表示完成。

由索引模型根据 Issue 内容生成。

评估

技术栈
docker, java, typescript
领域
developer-experience, devtools
Issue 类型
缺陷
难度
4/5
预计耗时
3-5 天
活跃度
停滞
描述清晰度
需要澄清
新手友好度
25/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。