eclipse-openj9 / openj9

Eclipse OpenJ9: A Java Virtual Machine for OpenJDK that's optimized for small footprint, fast start-up, and high throughput. Builds on Eclipse OMR (https://github.com/eclipse/omr) and combines with the Extensions for OpenJDK for OpenJ9 repo.
Other
3.28k stars 721 forks source link

testJitserverArguments Test default configuration Killed #17572

Open pshipton opened 1 year ago

pshipton commented 1 year ago

https://openj9-jenkins.osuosl.org/job/Test_openjdk8_j9_sanity.functional_s390x_linux_Nightly_testList_1/556 - rh8-390-1 testJitserverArguments_0

TESTING:
*** Starting test suite: jitserverArgumentTesting.xml ***
Testing: Test default configuration
Test start time: 2023/06/09 21:37:24 Eastern Standard Time
Running command: bash /home/jenkins/workspace/Test_openjdk8_j9_sanity.functional_s390x_linux_Nightly_testList_1/aqa-tests/TKG/../../jvmtest/functional/cmdLineTests/jitserver/jitserverScript.sh /home/jenkins/workspace/Test_openjdk8_j9_sanity.functional_s390x_linux_Nightly_testList_1/aqa-tests/TKG/../../jvmtest/functional/cmdLineTests/jitserver /home/jenkins/workspace/Test_openjdk8_j9_sanity.functional_s390x_linux_Nightly_testList_1/openjdkbinary/j2sdk-image/bin "-Xjit" "-XX:+UseJITServer -Xjit:verbose={JITServer},verbose={JITServerConns}" false
Time spent starting: 27 milliseconds
Time spent executing: 4362 milliseconds
Test result: FAILED
Output from test:
 [OUT] start running script
 [OUT] Starting /home/jenkins/workspace/Test_openjdk8_j9_sanity.functional_s390x_linux_Nightly_testList_1/openjdkbinary/j2sdk-image/bin/jitserver -XX:JITServerPort=44089  -Xjit
 [OUT]  142680 ?        00:00:00 jitserver
 [OUT] JITSERVER EXISTS
 [OUT]  142680 ?        00:00:00 jitserver
 [OUT] JITSERVER STILL EXISTS
 [OUT] Terminating /home/jenkins/workspace/Test_openjdk8_j9_sanity.functional_s390x_linux_Nightly_testList_1/openjdkbinary/j2sdk-image/bin/jitserver -XX:JITServerPort=44089  -Xjit
 [OUT] finished script
 [ERR] /home/jenkins/workspace/Test_openjdk8_j9_sanity.functional_s390x_linux_Nightly_testList_1/aqa-tests/TKG/../../jvmtest/functional/cmdLineTests/jitserver/jitserverconfig.sh: line 30: lsof: command not found
 [ERR] JITServer is currently a technology preview. Its use is not yet supported.
 [ERR] 
 [ERR] JITServer is ready to accept incoming requests
 [ERR] #JITServer: JITServer version: 1.45.0
 [ERR] #JITServer: JITServer Client Mode. Server address: localhost port: 44089. Connection Timeout 30000ms
 [ERR] #JITServer: Identifier for current client JVM: 14559232908257992238
 [ERR] 
 [ERR] #INFO:  StartTime: Jun 09 21:37:26 2023
 [ERR] #INFO:  Free Physical Memory: 6181 MB 
 [ERR] #INFO:  CPU entitlement = 400.00
 [ERR] openjdk version "1.8.0_382-internal"
 [ERR] OpenJDK Runtime Environment (build 1.8.0_382-internal-jenkins_2023_06_09_19_30-b00)
 [ERR] Eclipse OpenJ9 VM (build master-fd647ffb085, JRE 1.8.0 Linux s390x-64-Bit Compressed References 20230609_581 (JIT enabled, AOT enabled)
 [ERR] OpenJ9   - fd647ffb085
 [ERR] OMR      - 06fe1c3b915
 [ERR] JCL      - 8d283217a5b based on jdk8u382-b03)
 [ERR] #INFO:  Stopping compilation thread, vmThread pointer 000000000006D300, thread ID 1
 [ERR] #INFO:  Stopping compilation thread, vmThread pointer 0000000000076A00, thread ID 5
 [ERR] #INFO:  Stopping compilation thread, vmThread pointer 0000000000079000, thread ID 6
 [ERR] #INFO:  Stopping compilation thread, vmThread pointer 0000000000071E00, thread ID 3
 [ERR] #INFO:  Stopping compilation thread, vmThread pointer 0000000000074400, thread ID 4
 [ERR] #INFO:  Stopping compilation thread, vmThread pointer 000000000006AD00, thread ID 0
 [ERR] #INFO:  Stopping compilation thread, vmThread pointer 000000000006F900, thread ID 2
 [ERR] #INFO:  Stopping compilation thread, vmThread pointer 000000000007B500, thread ID 7
 [ERR] #JITServer: Sent clientSessionTerminate message
 [ERR] /home/jenkins/workspace/Test_openjdk8_j9_sanity.functional_s390x_linux_Nightly_testList_1/aqa-tests/TKG/../../jvmtest/functional/cmdLineTests/jitserver/jitserverScript.sh: line 82: 142680 Killed                  $TEST_JDK_BIN/jitserver $JITSERVER_OPTIONS
>> Success condition was found: [Output match: (java|openjdk|semeru) version]
>> Required condition was not found: [Output match: Connected to a server]
>> Failure condition was not found: [Output match: (Fatal|Unhandled) Exception]
>> Success condition was found: [Output match: JITSERVER EXISTS]
>> Success condition was found: [Output match: JITSERVER STILL EXISTS]
>> Failure condition was not found: [Output match: JITSERVER DOES NOT EXIST]
>> Failure condition was not found: [Output match: JITSERVER NO LONGER EXISTS]

@mpirvu fyi

mpirvu commented 1 year ago

From the output it's not clear whether the client attempted to compile anything. The required message "Connected to a server" appears only during a compilation attempt. I think we need to change the test to include verbose={compilePerformance} (or at the very least verbose={compileEnd}) to see whether compilations were done without connecting to the server. Another suggestion: if the goal of the test is simply to make sure that -XX+UseJITServer option is processed correctly, then the output #JITServer: JITServer Client Mode. Server address: localhost port: 44089. Connection Timeout 30000ms is sufficient to make that determination.

Attn @dsouzai

dsouzai commented 1 year ago

I can update the test to have compilePerformance. I suppose we can just check for the Client Mode string, but other tests in this suite check that we don't connect to a server if -XX:-UseJITServer is specified, so for consistency, we probably should ensure that -XX:+UseJITServer does result in the client connecting if there is a jitserver instance available.

Also, would the client print out

 [ERR] #JITServer: Sent clientSessionTerminate message

if it's not connected to a server?