djay for Android: Flooding logfiles through java.net.SocketException

Hi,

while doing something completly different I noticed that djay is using the com.parse.push.connection component which is constantly raising exceptions.

From logcat:
07-22 14:28:33.569 32677 508 E com.parse.push.connection: could not construct writer
07-22 14:28:33.569 32677 508 E com.parse.push.connection: java.net.SocketException: sendto failed: EPIPE (Broken pipe)
07-22 14:28:33.569 32677 508 E com.parse.push.connection: at libcore.io.IoBridge.maybeThrowAfterSendto(IoBridge.java:542)
07-22 14:28:33.569 32677 508 E com.parse.push.connection: at libcore.io.IoBridge.sendto(IoBridge.java:511)
07-22 14:28:33.569 32677 508 E com.parse.push.connection: at java.net.PlainSocketImpl.write(PlainSocketImpl.java:500)
07-22 14:28:33.569 32677 508 E com.parse.push.connection: at java.net.PlainSocketImpl.-wrap1(PlainSocketImpl.java)
07-22 14:28:33.569 32677 508 E com.parse.push.connection: at java.net.PlainSocketImpl$PlainSocketOutputStream.write(PlainSocketImpl.java:266)
07-22 14:28:33.569 32677 508 E com.parse.push.connection: at java.io.OutputStreamWriter.flushBytes(OutputStreamWriter.java:170)
07-22 14:28:33.569 32677 508 E com.parse.push.connection: at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:161)
07-22 14:28:33.569 32677 508 E com.parse.push.connection: at com.parse.PushConnection.trySend(PushConnection.java:224)
07-22 14:28:33.569 32677 508 E com.parse.push.connection: at com.parse.PushService.sendMessage(PushService.java:352)
07-22 14:28:33.569 32677 508 E com.parse.push.connection: at com.parse.PushService.sendSubscriptionInformation(PushService.java:365)
07-22 14:28:33.569 32677 508 E com.parse.push.connection: at com.parse.PushService.access$7(PushService.java:357)
07-22 14:28:33.569 32677 508 E com.parse.push.connection: at com.parse.PushService$3.doInBackground(PushService.java:428)
07-22 14:28:33.569 32677 508 E com.parse.push.connection: at com.parse.PushService$3.doInBackground(PushService.java:1)
07-22 14:28:33.569 32677 508 E com.parse.push.connection: at com.parse.os.ParseAsyncTask$2.call(ParseAsyncTask.java:215)
07-22 14:28:33.569 32677 508 E com.parse.push.connection: at java.util.concurrent.FutureTask.run(FutureTask.java:237)
07-22 14:28:33.569 32677 508 E com.parse.push.connection: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
07-22 14:28:33.569 32677 508 E com.parse.push.connection: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
07-22 14:28:33.569 32677 508 E com.parse.push.connection: at java.lang.Thread.run(Thread.java:818)
07-22 14:28:33.569 32677 508 E com.parse.push.connection: Caused by: android.system.ErrnoException: sendto failed: EPIPE (Broken pipe)
07-22 14:28:33.569 32677 508 E com.parse.push.connection: at libcore.io.Posix.sendtoBytes(Native Method)
07-22 14:28:33.569 32677 508 E com.parse.push.connection: at libcore.io.Posix.sendto(Posix.java:211)
07-22 14:28:33.569 32677 508 E com.parse.push.connection: at libcore.io.BlockGuardOs.sendto(BlockGuardOs.java:278)
07-22 14:28:33.569 32677 508 E com.parse.push.connection: at libcore.io.IoBridge.sendto(IoBridge.java:509)
07-22 14:28:33.569 32677 508 E com.parse.push.connection: … 16 more

Looking at the process id in a shell on the handset:
shell@hammerhead:/ $ ps
USER PID PPID VSIZE RSS WCHAN PC NAME

u0_a115 32677 1421 1555424 40516 sys_epoll_ 00000000 S com.algoriddim.djay

Looking at how often it happens:
$ adb logcat -v time com.parse.push.connection:* *:S | grep java.net.SocketException
[…]
07-22 14:23:58.233 E/com.parse.push.connection(32677): java.net.SocketException: sendto failed: EPIPE (Broken pipe)
07-22 14:24:13.436 E/com.parse.push.connection(32677): java.net.SocketException: sendto failed: EPIPE (Broken pipe)
07-22 14:24:39.698 E/com.parse.push.connection(32677): java.net.SocketException: sendto failed: EPIPE (Broken pipe)
07-22 14:25:20.940 E/com.parse.push.connection(32677): java.net.SocketException: sendto failed: EPIPE (Broken pipe)
07-22 14:26:35.190 E/com.parse.push.connection(32677): java.net.SocketException: sendto failed: EPIPE (Broken pipe)
07-22 14:28:33.569 E/com.parse.push.connection(32677): java.net.SocketException: sendto failed: EPIPE (Broken pipe)
07-22 14:31:58.836 E/com.parse.push.connection(32677): java.net.SocketException: sendto failed: EPIPE (Broken pipe)

So basically every few minutes.

Model number: LG Nexus 5
Android version: 6.0.1
Patchlevel: June 1, 2016

Hope that helps,
Alex.