nibi79 / worxlandroid

openHAB Binding for Worx Landroid
60 stars 20 forks source link

V3.0-beta java.io.EOFException: HttpConnectionOverHTTP #60

Closed Alexaas closed 2 years ago

Alexaas commented 3 years ago

Hi, great binding! I use version 3.0-beta in OH 3.0.1 and it is working for me. However I sometimes see the following exception in the log:

2021-04-14 13:26:37.808 [ERROR] [id.internal.WorxLandroidMowerHandler] - RefreshStatusRunnable 30173702170228030097: Unknown error

org.openhab.binding.worxlandroid.internal.webapi.WebApiException: java.io.EOFException: HttpConnectionOverHTTP@fdf2d9::DecryptedEndPoint@a04fd4{api.worxlandroid.com/176.34.146.86:443<->/192.168.178.106:49654,OPEN,fill=-,flush=-,to=60010/0}

    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:100) ~[bundleFile:?]

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

    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]

    at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) [?:?]

    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) [?:?]

    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]

    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]

    at java.lang.Thread.run(Thread.java:834) [?:?]

Caused by: java.util.concurrent.ExecutionException: java.io.EOFException: HttpConnectionOverHTTP@fdf2d9::DecryptedEndPoint@a04fd4{api.worxlandroid.com/176.34.146.86:443<->/192.168.178.106:49654,OPEN,fill=-,flush=-,to=60010/0}

    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:?]

    ... 10 more

Caused by: java.io.EOFException: HttpConnectionOverHTTP@fdf2d9::DecryptedEndPoint@a04fd4{api.worxlandroid.com/176.34.146.86:443<->/192.168.178.106:49654,OPEN,fill=-,flush=-,to=60010/0}

    at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.earlyEOF(HttpReceiverOverHTTP.java:335) ~[?:?]

    at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:1526) ~[?:?]

    at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.shutdown(HttpReceiverOverHTTP.java:209) ~[?:?]

    at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.process(HttpReceiverOverHTTP.java:147) ~[?:?]

    at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.receive(HttpReceiverOverHTTP.java:73) ~[?:?]

    at org.eclipse.jetty.client.http.HttpChannelOverHTTP.receive(HttpChannelOverHTTP.java:133) ~[?:?]

    at org.eclipse.jetty.client.http.HttpConnectionOverHTTP.onFillable(HttpConnectionOverHTTP.java:154) ~[?:?]

    at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311) ~[?:?]

    at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103) ~[?:?]

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

    at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:320) ~[?:?]

    at org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:158) ~[?:?]

    at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103) ~[?:?]

    at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117) ~[?:?]

    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336) ~[?:?]

    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313) ~[?:?]

    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171) ~[?:?]

    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129) ~[?:?]

    at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:367) ~[?:?]

    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:782) ~[?:?]

    at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:918) ~[?:?]

    ... 1 more

Could you please check this?

KHOne23 commented 3 years ago

same Problem here

Alexaas commented 3 years ago

The debug statement before that error is: 2021-04-14 14:05:53.310 [DEBUG] [nternal.webapi.request.WebApiRequest] - URI: https://api.worxlandroid.com/api/v2/product-items

But there are also successful responses of that call in the log

Alexaas commented 3 years ago

maybe worth to check this: https://github.com/eclipse/jetty.project/issues/3891

nibi79 commented 3 years ago

have you checked this and the following posts? https://community.openhab.org/t/worx-landroid-binding/95246/150

Alexaas commented 3 years ago

have you checked this and the following posts? https://community.openhab.org/t/worx-landroid-binding/95246/150

checked it now. Will try to increase the refreshStatusInterval

Alexaas commented 3 years ago

ok, seems to be ok now with 300