RFR: 8327114: Attach in Linux may have wrong behaviour when pid == ns_pid (Kubernetes debug container) [v3]

Larry Cable duke at openjdk.org
Wed May 22 18:45:06 UTC 2024


On Tue, 21 May 2024 17:10:15 GMT, Sebastian Lövdahl <duke at openjdk.org> wrote:

>> 8327114: Attach in Linux may have wrong behaviour when pid == ns_pid (Kubernetes debug container)
>
> Sebastian Lövdahl has updated the pull request incrementally with two additional commits since the last revision:
> 
>  - Remove unused `SELF_PID_NS`
>  - Rewrite in line with suggestion from Larry Cable

I haven't but I will BTW which linux capabilities should be enabled in 
order to prevent a /proc/... style attach due to lack of permissions to 
access target's /proc fs?

Rgds

- Larry

On 5/22/24 2:37 AM, Sebastian Lövdahl wrote:
>
> Thanks for the explanation @larry-cable 
> <https://urldefense.com/v3/__https://github.com/larry-cable__;!!ACWV5N9M2RV99hQ!Itj8vWkvTqaQTLecUEfu_JZ6ABpWcUnNdgvMjd3DIa_lT3gj_sPLvswAzzOOr-hQRtP8oH0WAHwlplxItufP1OzXcw$>, 
> that makes sense. By chance, did you already test the Docker |--user| 
> case with the suggested patch? I don't have access to an environment 
> with rootless Docker at hand, but I may be able to set it up in a VM 
> if you didn't already test it.
>
>> Reply to this email directly, view it on GitHub 
> <https://urldefense.com/v3/__https://github.com/openjdk/jdk/pull/19055*issuecomment-2124324590__;Iw!!ACWV5N9M2RV99hQ!Itj8vWkvTqaQTLecUEfu_JZ6ABpWcUnNdgvMjd3DIa_lT3gj_sPLvswAzzOOr-hQRtP8oH0WAHwlplxItufIAfBLoA$>, 
> or unsubscribe 
> <https://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/ANTA67WR5PKR6GOLQ5YR4YTZDRRNVAVCNFSM6AAAAABHDNNTT6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMRUGMZDINJZGA__;!!ACWV5N9M2RV99hQ!Itj8vWkvTqaQTLecUEfu_JZ6ABpWcUnNdgvMjd3DIa_lT3gj_sPLvswAzzOOr-hQRtP8oH0WAHwlplxItufsOv7sDg$>.
> You are receiving this because you were mentioned.Message ID: 
> ***@***.***>
>

