Sd_bus_call - ELOOP Issue

Patrick Williams patrick at stwcx.xyz
Sat May 30 04:07:09 AEST 2020


On Fri, May 29, 2020 at 09:29:48PM +0530, Kumar Thangavel wrote:

>        6. As per our understanding, current  sd_bus_call not supported for
> connection with the same bus/clients. (sender  and receiver are same
>            application name ). Please confirm.
> 
>             Log :
>             yosemitev2 ipmid[370]: sd_bus_call function called..
>             yosemitev2 ipmid[370]: sd_bus_call function ELOOP .
>             yosemitev2 ipmid[370]:  unique name = :1.71
>             yosemitev2 ipmid[370]:  incoming sender = :1.71
>             yosemitev2 ipmid[370]: executeCallback called. catch block
>             yosemitev2 ipmid[370]: EXCEPTION=sd_bus_call:
> System.Error.ELOOP: Too many levels of symbolic links

Yes, it appears that systemd has some code to specifically return ELOOP
in this case:

https://github.com/systemd/systemd/blob/master/src/libsystemd/sd-bus/sd-bus.c#L2236

> 
>        So,  Could you please confirm sd_bus_call does not support the same
> bus/clients with in the same process.
> 
>        Also, Please let us know if any alternate method to  call the
> execute dbus method with the same bus/connection.

My suggestion would be to see if one of the functions in ipmid-new.cpp,
such as executeIpmiCommand, can be exposed to providers for these kind
of recursive callbacks.

Maintainers of phosphor-host-ipmid have opinions here?
-- 
Patrick Williams
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.ozlabs.org/pipermail/openbmc/attachments/20200529/e01cee14/attachment.sig>


More information about the openbmc mailing list