nibi79 / worxlandroid

openHAB Binding for Worx Landroid
59 stars 20 forks source link

Unknown error: java.io.IOException: Broken pipe #4

Closed nibi79 closed 4 years ago

nibi79 commented 4 years ago

One user reported that the following exception occurs every 2 or 3 minutes in the log (the binding still works fine): ` 2020-03-27 15:28:11.863 [ERROR] [id.internal.WorxLandroidMowerHandler] - RefreshStatusRunnable 30173502170427020379: Unknown error

org.openhab.binding.worxlandroid.internal.webapi.WebApiException: java.io.IOException: Broken pipe

at org.openhab.binding.worxlandroid.internal.webapi.request.WebApiRequest.callWebApi(WebApiRequest.java:122) ~[bundleFile:?]

at org.openhab.binding.worxlandroid.internal.webapi.request.WebApiRequest.callWebApiGet(WebApiRequest.java:79) ~[bundleFile:?]

at org.openhab.binding.worxlandroid.internal.webapi.request.ProductItemsRequest.call(ProductItemsRequest.java:46) ~[bundleFile:?]

at org.openhab.binding.worxlandroid.internal.webapi.WorxLandroidWebApiImpl.retrieveUserDevices(WorxLandroidWebApiImpl.java:101) ~[bundleFile:?]

at org.openhab.binding.worxlandroid.internal.WorxLandroidMowerHandler$1.run(WorxLandroidMowerHandler.java:102) [bundleFile:?]

at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_232]

at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [?:1.8.0_232]

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [?:1.8.0_232]

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [?:1.8.0_232]

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_232]

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_232]

at java.lang.Thread.run(Thread.java:748) [?:1.8.0_232]

Caused by: java.util.concurrent.ExecutionException: java.io.IOException: Broken pipe

at org.eclipse.jetty.client.util.FutureResponseListener.getResult(FutureResponseListener.java:118) ~[bundleFile:9.4.20.v20190813]

at org.eclipse.jetty.client.util.FutureResponseListener.get(FutureResponseListener.java:101) ~[bundleFile:9.4.20.v20190813]

at org.eclipse.jetty.client.HttpRequest.send(HttpRequest.java:685) ~[bundleFile:9.4.20.v20190813]

at org.openhab.binding.worxlandroid.internal.webapi.request.WebApiRequest.callWebApi(WebApiRequest.java:92) ~[bundleFile:?]

… 11 more

Caused by: java.io.IOException: Broken pipe

at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.flush(SslConnection.java:928) ~[?:?]

at org.eclipse.jetty.io.WriteFlusher.flush(WriteFlusher.java:422) ~[?:?]

at org.eclipse.jetty.io.WriteFlusher.write(WriteFlusher.java:277) ~[?:?]

at org.eclipse.jetty.io.AbstractEndPoint.write(AbstractEndPoint.java:381) ~[?:?]

at org.eclipse.jetty.client.http.HttpSenderOverHTTP$HeadersCallback.process(HttpSenderOverHTTP.java:249) ~[?:?]

at org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:241) ~[bundleFile:9.4.20.v20190813]

at org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:223) ~[bundleFile:9.4.20.v20190813]

at org.eclipse.jetty.client.http.HttpSenderOverHTTP.sendHeaders(HttpSenderOverHTTP.java:62) ~[bundleFile:9.4.20.v20190813]

at org.eclipse.jetty.client.HttpSender.send(HttpSender.java:212) ~[bundleFile:9.4.20.v20190813]

at org.eclipse.jetty.client.http.HttpChannelOverHTTP.send(HttpChannelOverHTTP.java:85) ~[bundleFile:9.4.20.v20190813]

at org.eclipse.jetty.client.HttpChannel.send(HttpChannel.java:128) ~[bundleFile:9.4.20.v20190813]

at org.eclipse.jetty.client.HttpConnection.send(HttpConnection.java:201) ~[bundleFile:9.4.20.v20190813]

at org.eclipse.jetty.client.http.HttpConnectionOverHTTP$Delegate.send(HttpConnectionOverHTTP.java:252) ~[bundleFile:9.4.20.v20190813]

at org.eclipse.jetty.client.http.HttpConnectionOverHTTP.send(HttpConnectionOverHTTP.java:121) ~[bundleFile:9.4.20.v20190813]

at org.eclipse.jetty.client.http.HttpDestinationOverHTTP.send(HttpDestinationOverHTTP.java:38) ~[bundleFile:9.4.20.v20190813]

at org.eclipse.jetty.client.HttpDestination.process(HttpDestination.java:346) ~[bundleFile:9.4.20.v20190813]

at org.eclipse.jetty.client.HttpDestination.process(HttpDestination.java:304) ~[bundleFile:9.4.20.v20190813]

at org.eclipse.jetty.client.HttpDestination.send(HttpDestination.java:294) ~[bundleFile:9.4.20.v20190813]

at org.eclipse.jetty.client.HttpDestination.send(HttpDestination.java:269) ~[bundleFile:9.4.20.v20190813]

at org.eclipse.jetty.client.HttpDestination.send(HttpDestination.java:246) ~[bundleFile:9.4.20.v20190813]

at org.eclipse.jetty.client.HttpClient.send(HttpClient.java:580) ~[bundleFile:9.4.20.v20190813]

at org.eclipse.jetty.client.HttpRequest.send(HttpRequest.java:728) ~[bundleFile:9.4.20.v20190813]

at org.eclipse.jetty.client.HttpRequest.send(HttpRequest.java:681) ~[bundleFile:9.4.20.v20190813]

at org.openhab.binding.worxlandroid.internal.webapi.request.WebApiRequest.callWebApi(WebApiRequest.java:92) ~[bundleFile:?]

… 11 more

`

nibi79 commented 4 years ago

8

increasing the refreshStatusInterval fixes this exception

RolandRosenfeld commented 4 years ago

I also observed this issue about every 15 minutes. I increased refreshStatusInterval from 60 to 300 now and it didn't re-appear since 50 minutes (have to check for a longer time).

Maybe it would be a good idea to change the default value in README.md and MowerConfiguration.java, so others don't run into this issue...