You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
From what I've observed, when the JITServer tests are run with TEST_FLAG=JITAAS a single JITServer instance is started at the beginning of the test run, and that instance stays around until the end of the run. This does not interact well with the -X[no]compressedrefs options; since the JITServer and client must agree on whether or not -Xcompressedrefs is enabled in order to connect with each other, any test with -Xnocompressedrefs as a JVM option will not use the JITServer at all. This is the only option that can cause a client/server incompatibility - the other sources of incompatibility are the JITServer protocol version and the JDK version, and both of those will always match in a given test run.
To fix this, a better approach would be to do the following for each test individually:
Check if -Xnocompressedrefs is in the JVM options
Start a fresh JITServer instance, passing in -Xnocompressedrefs if necessary
Run the test
Kill the JITServer after the test finishes
If we ever add more runtime options that change client/server compatibility, we could add a check for those in (1) as well.
In (4) we might also consider checking to see if the server is still running before killing it and cause the test to fail if it isn't, just to make sure it didn't crash partway through the test. That might be a separate issue, though.
The text was updated successfully, but these errors were encountered:
From what I've observed, when the JITServer tests are run with
TEST_FLAG=JITAAS
a single JITServer instance is started at the beginning of the test run, and that instance stays around until the end of the run. This does not interact well with the-X[no]compressedrefs
options; since the JITServer and client must agree on whether or not-Xcompressedrefs
is enabled in order to connect with each other, any test with-Xnocompressedrefs
as a JVM option will not use the JITServer at all. This is the only option that can cause a client/server incompatibility - the other sources of incompatibility are the JITServer protocol version and the JDK version, and both of those will always match in a given test run.To fix this, a better approach would be to do the following for each test individually:
-Xnocompressedrefs
is in the JVM options-Xnocompressedrefs
if necessaryIf we ever add more runtime options that change client/server compatibility, we could add a check for those in (1) as well.
In (4) we might also consider checking to see if the server is still running before killing it and cause the test to fail if it isn't, just to make sure it didn't crash partway through the test. That might be a separate issue, though.
The text was updated successfully, but these errors were encountered: