On Thu, 1 Oct 2026 01:56:39 GMT, Chris Plummer <[email protected]> wrote:
>> On macOS 26.6.2 and 27, all the SA process tests are failing with a timeout. >> I manually attached to a java process using clhsdb, and after the detach the >> debuggee process was left suspended, so this seems to be the issue causing >> the timeouts. Details in first comment. >> >> - Tested with all svc tier1 through tier8 testing on macosx-aarch64-debug. >> - Ran all SA tests on various mach5 hosts 50 times each on macosx-aarch64 >> and macosx-aarch64-debug. >> - Tested on macOS 26.6.2 personal device by running serviceability/sa 120 >> times on combination of debug and product builds >> - Tested on macOS 27 mach5 devices by running serviceability/sa 100 times. >> >> --------- >> - [x] I confirm that I make this contribution in accordance with the >> [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai). > > Chris Plummer has updated the pull request incrementally with one additional > commit since the last revision: > > fix some code indents This seems reasonable based on your description of the situation. I do find it strange that the problem seems so much more reproducible on these particular OS versions. The ultimate fix seems more of a workaround for a still unknown OS problem. I'm curious whether you tested the 4th fix on its own. It seems with the reply after detach the reply would get stuck because of the process still being suspended. IF you move the reply location then you naturally avoid that possibility. A couple of drive-by comments below. src/jdk.hotspot.agent/macosx/native/libsaproc/MacosxDebuggerLocal.m line 46: > 44: #import <sys/signal.h> // kill, SIGCONT > 45: #import <sys/proc.h> // SIDL, SRUN, SSLEEP, SSTOP, SZOMB > 46: #import <sys/proc_info.h> // proc_bsdinfo, PROC_PIDTBSDINFO We don't usually document why a header is needed. src/jdk.hotspot.agent/macosx/native/libsaproc/MacosxDebuggerLocal.m line 50: > 48: > 49: // The SA libproc.h uses the same _LIBPROC_H_ guard as the macOS SDK's > 50: // libproc.h, so we can't include it. We need to declare proc_pidinfo() Sounds like it would be a good idea to rename the SA header file to avoid the conflict. ------------- PR Review: https://git.openjdk.org/jdk/pull/33158#pullrequestreview-5374877813 PR Review Comment: https://git.openjdk.org/jdk/pull/33158#discussion_r4151757687 PR Review Comment: https://git.openjdk.org/jdk/pull/33158#discussion_r4151772957
