phosphor-network terminated due to SIGBUS

Chhabra, DipinderSingh Dipinder.Chhabra at dell.com
Fri Sep 8 06:27:15 AEST 2023


Yes.

From: William Kennington <wak at google.com>
Sent: Thursday, September 7, 2023 2:55 PM
To: Chhabra, DipinderSingh <Dipinder_Chhabra at Dell.com>
Cc: openbmc at lists.ozlabs.org
Subject: Re: phosphor-network terminated due to SIGBUS


[EXTERNAL EMAIL]
Do you happen to be using aarch64?

On Thu, Sep 7, 2023 at 12:52 PM Chhabra, DipinderSingh <Dipinder.Chhabra at dell.com<mailto:Dipinder.Chhabra at dell.com>> wrote:
Hi There

Recently we updated our OpenBMC distro to tag 2.14.0 (phosphor-network SRCREV f78a415e154bac274e1d07ce8128c69e9d1cd710).

Since then we are seeing that the phosphor-network service crashes after configuration change due to SIGBUS.


Sep 07 09:51:45 bmc phosphor-network-manager[627]: Wrote networkd file: /etc/systemd/network/00-bmc-end1.network

Sep 07 09:51:45 bmc phosphor-network-manager[627]: Wrote networkd file: /etc/systemd/network/00-bmc-end0.network

Sep 07 09:51:49 bmc systemd[1]: xyz.openbmc_project.Network.service: Main process exited, code=dumped, status=7/BUS

Sep 07 09:51:49 bmc systemd[1]: xyz.openbmc_project.Network.service: Failed with result 'core-dump'.

Sep 07 09:51:49 bmc systemd[1]: xyz.openbmc_project.Network.service: Consumed 1.365s CPU time.

Sep 07 09:51:50 bmc systemd[1]: xyz.openbmc_project.Network.service: Scheduled restart job, restart counter is at 1.

Sep 07 09:51:50 bmc systemd[1]: Stopped Phosphor Network Manager.

Sep 07 09:51:50 bmc systemd[1]: xyz.openbmc_project.Network.service: Consumed 1.365s CPU time.

Sep 07 09:51:50 bmc systemd[1]: Starting Phosphor Network Manager...

Based on my debugging, I can confirm that the timer gets scheduled correctly after the config write and the registered call back does get invoked. The crash happens due to the below dbus call in network_manager.cpp.

        try
        {
            bus.get()
                .new_method_call("org.freedesktop.network1",
                                 "/org/freedesktop/network1",
                                 "org.freedesktop.network1.Manager", "Reload")
                .call();
            lg2::info("Reloaded systemd-networkd");
        }

I have looked into any fixes to this in the later commits but do not find any.

I also tried to change it to call_noreply but that does not help and get the same BUS error.


        try

        {

            lg2::info("Try systemd-networkd reload...");

            auto method = bus.get().new_method_call(NETWORKD_BUSNAME, NETWORKD_PATH,

                                 NETWORKD_INTERFACE, "Reload");

            bus.get().call_noreply(method);

            lg2::info("Reloaded systemd-networkd");

        }

When I manually invoke this from the shell that seems to go fine.


root at bmc:~# busctl call org.freedesktop.network1 /org/freedesktop/network1 org.freedesktop.network1.Manager Reload

root at bmc:~# echo $?

0

Anyone else seeing this issue with phosphor-network or any idea why this could be happening?

Thanks
Dip


Internal Use - Confidential


Internal Use - Confidential
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ozlabs.org/pipermail/openbmc/attachments/20230907/c55f4d2b/attachment-0001.htm>


More information about the openbmc mailing list