This issue can display in a variety of symptoms, which will usually occur after an extended period of idleness of the session (1-2 hours)
/var/log/vmware/vsphere-ui/vsphere_client_virgo.log shows below events:
[YYYY-MM-DDTHH:MM:SSSS] [WARN ] data-service-pool-#################### com.vmware.opsmgmt.client.alarms.impl.AlarmIssueAdapter Failed to pre-fetch issue data. com.vmware.vcenter.apigw.exception.ServiceClosedException: AsyncTokenProvider has been closed
at com.vmware.vcenter.apigw.sso.tokenmgmt.impl.AsyncTokenProvider.newServiceClosedException(Unknown Source)
at com.vmware.vcenter.apigw.sso.tokenmgmt.impl.AsyncTokenProvider.assertIsRunning(Unknown Source)
at com.vmware.vcenter.apigw.sso.tokenmgmt.impl.AsyncTokenProvider.getSamlToken(Unknown Source)
at com.vmware.vcenter.apigw.api.sso.tokenmgmt.NonRenewingMutableTokenProvider.getSamlToken(Unknown Source)
at com.vmware.vise.vim.commons.sso.AuthSessionUtil.getSsoTokenEx(AuthSessionUtil.java:114)
at com.vmware.vise.data.adapters.core.DataServiceCoreAdapter.requireTokenInSession(DataServiceCoreAdapter.java:391)
at com.vmware.vise.data.adapters.core.DataServiceCoreAdapter.getAdapterForCurrentSession(DataServiceCoreAdapter.java:214)
at com.vmware.vise.data.adapters.core.DataServiceCoreAdapter.getData(DataServiceCoreAdapter.java:207)
at com.vmware.vise.data.query.impl.DataAdapterUtil.getDataFromAdapter(DataAdapterUtil.java:219)
at com.vmware.vise.data.query.impl.DataAdapterUtil.getResultFromAdapter(DataAdapterUtil.java:176)
at com.vmware.vise.data.query.impl.DataAdapterUtil.access$000(DataAdapterUtil.java:42)
at com.vmware.vise.data.query.impl.DataAdapterUtil$1.call(DataAdapterUtil.java:82)
at com.vmware.vise.data.query.impl.DataAdapterUtil$1.call(DataAdapterUtil.java:79)
at com.vmware.vise.util.concurrent.ExecutorUtil$2.call(ExecutorUtil.java:826)
at com.vmware.vise.util.concurrent.ExecutorUtil$ThreadContextPropagatingTask.call(ExecutorUtil.java:1240)
at io.opentelemetry.context.Context.lambda$wrap$2(Context.java:224)
at com.vmware.vise.data.query.impl.DataServiceThreadPoolDecorator$1.call(DataServiceThreadPoolDecorator.java:192)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:750)
...
[YYYY-MM-DDTHH:MM:SSSS] [ERROR] p-nio-127.0.0.1-5090-exec-################## c.vmware.vsphere.client.usersession.impl.UserSessionServiceImpl Failed to get the user session com.vmware.vcenter.apigw.exception.ServiceClosedException: AsyncTokenProvider has been closed
at com.vmware.vcenter.apigw.sso.tokenmgmt.impl.AsyncTokenProvider.newServiceClosedException(Unknown Source)
at com.vmware.vcenter.apigw.sso.tokenmgmt.impl.AsyncTokenProvider.assertIsRunning(Unknown Source)
at com.vmware.vcenter.apigw.sso.tokenmgmt.impl.AsyncTokenProvider.getSamlToken(Unknown Source)
at com.vmware.vcenter.apigw.api.sso.tokenmgmt.NonRenewingMutableTokenProvider.getSamlToken(Unknown Source)
at com.vmware.vise.vim.commons.sso.AuthSessionUtil.getSsoTokenEx(AuthSessionUtil.java:82)
at com.vmware.vsphere.client.security.util.Util.getUserSession(Util.java:80)
/var/log/vmware/apig/apigw.log shows below events:
[YYYY-MM-DDTHH:MM:SSSS] [INFO ] agw-fe-session-maint-1 FrontendSessionManagerImpl [] Invalidating session 200029. Top elements from stack trace:
at com.vmware.vcenter.apigw.session.frontend.impl.FrontendSessionManagerImpl.doInvalidate(Unknown Source)
at com.vmware.vcenter.apigw.session.frontend.impl.FrontendSessionManagerImpl.removeExpired(Unknown Source)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
[YYYY-MM-DDTHH:MM:SSSS] [INFO ] agw-fe-session-maint-1 FrontendSessionManagerImpl [] Closing API GW Session due to logout() request: 200029
[YYYY-MM-DDTHH:MM:SSSS] [INFO ] agw-fe-session-maint-1 PseudoSessionManagerImpl [] Auto-closed pseudo-sessions for dying session '200029' : [p00026, p00029, p00025, p00028]
[YYYY-MM-DDTHH:MM:SSSS] [INFO ] agw-fe-session-maint-1 NotificationServiceImpl [] No subscriptions to unsubscribe for frontend session ####################################
[YYYY-MM-DDTHH:MM:SSSS] [INFO ] agw-fe-session-maint-1 AsyncTokenProvider [] Closing com.vmware.vcenter.apigw.sso.tokenmgmt.impl.AsyncTokenProvider
vCenter Server 8.0.3.00200 build 24262322
This issue is due to a change in the default behavior of RECYCLE_FACADES within Tomcat in the release.
This issue is fixed in vCenter Server 8.0U3c release - Release Notes Link
To work around this issue, use the steps below to disable RECYCLE_FACADES.
cp /usr/lib/vmware-vsphere-ui/server/conf/catalina.properties /root/catalina.properties.bak
echo "org.apache.catalina.connector.RECYCLE_FACADES=false" >> /usr/lib/vmware-vsphere-ui/server/conf/catalina.properties
service-control --restart vsphere-ui