[entity-manager] Issue about entity-manager getting stuck
Scron Chang (張仲延)
Scron.Chang at quantatw.com
Wed Jan 27 17:33:49 AEDT 2021
Hi all,
I am using openbmc/entity-manager in this version: "f094125cd3bdbc8737dc8035a6e9ac252f6e8840" and I found calling Dbus makes entity-manager get stuck.
Reproduce this by following steps:
1. systemctl stop xyz.openbmc_project.EntityManager
2. open another terminal and do this while-loop: "while true; do busctl ; sleep 1; done"
3. systemctl start xyz.openbmc_project.EntityManager
I think the root cause is this function: "nameOwnerChangedMatch." (Please refer to this line: https://github.com/openbmc/entity-manager/blob/f094125cd3bdbc8737dc8035a6e9ac252f6e8840/src/EntityManager.cpp#L1859.)
Manually calling Dbus or calling Dbus in a script makes NameOwnerChanged signal and thus triggers the function: "propertiesChangedCallback" repeatedly. Meanwhile, the async_wait in propertiesChangedCallback gets returned because of the operation_aborted.
So here is the conclusion:
Manually calling Dbus in a period that is less than 5 seconds leads entity-manager keeping to trigger new async_wait and abort the old one. However, the async_wait never gets done.
Is this a bug of entity-manager, or I get something wrong. Please help me with this.
Scron Chang
E-Mail Scron.Chang at quantatw.com
More information about the openbmc
mailing list