[jdk8u-dev] RFR: 8318039: GHA: Bump macOS and Xcode versions

Antonio Vieiro duke at openjdk.org
Fri Jul 12 11:23:57 UTC 2024


On Wed, 10 Jul 2024 12:43:57 GMT, Zdenek Zambersky <zzambers at openjdk.org> wrote:

>> This backport is written from scratch, as GHA workflows in jdk8u differ significantly from newer jdk versions.
>> 
>> Notes:
>> - additionally installed `gawk` to prevent build error on newer macos (see my [comment](https://github.com/openjdk/jdk17u-dev/pull/2206#issuecomment-2217722646))
>> - interestingly, unlike for newer jdks (11, 17), additional backports do not seem necessary to pass the build, probably build system of jdk8 is more relaxed, when it comes to warnings as errors
>> - fixes problem of stuck macos jobs in GHA (caused by dropping of macos-11 by GitHub)
>> 
>> Testing:
>> - macos builds pass
>> - there are some test failures on updated macos, probably problem in test environment, seem to be hostname related -> to be fixed (either here, or in separate PR)
>
> I have done some additional testing and  `macos-13` machines indeed do not resolve their own hostname to IP address. I see this infra/environment issue by GitHub.
> 
> This causes many tier1 test failures on jdk8 (many `com/sun/jdi/*` and `runtime/7158988/FieldMonitor.java`). It does not cause tier1 test failures on openjdk/jdk, jdk21u-dev, even without workaround as it seems. It does, however, cause failures on jdk11 (checked on jdk11 with some not-yet-integrated fixes cherry-picked and disabled-warning-as-errors on macos-13). So failures are not jdk8 specific as I previously thought...
> 
> Ideally this would be fixed by GitHub in their infra/images, I have found there was the same macos issue for runner-images in the past. I [commented](https://github.com/actions/runner-images/issues/1335#issuecomment-2220149413) there (I can open new issue, if it does not get their attention). Maybe I should wait for their reaction, before doing workaround and backporting it.

Hi @zzambers @jerboaa ,

In [the latest 11 builds on macos-13](https://github.com/openjdk/jdk11u-dev/pull/2854/checks?check_run_id=27365009791) the tests that are failing [1] are all related to JDI/JDWP, and report connection failures, and the tests fail only on this platform.

An example stack trace (attached): [stack-trace.txt](https://github.com/user-attachments/files/16192857/stack-trace.txt) shows (note the empty `localAddress`):


Caused by: java.lang.InternalError: Failed remote listen: java.util.concurrent.ExecutionException: com.sun.jdi.connect.TransportTimeoutException: timeout waiting for connection @ com.sun.jdi.SocketListen (defaults: timeout=, port=, localAddress=) -- {timeout=timeout=5000, port=port=50478, localAddress=localAddress=}


And then times out:

2024-07-12T08:44:34.5430720Z Caused by: com.sun.jdi.connect.TransportTimeoutException: timeout waiting for connection
2024-07-12T08:44:34.5432330Z 	at jdk.jdi/com.sun.tools.jdi.SocketTransportService.accept(SocketTransportService.java:379)
2024-07-12T08:44:34.5460550Z 	at jdk.jdi/com.sun.tools.jdi.GenericListeningConnector.accept(GenericListeningConnector.java:155)


I was wondering if this is something related to `-Djava.net.preferIPv4Stack=true` perhaps? 

[1]

jdk/jshell/ExceptionMessageTest.java: Test exception().getMessage() in events returned by eval()
jdk/jshell/JdiFailingLaunchExecutionControlTest.java: Tests for JDI connector failure
jdk/jshell/JdiFailingListenExecutionControlTest.java: Tests for JDI connector failure
jdk/jshell/JdiHangingLaunchExecutionControlTest.java: Tests for JDI connector timeout failure 

com/sun/jdi/AccessSpecifierTest.java: Test fix for JDI: methods Accessible.is...() lie about array types
com/sun/jdi/AfterThreadDeathTest.java: Creating a StepRequest on a nonexistant thread fails
com/sun/jdi/ArrayRangeTest.java: Test access to ranges within ArrayReferences
com/sun/jdi/ConstantPoolInfo.java: Test ReferenceType.majorVersion(), minorVersion, constantPoolCount and ConstantPool apis.
com/sun/jdi/CountFilterTest.java: Check correct processing of filters after a count filter
com/sun/jdi/EarlyReturnNegativeTest.java: Unexpected ClassCastException in ThreadReference.forceEarlyReturn
com/sun/jdi/EarlyReturnTest.java: Need a way to create JDI VoidValue for use in ThreadReference.forceEarlyReturn
com/sun/jdi/FieldWatchpoints.java: Test fix for: JDWP: WatchpointEvents outside of class filtered out
com/sun/jdi/FramesTest.java: Test ThreadReference.frames(int,int)
com/sun/jdi/InstanceFilter.java: Verify that an instance filter on a MethodEntryRequest works properly.
com/sun/jdi/InterfaceMethodsTest.java: JDI: Add support for static, private and default methods in interfaces
com/sun/jdi/InvokeTest.java: Test argument types for invoke
com/sun/jdi/LocalVariableEqual.java: Test
com/sun/jdi/LocationTest.java: Test that Method.location() returns the right values
com/sun/jdi/ModificationWatchpoints.java: Test all info returned by modification watchpoints
com/sun/jdi/MonitorEventTest.java: Simple basic test of jdi Monitor request and event.
com/sun/jdi/MonitorFrameInfo.java: MonitorInfo objects aren't invalidated when the owning thread is resumed
com/sun/jdi/NullThreadGroupNameTest.java: Ensure that JDWP doesn't crash with a null thread group name
com/sun/jdi/PopAndStepTest.java: Hin says that doing a step over after a popframe acts like a resume.
com/sun/jdi/PopAsynchronousTest.java: Test the popping of frames in an asynchronous context (that is, when suspended by the debugger at random points)
com/sun/jdi/ReferrersTest.java: Add support for backtracking reference graph.
com/sun/jdi/RequestReflectionTest.java: RequestReflectionTest checks to see that reflective accessors on EventRequests return what they are given.
com/sun/jdi/ResumeOneThreadTest.java: Thread resume invalidates all stack frames, even from other threads
com/sun/jdi/SourceNameFilterTest.java: JDI add addSourceNameFilter to ClassPrepareRequest
com/sun/jdi/VarargsTest.java: JPDA: Add support for RFE 4856541 - varargs
com/sun/jdi/Vars.java: Test Method.variables() and the like.
com/sun/jdi/redefineMethod/RedefineTest.java: Test class redefinition - method data line numbers and local vars,
com/sun/jdi/sde/MangleTest.java: Test the new SourceDebugExtension facility
com/sun/jdi/sde/TemperatureTableTest.java: Test the new SourceDebugExtension facility

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

PR Comment: https://git.openjdk.org/jdk8u-dev/pull/544#issuecomment-2225363064


More information about the jdk8u-dev mailing list