<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:DengXian;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"\@DengXian";
        panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:"Courier New";}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal">Hi There<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Recently we updated our OpenBMC distro to tag 2.14.0 (phosphor-network SRCREV f78a415e154bac274e1d07ce8128c69e9d1cd710).<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Since then we are seeing that the phosphor-network service crashes after configuration change due to SIGBUS.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<pre><span style="color:black">Sep 07 09:51:45 bmc phosphor-network-manager[627]: Wrote networkd file: /etc/systemd/network/00-bmc-end1.network<o:p></o:p></span></pre>
<pre><span style="color:black">Sep 07 09:51:45 bmc phosphor-network-manager[627]: Wrote networkd file: /etc/systemd/network/00-bmc-end0.network<o:p></o:p></span></pre>
<pre><span style="color:black">Sep 07 09:51:49 bmc systemd[1]: xyz.openbmc_project.Network.service: Main process exited, code=dumped, status=7/BUS<o:p></o:p></span></pre>
<pre><span style="color:black">Sep 07 09:51:49 bmc systemd[1]: xyz.openbmc_project.Network.service: Failed with result 'core-dump'.<o:p></o:p></span></pre>
<pre><span style="color:black">Sep 07 09:51:49 bmc systemd[1]: xyz.openbmc_project.Network.service: Consumed 1.365s CPU time.<o:p></o:p></span></pre>
<pre><span style="color:black">Sep 07 09:51:50 bmc systemd[1]: xyz.openbmc_project.Network.service: Scheduled restart job, restart counter is at 1.<o:p></o:p></span></pre>
<pre><span style="color:black">Sep 07 09:51:50 bmc systemd[1]: Stopped Phosphor Network Manager.<o:p></o:p></span></pre>
<pre><span style="color:black">Sep 07 09:51:50 bmc systemd[1]: xyz.openbmc_project.Network.service: Consumed 1.365s CPU time.<o:p></o:p></span></pre>
<pre><span style="color:black">Sep 07 09:51:50 bmc systemd[1]: Starting Phosphor Network Manager...<o:p></o:p></span></pre>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">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.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">        try<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">        {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">            bus.get()<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">                .new_method_call("org.freedesktop.network1",<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">                                 "/org/freedesktop/network1",<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">                                 "org.freedesktop.network1.Manager", "Reload")<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">               
<span style="background:yellow;mso-highlight:yellow">.call();</span><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">            lg2::info("Reloaded systemd-networkd");<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">        }<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I have looked into any fixes to this in the later commits but do not find any.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I also tried to change it to call_noreply but that does not help and get the same BUS error.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<pre><span style="color:black">        try<o:p></o:p></span></pre>
<pre><span style="color:black">        {<o:p></o:p></span></pre>
<pre><span style="color:black">            lg2::info("Try systemd-networkd reload...");<o:p></o:p></span></pre>
<pre><span style="color:black">            auto method = bus.get().new_method_call(NETWORKD_BUSNAME, NETWORKD_PATH,<o:p></o:p></span></pre>
<pre><span style="color:black">                                 NETWORKD_INTERFACE, "Reload");<o:p></o:p></span></pre>
<pre><span style="color:black">            bus.get().call_noreply(method);<o:p></o:p></span></pre>
<pre><span style="color:black">            lg2::info("Reloaded systemd-networkd");<o:p></o:p></span></pre>
<pre><span style="color:black">        }<o:p></o:p></span></pre>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">When I manually invoke this from the shell that seems to go fine.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<pre><span style="color:black">root@bmc:~# busctl call org.freedesktop.network1 /org/freedesktop/network1 org.freedesktop.network1.Manager Reload                                            <o:p></o:p></span></pre>
<pre><span style="color:black">root@bmc:~# echo $?<o:p></o:p></span></pre>
<pre><span style="color:black">0<o:p></o:p></span></pre>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Anyone else seeing this issue with phosphor-network or any idea why this could be happening?<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks<o:p></o:p></p>
<p class="MsoNormal">Dip<o:p></o:p></p>
<br>
<p class="msipfooter90245289" align="Left" style="margin:0"><span style="font-size:7.0pt;font-family:Calibri;color:#737373">Internal Use - Confidential</span></p>
</div>
</body>
</html>