<div dir="ltr"><div>I've seen similar problem - <a href="https://github.com/sidorares/node-dbus/issues/82">https://github.com/sidorares/node-dbus/issues/82</a></div><div><br></div><div>Existed in 1.8.10  and disappeared in 1.8.16</div><div>When daemon is unhappy about serialisation being invalid I usually get disconnect with proper stream closing, not EPIPE</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jun 3, 2015 at 6:37 AM, Thiago Macieira <span dir="ltr"><<a href="mailto:thiago@kde.org" target="_blank">thiago@kde.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Monday 01 June 2015 21:21:16 Chris Morgan wrote:<br>
> Hello.<br>
><br>
> I'm using dbus-daemon on a systemd distro built under yocto on an arm<br>
> system, a BBB (1GHz Arm), 512MB ram, emmc.<br>
><br>
> At startup we've got two clients, one c# using dbus-sharp, and another<br>
> nodejs using node-dbus (<a href="https://github.com/sidorares/node-dbus" target="_blank">https://github.com/sidorares/node-dbus</a>) that<br>
> are both seeing EPIPE from the dbus client socket as reported via<br>
> strace.<br>
<br>
</span>For real pipes, EPIPE indicates that you're writing while there's no pipe<br>
reader. For sockets, that happens only when a connected socket's peer has shut<br>
down reception. In other words, the socket has disconnected.<br>
<br>
dbus-daemon only disconnects you if you send invalid stuff. So I advise you to<br>
check those two bindings for protocol correctness.<br>
<span class=""><br>
> I'm guessing that the high cpu and io load at startup may be the cause<br>
> of the issue. Those clients are relatively heavy to startup, one being<br>
> mono, the other node. This particular issue isn't seen on the desktop<br>
> under F21 or Arch with the same software.<br>
<br>
</span>No, that can't be it. If the socket never connected, you'd get ENOTCONN, not<br>
EPIPE.<br>
<span class=""><br>
> Is there some way to debug the reason behind the EPIPE from the<br>
> dbus-daemon side? I tried compiling with the --enable-verbose-tracing<br>
> and enabling DBUS_VERBOSE=1 but that produces a ton of output that<br>
> seems unrelated to the EPIPE issue.<br>
<br>
</span>The message failed to parse. Use strace on your application and capture the<br>
all the messages sent after the last time the bus sent anything to you. One of<br>
those messages is invalid.<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Thiago Macieira - thiago (AT) <a href="http://macieira.info" target="_blank">macieira.info</a> - thiago (AT) <a href="http://kde.org" target="_blank">kde.org</a><br>
   Software Architect - Intel Open Source Technology Center<br>
      PGP/GPG: 0x6EF45358; fingerprint:<br>
      E067 918B B660 DBD1 105C  966C 33F5 F005 6EF4 5358<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
_______________________________________________<br>
dbus mailing list<br>
<a href="mailto:dbus@lists.freedesktop.org">dbus@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/dbus" target="_blank">http://lists.freedesktop.org/mailman/listinfo/dbus</a><br>
</div></div></blockquote></div><br></div>