RFR: 7904101: intermittent failure in StreamsTest.agentvm.ok [v3]

Vladimir Petko vpetko at openjdk.org
Mon Oct 27 22:00:06 UTC 2025


> 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$$Lambda/0x0000000045078000 at 2b071f3f, 65527, java.net.Inet6Address at 22212892): success [0ms]
> [15:0...

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

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

Changes:
  - all: https://git.openjdk.org/jtreg/pull/295/files
  - new: https://git.openjdk.org/jtreg/pull/295/files/1b37e559..541b71ec

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jtreg&pr=295&range=02
 - incr: https://webrevs.openjdk.org/?repo=jtreg&pr=295&range=01-02

  Stats: 71 lines in 2 files changed: 29 ins; 19 del; 23 mod
  Patch: https://git.openjdk.org/jtreg/pull/295.diff
  Fetch: git fetch https://git.openjdk.org/jtreg.git pull/295/head:pull/295

PR: https://git.openjdk.org/jtreg/pull/295


More information about the jtreg-dev mailing list