--------------p6E1JhKjfAr6K0U0BUrS5J3x
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<!DOCTYPE html><html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body>
    I haven't but I will BTW which linux capabilities should be enabled
    in order to prevent a /proc/... style attach due to lack of
    permissions to access target's /proc fs?<br>
    <br>
    Rgds<br>
    <br>
    - Larry<br>
    <br>
    <div class="moz-cite-prefix">On 5/22/24 2:37 AM, Sebastian Lövdahl
      wrote:<br>
    </div>
    <blockquote type="cite" ***@***.***">
      
      <p dir="auto">Thanks for the explanation <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/larry-cable/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://urldefense.com/v3/__https://github.com/larry-cable__;!!ACWV5N9M2RV99hQ!Itj8vWkvTqaQTLecUEfu_JZ6ABpWcUnNdgvMjd3DIa_lT3gj_sPLvswAzzOOr-hQRtP8oH0WAHwlplxItufP1OzXcw$" ***@***.***</a>, that makes sense. By
        chance, did you already test the Docker <code class="notranslate">--user</code> case with the suggested
        patch? I don't have access to an environment with rootless
        Docker at hand, but I may be able to set it up in a VM if you
        didn't already test it.</p>
      <p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br>
        Reply to this email directly, <a href="https://urldefense.com/v3/__https://github.com/openjdk/jdk/pull/19055*issuecomment-2124324590__;Iw!!ACWV5N9M2RV99hQ!Itj8vWkvTqaQTLecUEfu_JZ6ABpWcUnNdgvMjd3DIa_lT3gj_sPLvswAzzOOr-hQRtP8oH0WAHwlplxItufIAfBLoA$" moz-do-not-send="true">view it on GitHub</a>, or <a href="https://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/ANTA67WR5PKR6GOLQ5YR4YTZDRRNVAVCNFSM6AAAAABHDNNTT6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMRUGMZDINJZGA__;!!ACWV5N9M2RV99hQ!Itj8vWkvTqaQTLecUEfu_JZ6ABpWcUnNdgvMjd3DIa_lT3gj_sPLvswAzzOOr-hQRtP8oH0WAHwlplxItufsOv7sDg$" moz-do-not-send="true">unsubscribe</a>.<br>
        You are receiving this because you were mentioned.<img src="https://github.com/notifications/beacon/ANTA67SYZIQHARL7TOTRLHLZDRRNVA5CNFSM6AAAAABHDNNTT6WGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTT6T2PO4.gif" alt="" moz-do-not-send="true" width="1" height="1"><span style="color: transparent; font-size: 0; display: none; visibility: hidden; overflow: hidden; opacity: 0; width: 0; height: 0; max-width: 0; max-height: 0; mso-hide: all">Message
          ID: <span><openjdk/jdk/pull/19055/c2124324590</span><span>@</span><span>github</span><span>.</span><span>com></span></span></p>
      <script type="application/ld+json">[
{
***@***.***": "http://schema.org",
***@***.***": "EmailMessage",
"potentialAction": {
***@***.***": "ViewAction",
"target": "https://github.com/openjdk/jdk/pull/19055#issuecomment-2124324590",
"url": "https://github.com/openjdk/jdk/pull/19055#issuecomment-2124324590",
"name": "View Pull Request"
},
"description": "View this Pull Request on GitHub",
"publisher": {
***@***.***": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>
    </blockquote>
    <br>
  </body>
</html>

--------------p6E1JhKjfAr6K0U0BUrS5J3x--

it lives ...it lives!!!

I love it when a patch comes together!

:)

thx for testing this before my 1dt cup of coffee!

Rgds

- Larry

On 5/22/24 4:21 AM, Sebastian Lövdahl wrote:
>
> I set up rootless Docker in a VM by following 
> https://docs.docker.com/engine/security/rootless 
> <https://urldefense.com/v3/__https://docs.docker.com/engine/security/rootless__;!!ACWV5N9M2RV99hQ!ILXmNJIu4Gt289mnC35eZVQJfnEjBLKSgmLkd-qoanr6YXVS7KHjYw24PXzZbOdX1IT4HTFNICDXNnKMIoWGsleSZA$>.
>
> ***@***.***:~$ systemctl status --user 
> docker.service ● docker.service - Docker Application Container Engine 
> (Rootless) Loaded: loaded 
> (/home/slovdahl/.config/systemd/user/docker.service; enabled; vendor 
> preset: enabled) Active: active (running) since Wed 2024-05-22 
> 13:55:06 EEST; 5min ago Docs: https://docs.docker.com/go/rootless/ 
> <https://urldefense.com/v3/__https://docs.docker.com/go/rootless/__;!!ACWV5N9M2RV99hQ!ILXmNJIu4Gt289mnC35eZVQJfnEjBLKSgmLkd-qoanr6YXVS7KHjYw24PXzZbOdX1IT4HTFNICDXNnKMIoV88DoH1A$> 
> Main PID: 3314 (rootlesskit) Tasks: 58 Memory: 596.4M CPU: 16.821s 
> CGroup: 
> ***@***.***/app.slice/docker.service 
> ├─3314 rootlesskit --state-dir=/run/user/1000/dockerd-rootless 
> --net=slirp4netns --mtu=65520 --slirp4netns-sandbox=auto 
> --slirp4netns-seccomp=auto --disable-host-loopback 
> --port-driver=builtin --copy-up=/etc --copy-up=/run 
> --propagation=rslave /usr/bin/dockerd> ├─3325 /proc/self/exe 
> --state-dir=/run/user/1000/dockerd-rootless --net=slirp4netns 
> --mtu=65520 --slirp4netns-sandbox=auto --slirp4netns-seccomp=auto 
> --disable-host-loopback --port-driver=builtin --copy-up=/etc 
> --copy-up=/run --propagation=rslave /usr/bin/dock> ├─3343 slirp4netns 
> --mtu 65520 -r 3 --disable-host-loopback --enable-sandbox 
> --enable-seccomp 3325 tap0 ├─3350 dockerd ├─3373 containerd --config 
> /run/user/1000/docker/containerd/containerd.toml └─4116 
> /usr/bin/containerd-shim-runc-v2 -namespace moby -id 
> 3a84c6c9f7b8ee6220b8953b65ff56639dd51335999cb37580292f4944ee0e65 
> -address /run/user/1000/docker/containerd/containerd.sock |
>
> Started a container running as my user:
>
> ***@***.***:~$ docker run --name reproducer 
> --rm -v .:/app -w /app eclipse-temurin:17 java Reproducer.java Hello, 
> World! Bound to port 81 |
>
> Using the Ubuntu OpenJDK 17 package:
>
> ***@***.***:~$ java -version openjdk version 
> "17.0.10" 2024-01-16 OpenJDK Runtime Environment (build 
> 17.0.10+7-Ubuntu-122.04.1) OpenJDK 64-Bit Server VM (build 
> 17.0.10+7-Ubuntu-122.04.1, mixed mode, sharing) 
> ***@***.***:~$ jcmd 4139 
> jdk.compiler/com.sun.tools.javac.launcher.Main Reproducer.java 5965 
> jdk.jcmd/sun.tools.jcmd.JCmd ***@***.***:~$ jcmd 
> 4139 VM.version 4139: OpenJDK 64-Bit Server VM version 17.0.11+9 JDK 
> 17.0.11 |
>
> Using mainline JDK without the changes in this PR:
>
> ***@***.***:~$ /jdk/bin/jcmd 4139 VM.version 
> 4139: OpenJDK 64-Bit Server VM version 17.0.11+9 JDK 17.0.11 |
>
> Using JDK built from this PR:
>
> ***@***.***:~$ /jdk/bin/jcmd 4139 VM.version 
> 4139: OpenJDK 64-Bit Server VM version 17.0.11+9 JDK 17.0.11 |
>
> Using a sidecar container mounted into the same PID namespace with 
> Eclipse Temurin 17:
>
> ***@***.***:~$ docker run --interactive --tty 
> --rm --pid=container:reproducer eclipse-temurin:17.0.11_9-jdk-jammy 
> /bin/bash ***@***.***:/# jcmd 44 jdk.jcmd/sun.tools.jcmd.JCmd 
> ***@***.***:/# jcmd 1 VM.version 1: OpenJDK 64-Bit Server VM 
> version 17.0.11+9 JDK 17.0.11 |
>
> Using a sidecar container mounted into the same PID namespace with 
> mainline JDK (expected to fail):
>
> ***@***.***:~$ docker run --interactive --tty 
> --rm --pid=container:reproducer --volume /jdk/:/jdk ubuntu:22.04 
> /bin/bash ***@***.***:/# /jdk/bin/jcmd 1 
> jdk.compiler/com.sun.tools.javac.launcher.Main Reproducer.java 234 
> jdk.jcmd/sun.tools.jcmd.JCmd ***@***.***:/# /jdk/bin/jcmd 1 
> VM.version 1: com.sun.tools.attach.AttachNotSupportedException: Unable 
> to open socket file /tmp/.java_pid1: target process 1 doesn't respond 
> within 10500ms or HotSpot VM not loaded at 
> jdk.attach/sun.tools.attach.VirtualMachineImpl.<init>(VirtualMachineImpl.java:99) 
> at 
> jdk.attach/sun.tools.attach.AttachProviderImpl.attachVirtualMachine(AttachProviderImpl.java:58) 
> at 
> jdk.attach/com.sun.tools.attach.VirtualMachine.attach(VirtualMachine.java:207) 
> at jdk.jcmd/sun.tools.jcmd.JCmd.executeCommandForPid(JCmd.java:113) at 
> jdk.jcmd/sun.tools.jcmd.JCmd.main(JCmd.java:97) |
>
> Using a sidecar container mounted into the same PID namespace with JDK 
> built from this PR:
>
> ***@***.***:~$ docker run --interactive --tty 
> --rm --pid=container:reproducer --volume /jdk/:/jdk ubuntu:22.04 
> /bin/bash ***@***.***:/# /jdk/bin/jcmd 1 
> jdk.compiler/com.sun.tools.javac.launcher.Main Reproducer.java 154 
> jdk.jcmd/sun.tools.jcmd.JCmd ***@***.***:/# /jdk/bin/jcmd 1 
> VM.version 1: OpenJDK 64-Bit Server VM version 17.0.11+9 JDK 17.0.11 |
>
> Starting the target container with elevated privileges:
>
> ***@***.***:~$ docker run --name reproducer 
> --cap-add=CAP_NET_RAW --rm -v .:/app -w /app eclipse-temurin:17 java 
> Reproducer.java Hello, World! Bound to port 81 
> ***@***.***:~$ sudo getpcaps 7332 7332: 
> cap_chown,cap_dac_override,cap_fowner,cap_fsetid,cap_kill,cap_setgid,cap_setuid,cap_setpcap,cap_net_bind_service,cap_net_raw,cap_sys_chroot,cap_mknod,cap_audit_write,cap_setfcap=ep 
> |
>
> Attaching from a sidecar container with a JDK built from this PR:
>
> ***@***.***:~$ docker run --interactive --tty 
> --rm --pid=container:reproducer --volume /jdk/:/jdk ubuntu:22.04 
> /bin/bash ***@***.***:/# /jdk/bin/jcmd 1 VM.version 1: OpenJDK 
> 64-Bit Server VM version 17.0.11+9 JDK 17.0.11 |
>
>> Reply to this email directly, view it on GitHub 
> <https://urldefense.com/v3/__https://github.com/openjdk/jdk/pull/19055*issuecomment-2124549900__;Iw!!ACWV5N9M2RV99hQ!ILXmNJIu4Gt289mnC35eZVQJfnEjBLKSgmLkd-qoanr6YXVS7KHjYw24PXzZbOdX1IT4HTFNICDXNnKMIoUiCnhWUw$>, 
> or unsubscribe 
> <https://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/ANTA67VDJPJFFMPA7SF2YJDZDR5SLAVCNFSM6AAAAABHDNNTT6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMRUGU2DSOJQGA__;!!ACWV5N9M2RV99hQ!ILXmNJIu4Gt289mnC35eZVQJfnEjBLKSgmLkd-qoanr6YXVS7KHjYw24PXzZbOdX1IT4HTFNICDXNnKMIoWSMOTYwg$>.
> You are receiving this because you were mentioned.Message ID: 
> ***@***.***>
>

--------------0k0wZisxTpAKNaSxRp0B1RTM
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<!DOCTYPE html><html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body>
    it lives ...it lives!!! <br>
    <br>
    I love it when a patch comes together!<br>
    <br>
    :)<br>
    <br>
    thx for testing this before my 1dt cup of coffee!<br>
    <br>
    Rgds<br>
    <br>
    - Larry<br>
    <br>
    <div class="moz-cite-prefix">On 5/22/24 4:21 AM, Sebastian Lövdahl
      wrote:<br>
    </div>
    <blockquote type="cite" ***@***.***">
      
      <p dir="auto">I set up rootless Docker in a VM by following <a href="https://urldefense.com/v3/__https://docs.docker.com/engine/security/rootless__;!!ACWV5N9M2RV99hQ!ILXmNJIu4Gt289mnC35eZVQJfnEjBLKSgmLkd-qoanr6YXVS7KHjYw24PXzZbOdX1IT4HTFNICDXNnKMIoWGsleSZA$" rel="nofollow" moz-do-not-send="true">https://docs.docker.com/engine/security/rootless</a>.</p>
      <pre class="notranslate"><code ***@***.***:~$ systemctl status --user docker.service 
● docker.service - Docker Application Container Engine (Rootless)
     Loaded: loaded (/home/slovdahl/.config/systemd/user/docker.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2024-05-22 13:55:06 EEST; 5min ago
       Docs: <a href="https://urldefense.com/v3/__https://docs.docker.com/go/rootless/__;!!ACWV5N9M2RV99hQ!ILXmNJIu4Gt289mnC35eZVQJfnEjBLKSgmLkd-qoanr6YXVS7KHjYw24PXzZbOdX1IT4HTFNICDXNnKMIoV88DoH1A$" moz-do-not-send="true">https://docs.docker.com/go/rootless/</a>
   Main PID: 3314 (rootlesskit)
      Tasks: 58
     Memory: 596.4M
        CPU: 16.821s
     CGroup: ***@***.***/app.slice/docker.service
             ├─3314 rootlesskit --state-dir=/run/user/1000/dockerd-rootless --net=slirp4netns --mtu=65520 --slirp4netns-sandbox=auto --slirp4netns-seccomp=auto --disable-host-loopback --port-driver=builtin --copy-up=/etc --copy-up=/run --propagation=rslave /usr/bin/dockerd>
             ├─3325 /proc/self/exe --state-dir=/run/user/1000/dockerd-rootless --net=slirp4netns --mtu=65520 --slirp4netns-sandbox=auto --slirp4netns-seccomp=auto --disable-host-loopback --port-driver=builtin --copy-up=/etc --copy-up=/run --propagation=rslave /usr/bin/dock>
             ├─3343 slirp4netns --mtu 65520 -r 3 --disable-host-loopback --enable-sandbox --enable-seccomp 3325 tap0
             ├─3350 dockerd
             ├─3373 containerd --config /run/user/1000/docker/containerd/containerd.toml
             └─4116 /usr/bin/containerd-shim-runc-v2 -namespace moby -id 3a84c6c9f7b8ee6220b8953b65ff56639dd51335999cb37580292f4944ee0e65 -address /run/user/1000/docker/containerd/containerd.sock
</code></pre>
      <p dir="auto">Started a container running as my user:</p>
      <pre class="notranslate"><code ***@***.***:~$ docker run --name reproducer --rm -v .:/app -w /app eclipse-temurin:17 java Reproducer.java
Hello, World!
Bound to port 81
</code></pre>
      <p dir="auto">Using the Ubuntu OpenJDK 17 package:</p>
      <pre class="notranslate"><code ***@***.***:~$ java -version
openjdk version "17.0.10" 2024-01-16
OpenJDK Runtime Environment (build 17.0.10+7-Ubuntu-122.04.1)
OpenJDK 64-Bit Server VM (build 17.0.10+7-Ubuntu-122.04.1, mixed mode, sharing)

***@***.***:~$ jcmd
4139 jdk.compiler/com.sun.tools.javac.launcher.Main Reproducer.java
5965 jdk.jcmd/sun.tools.jcmd.JCmd

***@***.***:~$ jcmd 4139 VM.version
4139:
OpenJDK 64-Bit Server VM version 17.0.11+9
JDK 17.0.11
</code></pre>
      <p dir="auto">Using mainline JDK without the changes in this PR:</p>
      <pre class="notranslate"><code ***@***.***:~$ /jdk/bin/jcmd 4139 VM.version
4139:
OpenJDK 64-Bit Server VM version 17.0.11+9
JDK 17.0.11
</code></pre>
      <p dir="auto">Using JDK built from this PR:</p>
      <pre class="notranslate"><code ***@***.***:~$ /jdk/bin/jcmd 4139 VM.version
4139:
OpenJDK 64-Bit Server VM version 17.0.11+9
JDK 17.0.11
</code></pre>
      <p dir="auto">Using a sidecar container mounted into the same PID
        namespace with Eclipse Temurin 17:</p>
      <pre class="notranslate"><code ***@***.***:~$ docker run --interactive --tty --rm --pid=container:reproducer eclipse-temurin:17.0.11_9-jdk-jammy /bin/bash
***@***.***:/# jcmd
44 jdk.jcmd/sun.tools.jcmd.JCmd
***@***.***:/# jcmd 1 VM.version
1:
OpenJDK 64-Bit Server VM version 17.0.11+9
JDK 17.0.11
</code></pre>
      <p dir="auto">Using a sidecar container mounted into the same PID
        namespace with mainline JDK (expected to fail):</p>
      <pre class="notranslate"><code ***@***.***:~$ docker run --interactive --tty --rm --pid=container:reproducer --volume /jdk/:/jdk ubuntu:22.04 /bin/bash
***@***.***:/# /jdk/bin/jcmd
1 jdk.compiler/com.sun.tools.javac.launcher.Main Reproducer.java
234 jdk.jcmd/sun.tools.jcmd.JCmd
***@***.***:/# /jdk/bin/jcmd 1 VM.version
1:
com.sun.tools.attach.AttachNotSupportedException: Unable to open socket file /tmp/.java_pid1: target process 1 doesn't respond within 10500ms or HotSpot VM not loaded
	at jdk.attach/sun.tools.attach.VirtualMachineImpl.<init>(VirtualMachineImpl.java:99)
	at jdk.attach/sun.tools.attach.AttachProviderImpl.attachVirtualMachine(AttachProviderImpl.java:58)
	at jdk.attach/com.sun.tools.attach.VirtualMachine.attach(VirtualMachine.java:207)
	at jdk.jcmd/sun.tools.jcmd.JCmd.executeCommandForPid(JCmd.java:113)
	at jdk.jcmd/sun.tools.jcmd.JCmd.main(JCmd.java:97)
</code></pre>
      <p dir="auto">Using a sidecar container mounted into the same PID
        namespace with JDK built from this PR:</p>
      <pre class="notranslate"><code ***@***.***:~$ docker run --interactive --tty --rm --pid=container:reproducer --volume /jdk/:/jdk ubuntu:22.04 /bin/bash
***@***.***:/# /jdk/bin/jcmd
1 jdk.compiler/com.sun.tools.javac.launcher.Main Reproducer.java
154 jdk.jcmd/sun.tools.jcmd.JCmd
***@***.***:/# /jdk/bin/jcmd 1 VM.version
1:
OpenJDK 64-Bit Server VM version 17.0.11+9
JDK 17.0.11
</code></pre>
      <p dir="auto">Starting the target container with elevated
        privileges:</p>
      <pre class="notranslate"><code ***@***.***:~$ docker run --name reproducer --cap-add=CAP_NET_RAW --rm -v .:/app -w /app eclipse-temurin:17 java Reproducer.java
Hello, World!
Bound to port 81

***@***.***:~$ sudo getpcaps 7332
7332: cap_chown,cap_dac_override,cap_fowner,cap_fsetid,cap_kill,cap_setgid,cap_setuid,cap_setpcap,cap_net_bind_service,cap_net_raw,cap_sys_chroot,cap_mknod,cap_audit_write,cap_setfcap=ep
</code></pre>
      <p dir="auto">Attaching from a sidecar container with a JDK built
        from this PR:</p>
      <pre class="notranslate"><code ***@***.***:~$ docker run --interactive --tty --rm --pid=container:reproducer --volume /jdk/:/jdk ubuntu:22.04 /bin/bash
***@***.***:/# /jdk/bin/jcmd 1 VM.version
1:
OpenJDK 64-Bit Server VM version 17.0.11+9
JDK 17.0.11
</code></pre>
      <p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br>
        Reply to this email directly, <a href="https://urldefense.com/v3/__https://github.com/openjdk/jdk/pull/19055*issuecomment-2124549900__;Iw!!ACWV5N9M2RV99hQ!ILXmNJIu4Gt289mnC35eZVQJfnEjBLKSgmLkd-qoanr6YXVS7KHjYw24PXzZbOdX1IT4HTFNICDXNnKMIoUiCnhWUw$" moz-do-not-send="true">view it on GitHub</a>, or <a href="https://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/ANTA67VDJPJFFMPA7SF2YJDZDR5SLAVCNFSM6AAAAABHDNNTT6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMRUGU2DSOJQGA__;!!ACWV5N9M2RV99hQ!ILXmNJIu4Gt289mnC35eZVQJfnEjBLKSgmLkd-qoanr6YXVS7KHjYw24PXzZbOdX1IT4HTFNICDXNnKMIoWSMOTYwg$" moz-do-not-send="true">unsubscribe</a>.<br>
        You are receiving this because you were mentioned.<img src="https://github.com/notifications/beacon/ANTA67TJSKIPHAMPXJIXIXTZDR5SLA5CNFSM6AAAAABHDNNTT6WGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTT6UIHQY.gif" alt="" moz-do-not-send="true" width="1" height="1"><span style="color: transparent; font-size: 0; display: none; visibility: hidden; overflow: hidden; opacity: 0; width: 0; height: 0; max-width: 0; max-height: 0; mso-hide: all">Message
          ID: <span><openjdk/jdk/pull/19055/c2124549900</span><span>@</span><span>github</span><span>.</span><span>com></span></span></p>
      <script type="application/ld+json">[
{
***@***.***": "http://schema.org",
***@***.***": "EmailMessage",
"potentialAction": {
***@***.***": "ViewAction",
"target": "https://github.com/openjdk/jdk/pull/19055#issuecomment-2124549900",
"url": "https://github.com/openjdk/jdk/pull/19055#issuecomment-2124549900",
"name": "View Pull Request"
},
"description": "View this Pull Request on GitHub",
"publisher": {
***@***.***": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>
    </blockquote>
    <br>
  </body>
</html>

--------------0k0wZisxTpAKNaSxRp0B1RTM--

-------------

PR Comment: https://git.openjdk.org/jdk/pull/19055#issuecomment-2125504036
PR Comment: https://git.openjdk.org/jdk/pull/19055#issuecomment-2125516312


More information about the serviceability-dev mailing list