RFR: 7904101: intermittent failure in StreamsTest.agentvm.ok [v3]
Christian Stein
cstein at openjdk.org
Tue Dec 2 12:08:32 UTC 2025
On Mon, 27 Oct 2025 22:00:06 GMT, Vladimir Petko <vpetko at openjdk.org> wrote:
>> FileDescriptor test intermittently fails because the agent's process output capture lacks synchronisation.
>>
>> This PR fixes the issue:
>> - Agent VM prints the "process output separator" to stderr and stdout before and after action
>> - The main vm uses the marker to stop reading the stream for the current test result section (or a general agent log)
>> - The main vm restarts reading the log after updating the test section (or clearing it) until the next marker or the process is shut down.
>>
>> Alternative:
>> -Disable the test and make no assumptions about contents of the agent vm process output.
>>
>> Testing: tier1 and tier2 tests on mainline jdk (Ubuntu Linux) in agentvm mode.
>>
>>
>> make test TEST=":tier1 :tier2" JTREG="TEST_MODE=agentvm"
>>
>> ....
>>
>> ==============================
>> Test summary
>> ==============================
>> TEST TOTAL PASS FAIL ERROR SKIP
>> jtreg:test/hotspot/jtreg:tier1 3124 2837 0 0 287
>> jtreg:test/jdk:tier1 2519 2480 0 0 39
>> jtreg:test/langtools:tier1 4670 4660 0 0 10
>> jtreg:test/jaxp:tier1 0 0 0 0 0
>> jtreg:test/lib-test:tier1 38 38 0 0 0
>> jtreg:test/hotspot/jtreg:tier2 960 913 0 0 47
>>>> jtreg:test/jdk:tier2 4455 4220 1 0 234 <<
>> jtreg:test/langtools:tier2 14 12 0 0 2
>> jtreg:test/jaxp:tier2 517 516 0 0 1
>> jtreg:test/docs:tier2 4 0 0 0 4
>> ==============================
>> TEST FAILURE
>>
>>
>> Unrelated failure: test/jdk/java/nio/channels/DatagramChannel/SendReceiveMaxSize.java
>>
>>
>>
>>
>> ---------System.out:(98/7409)----------
>> Seed from RandomFactory = 7590698091695474155L
>> [15:02:42.244] config SendReceiveMaxSize.setUp(): success [0ms]
>> [15:02:42.272] test SendReceiveMaxSize.testGetOption(SendReceiveMaxSize$$Lambda/0x00000000450736f8 at 8d234b9, 65507, /10.201.67.1): success [7ms]
>> [15:02:42.273] test SendReceiveMaxSize.testGetOption(SendReceiveMaxSize$$Lambda/0x0000000045073920 at 449629ff, 65507, /10.201.67.1): success [0ms]
>> [15:02:42.273] test SendReceiveMaxSize.testGetOption(SendReceiveMaxSize$$Lamb...
>
> Vladimir Petko has updated the pull request incrementally with four additional commits since the last revision:
>
> - fix: create sections in the main thread
> - chore: propagate timeouts and exceptions
> - fix: do not synchronize section output
> - fix: allow marker to appear at the end of the line
> Alternative:
> -Disable the test and make no assumptions about contents of the agent vm process output.
Before looking deeper into the implementation, do I read this correctly, the a test makes "assumptions about contents of the agent vm process output"?
-------------
PR Comment: https://git.openjdk.org/jtreg/pull/295#issuecomment-3601702583
More information about the jtreg-dev
mailing list