[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