Description
During a purge operation, the JITServer will delete client session data:
openj9/runtime/compiler/runtime/JITClientSession.cpp
Lines 1229 to 1243 in 4af048a
It is possible for this operation to delete every entry in the _clientSessionMap
. If it does, the next time a client connects, this code will run:
openj9/runtime/compiler/runtime/JITClientSession.cpp
Lines 1122 to 1127 in 4af048a
However, the shared ROM class cache will have already been created, leading to an assert triggering in initialize()
:
I think the purge operation may need to check if _clientSessionMap
is empty post-purge, and shut down the shared ROM class cache if it is. You can see that the deleteClientSession()
function does this properly:
openj9/runtime/compiler/runtime/JITClientSession.cpp
Lines 1172 to 1177 in 4af048a