VMware-vpxd
service on the vCenter crashes intermittently and generates core.vpxd.worker.#####
files in /storage/core/ partitionvar/log/vmware/vmon/vmon.log
, you may find entries similar to:YYYY-MM-DDTHH:MM:SS.821Z Wa(03) host-XXXX <vpxd> Service exited. Exit code 1
YYYY-MM-DDTHH:MM:SS.821Z Wa(03) host-XXXX <vpxd> Service exited unexpectedly. Crash count 0. Taking configured recovery action.
YYYY-MM-DDTHH:MM:SS.821Z In(05) host-XXXX <vpxd> Restarting service.
var/log/vMonCoredumper.log
, you may find entries similar to:YYYY-MM-DDTHH:MM:SS.317Z In(05) host-XXXX Notify vMon about vpxd-worker dumping core. Pid : XXXX
YYYY-MM-DDTHH:MM:SS.329Z In(05) host-XXXX Successfully notified vMon.
YYYY-MM-DDTHH:MM:SS.792Z In(05) host-XXXX Successfully generated core file /var/core/core.vpxd-worker.XXXX.
var/log/vmware/vpxd/vpxd-XXX.log
you will find entries related to a login attempt:YYYY-MM-DDTHH:MM:SS info vpxd[2858939] [Originator@6876 sub=vpxLro opID=xxxxxxxx Authz-e2] [VpxLRO] -- BEGIN lro-909100 -- AuthorizationManager -- vim.AuthorizationManager.hasUserPrivilegeOnEntities -- xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx(xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx)
YYYY-MM-DDTHH:MM:SS info vpxd[2858939] [Originator@6876 sub=UserDirectorySso opID=xxxxxxxx Authz-e2] GetUserInfoInternal(Domain\Username, false) res: Domain\Username
YYYY-MM-DDTHH:MM:SS info vpxd[2858939] [Originator@6876 sub=vpxLro opID=xxxxxxxx Authz-e2] [VpxLRO] -- FINISH lro-909100
YYYY-MM-DDTHH:MM:SS info vpxd[2858710] [Originator@6876 sub=UserDirectorySso opID=Run-Http2ServerSession-41] GetUserInfoInternal(Domain\Username, false) res: Domain\Username
YYYY-MM-DDTHH:MM:SS info vpxd[2858710] [Originator@6876 sub=AuthorizeManager opID=Run-Http2ServerSession-41] [Auth]: User Domain\Username
journalctl -b 0 | grep AlreadyAuthenticatedSessionEvent
Event [43805188] [1-1] [YYYY-MM-DDTHH:MM:SS.416929Z] [vim.event.AlreadyAuthenticatedSessionEvent] [info] [Domain\Username] [] [43805188] [User cannot logon since the user is already logged on]
Event [43805189] [1-1] [YYYY-MM-DDTHH:MM:SS.450867Z] [vim.event.AlreadyAuthenticatedSessionEvent] [info] [Domain\Username] [] [43805189] [User cannot logon since the user is already logged on]
Event [43805190] [1-1] [YYYY-MM-DDTHH:MM:SS.486669Z] [vim.event.AlreadyAuthenticatedSessionEvent] [info] [Domain\Username] [] [43805190] [User cannot logon since the user is already logged on]
(gdb) bt
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:49
#1 0x00007f65ffe6b536 in __GI_abort () at abort.c:79
#2 0x00007f6605e653c0 in Vmacore::System::SignalTerminateHandler (info=0x7f65fca33530, ctx=0x7f65fca33400) at bora/vim/lib/vmacore/posix/defSigHandlers.cpp:62
#3 <signal handler called>
#4 0x0000000000000000 in ?? ()
#5 0x00007f6605d564a3 in Vmacore::Authorize::UserCache::UpdateSessionAuthData (this=0x, token=token@entry=0x,
changedData=changedData@entry=0x) at bora/vim/lib/vmacore/authorize/roles.cpp:1408
#6 0x00007f6605d48d07 in Vmacore::Authorize::AuthorizeManager::UpdateTokenInUserCaches (this=<optimized out>, token=token@entry=0x,
changedData=changedData@entry=0x) at bora/vim/lib/vmacore/authorize/authorizemgr.cpp:3199
#7 0x00007f6605d57bcd in Vmacore::Authorize::UserData::UpdateAuthTokenHelper (this=this@entry=0x, token=token@entry=0x,
isTenant=isTenant@entry=true) at bora/vim/lib/public/vmacore/Ref.h:220
#8 0x00007f6605d5c8bf in Vmacore::Authorize::UserCache::Register(Vmacore::Session*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Vmacore::System::AuthTokenHelper*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, bool, bool, std::function<Vmacore::System::DateTime (Vmacore::Authorize::UserData*, Vmacore::System::DateTime const&)>) (this=this@entry=0x, session=<optimized out>, session@entry=0x7f659408a0d0, user="Domain\Username", token=0x,
delegationChain=std::vector of length 0, capacity 0, fullAccess=fullAccess@entry=false, tenantUser=<optimized out>, refresh=...)
at bora/vim/lib/vmacore/authorize/roles.cpp:1569
VMware vCenter Server 8.0 U3b
VMware vCenter Server 8.0 U3d
VMware vCenter Server 8.0 U2c
This issue occurs when there is a login attempt from a same user with incorrect credentials to vCenter for an already authentication session. In this scenario, the vmware-vpxd service crashes due to a dangling Session pointer in session cache management
Event [43805072] [1-1] [YYYY-MM-DDTHH:MM:SS.98434Z] [vim.event.UserLoginSessionEvent] [info] [Domain\Username] [] [43805072] [User Domain\[email protected] logged in as JAX-WS RI 2.3.1 svn-revision#]
Note: If you are still seeing the invalid login attempts even though the correct vCenter credentials are updated, then there could be a compatibility issue between the solution and the vCenter version. In one instance it was identified that an incompatible adapter in Aria operations was causing this issue.
To temporarily mitigate the crashing issue, you can apply the below workaround until the solution which is causing this issue is identified.
Modify the vpxd configuration file to change session management settings:
SSH to vCenter via root
/etc/vmware-vpx/vpxd.cfg
Locate the <vpxd>
section and ensure the following setting is present. If it is not present, manually enter it in.
Save the changes to the configuration file.
Restart the vCenter service to apply the changes.
This workaround prevents the vCenter from crashing when handling authentication errors.
Note: The above workaround will keep the sessions alive even after the token is expired. This could lead to a security issue and hence use it with caution and only as a temporary workaround