<div dir="ltr">Hi Uoti,<div><br></div><div>Thanks a lot for your answer, I have checked the cycle. It is created by <span style="color:rgb(80,0,80);font-size:12.8px">sockets.target -> </span><span style="color:rgb(80,0,80);font-size:12.8px">asi-My-5101.socket -> </span><span style="color:rgb(80,0,80);font-size:12.8px">My-sshd.target -> </span><span style="color:rgb(80,0,80);font-size:12.8px">My-syncd.service -> </span><span style="color:rgb(80,0,80);font-size:12.8px">My-nfs-client.service -> </span><span style="color:rgb(80,0,80);font-size:12.8px">My-handling.service -> basic.target -> sockets.target. </span>I do not see the same cycle in systemd-210 so I said that there is maybe a change in systemd-210 and sytemd-228 like building dependency tree and handling cycle. I can confirm there is no change in my scripts.</div><div><br></div><div>Regard to your question, <span style="font-size:12.8px">"asi-My-5101.socket" depends on "My-sshd.target", I think that in my case it is expected as my socket listens on a specific address IP:port so it should start after a network service to configure and assign IP address before my socket runs.</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">Could you please help me if it is due to the fault in sytemd-228 or I have to adapt my script to overcome this issue? I tried to add DefaultDependencies=no in my asi-My-5101.socket, the problem go away (because sometimes I see it said the cycle created in basic.target, the behavior is really strange in systemd-228).</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">Thanks,</span></div><div><span style="font-size:12.8px">Brs,</span></div><div><span style="font-size:12.8px">Bao</span></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Nov 25, 2017 at 9:44 PM, Uoti Urpala <span dir="ltr"><<a href="mailto:uoti.urpala@pp1.inet.fi" target="_blank">uoti.urpala@pp1.inet.fi</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Sat, 2017-11-25 at 12:08 +0700, Bao Nguyen wrote:<br>
> [   41.154231] systemd[1]: nss-lookup.target: Dependency Before=nss-lookup.target dropped<br>
<span class="">> [   41.297229] systemd[1]: sockets.target: Found ordering cycle on sockets.target/start<br>
> [   41.297236] systemd[1]: sockets.target: Found dependency on asi-My-5101.socket/start<br>
> [   41.297239] systemd[1]: sockets.target: Found dependency on My-sshd.target/start<br>
> [   41.297241] systemd[1]: sockets.target: Found dependency on My-syncd.service/start<br>
> [   41.297244] systemd[1]: sockets.target: Found dependency on My-nfs-client.service/start<br>
> [   41.297246] systemd[1]: sockets.target: Found dependency on My-handling.service/start<br>
<br>
<br>
</span><span class="">> My question is if there are any significant different about building tree dependency and handling cycle dependency between systemd-210 and systemd-228 that can lead to my current situation? I have checked the change log, source code but not found any useful info<br>
<br>
</span>Rather than start by trying to find differences between systemd<br>
versions, I suggest you first find out exactly what goes wrong under<br>
the newer systemd version. Exactly which dependency is wrong and<br>
shouldn't be there? Where does that dependency come from? A system<br>
where ordering dependencies form a cycle is not valid, so some<br>
dependency explicitly listed in your unit files or implicitly added by<br>
systemd must be wrong. After finding that out, you can then try to find<br>
out what differs under the older systemd if it's still relevant.<br>
<br>
In the above log, the most suspicious part is that it seems to say<br>
"asi-My-5101.socket" depends on "My-sshd.target". A socket unit almost<br>
certainly shouldn't have such dependencies, as normally a listening<br>
socket can be opened regardless of the state of the rest of the system<br>
(the main exception I can think of would be a UNIX socket at a<br>
filesystem path that requires mounting something, but normally you<br>
wouldn't do that...).<br>
<span class=""><br>
<br>
> And what does the message "nss-lookup.target: Dependency Before=nss-lookup.target dropped" mean? I do not see it in systemd-210.<br>
<br>
</span>Apparently the target had a dependency saying that it should be started<br>
before itself, and such a blatantly impossible dependency was ignored.<br>
<br>
______________________________<wbr>_________________<br>
systemd-devel mailing list<br>
<a href="mailto:systemd-devel@lists.freedesktop.org">systemd-devel@lists.<wbr>freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/systemd-devel" rel="noreferrer" target="_blank">https://lists.freedesktop.org/<wbr>mailman/listinfo/systemd-devel</a><br>
</blockquote></div><br></div>