Open olflo opened 3 years ago
Can you add some DEBUG or TRACE logs?
I am trying to reproduce the issue, but it seems to happen very randomly. Do you need the TRACE of the binding org.openhab.binding.pushover or the TRACE of internal.handler.ScriptActionHandler ? The latter throws the Exception.
If so, best would be both.
This is all I could find in the logs. Hope it helps...
2021-03-31 22:02:51.914 [TRACE] [ver.internal.actions.PushoverActions] - ThingAction 'sendMessage' called with value(s): message='Die Waschmaschine ist fertig!', title='Waschmaschine'
2021-03-31 22:02:51.914 [TRACE] [nal.connection.PushoverAPIConnection] - Pushover request: POST - URL = 'https://api.pushover.net/1/messages.json'
2021-03-31 22:02:51.915 [TRACE] [nal.connection.PushoverAPIConnection] - Pushover request body: 'org.eclipse.jetty.client.util.MultiPartContentProvider@47a98bca'
2021-03-31 22:02:51.921 [DEBUG] [nal.connection.PushoverAPIConnection] - Exception occurred during execution: java.io.EOFException: HttpConnectionOverHTTP@33c06a9d::DecryptedEndPoint@3f5fdb78{api.pushover.net/104.20.124.71:443<->/192.168.178.2:35676,OPEN,fill=-,flush=-,to=932788/0}
java.util.concurrent.ExecutionException: java.io.EOFException: HttpConnectionOverHTTP@33c06a9d::DecryptedEndPoint@3f5fdb78{api.pushover.net/104.20.124.71:443<->/192.168.178.2:35676,OPEN,fill=-,flush=-,to=932788/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.pushover.internal.connection.PushoverAPIConnection.executeRequest(PushoverAPIConnection.java:150) [bundleFile:?]
at org.openhab.binding.pushover.internal.connection.PushoverAPIConnection.post(PushoverAPIConnection.java:134) [bundleFile:?]
at org.openhab.binding.pushover.internal.connection.PushoverAPIConnection.sendMessage(PushoverAPIConnection.java:78) [bundleFile:?]
at org.openhab.binding.pushover.internal.handler.PushoverAccountHandler.sendMessage(PushoverAccountHandler.java:137) [bundleFile:?]
at org.openhab.binding.pushover.internal.actions.PushoverActions.send(PushoverActions.java:208) [bundleFile:?]
at org.openhab.binding.pushover.internal.actions.PushoverActions.sendMessage(PushoverActions.java:51) [bundleFile:?]
at org.openhab.binding.pushover.internal.actions.PushoverActions.sendMessage(PushoverActions.java:55) [bundleFile:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.invokeOperation(XbaseInterpreter.java:1176) [bundleFile:?]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.invokeOperation(XbaseInterpreter.java:1151) [bundleFile:?]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._invokeFeature(XbaseInterpreter.java:1137) [bundleFile:?]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.invokeFeature(XbaseInterpreter.java:1082) [bundleFile:?]
at org.openhab.core.model.script.interpreter.ScriptInterpreter.invokeFeature(ScriptInterpreter.java:151) [bundleFile:?]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._doEvaluate(XbaseInterpreter.java:862) [bundleFile:?]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.doEvaluate(XbaseInterpreter.java:232) [bundleFile:?]
at org.openhab.core.model.script.interpreter.ScriptInterpreter.doEvaluate(ScriptInterpreter.java:226) [bundleFile:?]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.internalEvaluate(XbaseInterpreter.java:216) [bundleFile:?]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._doEvaluate(XbaseInterpreter.java:459) [bundleFile:?]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.doEvaluate(XbaseInterpreter.java:240) [bundleFile:?]
at org.openhab.core.model.script.interpreter.ScriptInterpreter.doEvaluate(ScriptInterpreter.java:226) [bundleFile:?]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.internalEvaluate(XbaseInterpreter.java:216) [bundleFile:?]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.evaluate(XbaseInterpreter.java:202) [bundleFile:?]
at org.openhab.core.model.script.runtime.internal.engine.ScriptImpl.execute(ScriptImpl.java:80) [bundleFile:?]
at org.openhab.core.model.script.runtime.internal.engine.DSLScriptEngine.eval(DSLScriptEngine.java:131) [bundleFile:?]
at org.openhab.core.automation.module.script.internal.handler.ScriptActionHandler.lambda$0(ScriptActionHandler.java:62) [bundleFile:?]
at java.util.Optional.ifPresent(Optional.java:183) [?:?]
at org.openhab.core.automation.module.script.internal.handler.ScriptActionHandler.execute(ScriptActionHandler.java:59) [bundleFile:?]
at org.openhab.core.automation.internal.RuleEngineImpl.executeActions(RuleEngineImpl.java:1179) [bundleFile:?]
at org.openhab.core.automation.internal.RuleEngineImpl.runRule(RuleEngineImpl.java:987) [bundleFile:?]
at org.openhab.core.automation.internal.TriggerHandlerCallbackImpl$TriggerData.run(TriggerHandlerCallbackImpl.java:89) [bundleFile:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
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.io.EOFException: HttpConnectionOverHTTP@33c06a9d::DecryptedEndPoint@3f5fdb78{api.pushover.net/104.20.124.71:443<->/192.168.178.2:35676,OPEN,fill=-,flush=-,to=932788/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
2021-03-31 22:02:51.931 [ERROR] [internal.handler.ScriptActionHandler] - Script execution of rule with UID 'waschmaschine-1' failed: java.io.EOFException: HttpConnectionOverHTTP@33c06a9d::DecryptedEndPoint@3f5fdb78{api.pushover.net/104.20.124.71:443<->/192.168.178.2:35676,OPEN,fill=-,flush=-,to=932788/0} in waschmaschine
Thanks. It might help.
Currently I have two possible solutions in my mind and I prepared a first test version for you: org.openhab.binding.pushover-3.1.0-SNAPSHOT.zip
Are you able to test it?
This issue has been mentioned on openHAB Community. There might be relevant details there:
https://community.openhab.org/t/pushover-exception-return-value/116669/15
Thanks. It might help.
Currently I have two possible solutions in my mind and I prepared a first test version for you: org.openhab.binding.pushover-3.1.0-SNAPSHOT.zip
Are you able to test it?
Do I have to uninstall the 3.1.0.M2 Version before copying your version to the addons folder? (I didn't)
I do get errors now that I haven't seen before:
2021-04-02 13:14:08.143 [ERROR] [com.sun.xml.messaging.saaj.soap ] - SAAJ0511: Unable to create envelope from given source
In the console:
ERROR: 'The element type "HR" must be terminated by the matching end-tag "</HR>".'
Still got the error once so far:
2021-04-02 13:01:00.219 [ERROR] [internal.handler.ScriptActionHandler] - Script execution of rule with UID 'TEST-1' failed: java.io.EOFException: HttpConnectionOverHTTP@1a429163::DecryptedEndPoint@42d92773{api.pushover.net/104.20.124.71:443<->/192.168.178.2:40540,OPEN,fill=-,flush=-,to=2194674/0} in TEST
Do I have to uninstall the 3.1.0.M2 Version before copying your version to the addons folder?
Yes. Please uninstall any other Pushover binding versions before. Download the “.zip” file, extract the “.jar” and put it into your addons/ folder.
Looks good so far. I created a test rule that sends a pushover message every 5 minutes. It's working flawlessly since a couple of hours. Not a single error in the logs.
Sounds good. I will prepare a PR for it and submit my changes.
Some more information in them: I added additional exception handling which should result in correct return of false
if an error occurs. The binding itself will not try to try to resend a message on failure. A user has to take care of that if it is important.
I just had a missing pushover notification. Email worked, pushover didn't.
As soon as I'm home, I'll have a look into the log files...
Here we go...
2021-04-03 10:59:28.064 [DEBUG] [nal.connection.PushoverAPIConnection] - Exception occurred during execution: java.io.EOFException: HttpConnectionOverHTTP@4c662b99::DecryptedEndPoint@1b60745c{api.pushover.net/104.20.125.71:443<->/192.168.178.2:59162,CLOSED,fill=-,flush=F,to=52460497/0}
java.util.concurrent.ExecutionException: java.io.EOFException: HttpConnectionOverHTTP@4c662b99::DecryptedEndPoint@1b60745c{api.pushover.net/104.20.125.71:443<->/192.168.178.2:59162,CLOSED,fill=-,flush=F,to=52460497/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.pushover.internal.connection.PushoverAPIConnection.executeRequest(PushoverAPIConnection.java:146) [bundleFile:?]
at org.openhab.binding.pushover.internal.connection.PushoverAPIConnection.post(PushoverAPIConnection.java:130) [bundleFile:?]
at org.openhab.binding.pushover.internal.connection.PushoverAPIConnection.sendMessage(PushoverAPIConnection.java:76) [bundleFile:?]
at org.openhab.binding.pushover.internal.handler.PushoverAccountHandler.sendMessage(PushoverAccountHandler.java:138) [bundleFile:?]
at org.openhab.binding.pushover.internal.actions.PushoverActions.send(PushoverActions.java:255) [bundleFile:?]
at org.openhab.binding.pushover.internal.actions.PushoverActions.sendAttachmentMessage(PushoverActions.java:172) [bundleFile:?]
at org.openhab.binding.pushover.internal.actions.PushoverActions.sendAttachmentMessage(PushoverActions.java:177) [bundleFile:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.invokeOperation(XbaseInterpreter.java:1176) [bundleFile:?]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.invokeOperation(XbaseInterpreter.java:1151) [bundleFile:?]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._invokeFeature(XbaseInterpreter.java:1137) [bundleFile:?]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.invokeFeature(XbaseInterpreter.java:1082) [bundleFile:?]
at org.openhab.core.model.script.interpreter.ScriptInterpreter.invokeFeature(ScriptInterpreter.java:151) [bundleFile:?]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._doEvaluate(XbaseInterpreter.java:862) [bundleFile:?]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.doEvaluate(XbaseInterpreter.java:232) [bundleFile:?]
at org.openhab.core.model.script.interpreter.ScriptInterpreter.doEvaluate(ScriptInterpreter.java:226) [bundleFile:?]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.internalEvaluate(XbaseInterpreter.java:216) [bundleFile:?]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._doEvaluate(XbaseInterpreter.java:459) [bundleFile:?]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.doEvaluate(XbaseInterpreter.java:240) [bundleFile:?]
at org.openhab.core.model.script.interpreter.ScriptInterpreter.doEvaluate(ScriptInterpreter.java:226) [bundleFile:?]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.internalEvaluate(XbaseInterpreter.java:216) [bundleFile:?]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.evaluate(XbaseInterpreter.java:202) [bundleFile:?]
at org.openhab.core.model.script.runtime.internal.engine.ScriptImpl.execute(ScriptImpl.java:80) [bundleFile:?]
at org.openhab.core.model.script.runtime.internal.engine.DSLScriptEngine.eval(DSLScriptEngine.java:131) [bundleFile:?]
at org.openhab.core.automation.module.script.internal.handler.ScriptActionHandler.lambda$0(ScriptActionHandler.java:62) [bundleFile:?]
at java.util.Optional.ifPresent(Optional.java:183) [?:?]
at org.openhab.core.automation.module.script.internal.handler.ScriptActionHandler.execute(ScriptActionHandler.java:59) [bundleFile:?]
at org.openhab.core.automation.internal.RuleEngineImpl.executeActions(RuleEngineImpl.java:1179) [bundleFile:?]
at org.openhab.core.automation.internal.RuleEngineImpl.runRule(RuleEngineImpl.java:987) [bundleFile:?]
at org.openhab.core.automation.internal.TriggerHandlerCallbackImpl$TriggerData.run(TriggerHandlerCallbackImpl.java:89) [bundleFile:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
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.io.EOFException: HttpConnectionOverHTTP@4c662b99::DecryptedEndPoint@1b60745c{api.pushover.net/104.20.125.71:443<->/192.168.178.2:59162,CLOSED,fill=-,flush=F,to=52460497/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
In DEBUG mode I expected the message shown above. The important thing is, that we do not see the error in ScriptActionHandler
anymore. It will not be possible to prevent communication failures towards the Pushover API. Only to handle them correctly.
Did you still see an error message like this one?
2021-04-02 13:01:00.219 [ERROR] [internal.handler.ScriptActionHandler] - Script execution of rule with UID 'TEST-1' failed: java.io.EOFException: HttpConnectionOverHTTP@1a429163::DecryptedEndPoint@42d92773{api.pushover.net/104.20.124.71:443<->/192.168.178.2:40540,OPEN,fill=-,flush=-,to=2194674/0} in TEST
I have to check the logs when I'm back home. Busy day ;-)
But I had not a single error on openHAB 2.5. This issue started with the openHAB 3 Update.
Did you still see an error message like this one?
That error didn't show up anymore. But like I said before, the pushover messages worked without any exception in version 2.5. Since version 3 I experience these random issues.
Is this issue really closed?
I'm still experiencing some missing pushover messages, which I haven't seen in version 2.5 at all.
Did you try the change in #10437?
Isn't that the same change, that @cweitkamp included in the test version above? I'm using this right now and still had a couple of missing messages.
Please reopen this issue if it is still a problem for you,
The changes in #10437 are included in the test version I provided to you. They were necessary anyways. As I told you above we cannot prevent communication failures for sure. Just handle them correctly.
But I have a second idea how we can improve the situation. I will prepare another test version for you. Currently the binding uses a shared HTTP client which may interfere with other bindings. We can test to create an own instance of the client.
Sounds promising... I'll give it a try, as soon as it's ready. Thanks for your work, much appreciated!
OT: How do I reopen the issue? (Maybe I'm blind :-D)
EDIT: I think I'm not allowed to reopen the issue, because @fwolter closed it.
In DEBUG mode I expected the message shown above. The important thing is, that we do not see the error in
ScriptActionHandler
anymore.
This error showed up a couple of minutes ago (no pushover message was sent):
[internal.handler.ScriptActionHandler] - Script execution of rule with UID 'hm-sonstige-5' failed: null in hm-sonstige
It's very strange and I don't know whether this helps, but it seems like the longer the interval in my test rule, the more errors I get.
Generating pushover messages every one or two minutes creates no errors. Setting the interval to ten minutes resulted in two errors within 30 minutes.
EDIT: Almost every second message seems to fail. The reason differs:
2021-04-06 20:00:02.013 [DEBUG] [nal.connection.PushoverAPIConnection] - Exception occurred during execution: java.io.EOFException: HttpConnectionOverHTTP@23ca7f7c::DecryptedEndPoint@2416ac01{api.pushover.net/104.20.125.71:443<->/192.168.178.2:34694,CLOSED,fill=-,flush=W,to=593481/0}
2021-04-06 20:10:11.691 [DEBUG] [nal.connection.PushoverAPIConnection] - Exception occurred during execution: Total timeout 10000 ms elapsed
java.util.concurrent.TimeoutException: Total timeout 10000 ms elapsed
2021-04-06 21:30:01.698 [DEBUG] [nal.connection.PushoverAPIConnection] - Exception occurred during execution: org.eclipse.jetty.io.EofException
java.util.concurrent.ExecutionException: org.eclipse.jetty.io.EofException
Any Updates on this?
As a workaround I'm sending an email to my pushover mail address (xxxxxxx@pomail.net). This works without any problems, but it's a bit delayed.
Please reopen this issue if it is still a problem for you,
The changes in #10437 are included in the test version I provided to you. They were necessary anyways. As I told you above we cannot prevent communication failures for sure. Just handle them correctly.
But I have a second idea how we can improve the situation. I will prepare another test version for you. Currently the binding uses a shared HTTP client which may interfere with other bindings. We can test to create an own instance of the client.
Hi Christoph, is the second test version already available? I am running with 4 "things" and regularly messages are not being sent out due to EofException. I am running 3.0.2 as of now.
I am sorry. Did not find time to dig deeper yet. There is an ongoing PR introducing a configurable timeout which might help you too: https://github.com/openhab/openhab-addons/pull/10817.
Hi! I ran into the same Problem! Some messages went out and some not. What i saw is that after a fresh reboot every message went out. But after some time when no message was sent the next message generates an EOF Exception. I observed this after i got a new Cable Modem from my Internet Provider. So i started to dig deeper. What i found out:
Workaround: Triggering a "Sent Message" with Empty Content every couple of Minutes will generate some "Keepalive" Traffic on the established Connection and my Cable Modem is not Dropping the Connection!
Is it possible to implement some sort of Keepalive in the Binding or a check if an established TCP Session is "healthy"?
Still seeing this bug in openhab 4.0.2. I'm going to implement a cronjob to just hit api.pusover.net ever 2 minutes and see if this fixes the issue with messages not being sent.
I have a script (bash) that is called upon an event that is grabbing some images from cameras and sending them to pushover via curl and this script seems to always be able to connect with the API. curl is definitely more proven than the built-in pushover binding. it does appear that maybe the pushover agent fails to quickly and therefore fails to send messages.
I "fixed" the issue but basically, i'm not using the pushover addon. I wrote a generic bash script that allows me to pass parameters to it when an event occurs in openhab. I've had 100% success with pushover messages being generated. So, until this connectivity bug is fixed, i'll just roll my own solution. This is definitely a connectivity issue. I would send messages and then test my actions and they worked fine with the built-in addon. I then just let things run as usual, and no pushover messages were generated, but as soon as one pushover message is sent (via my script) all the pushover add-on messages worked.
It looks like any other binding using the httpclient, nothing specific. Very similar to how Telegram and other bindings use it.
@paxb1984 i don't have detailed knowledge about the http client, but i think it is strange that the connection is not closed after the request is done and killed by the router without the httpclient knowing. I don;t think this can be fixed from the openHAB binding.
@underdog are you able to provide a debug log for this binding when this issue happens with openHAB 4.1 ?
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
I am seeing this issue on openHAB 4.2.0.M3.
I am using the pushover binding for a couple of years now, since around 2016, but this error occurred for me the first time since these changes (adding ttl parameter) were made to the pushover binding: https://community.openhab.org/t/openhab-4-1-release-discussion/152252/20
After roundabout 5 minutes of not triggering any pushover messages the subsequent first message fails, then within the next period everything works fine, as long as some messages are triggered, but after another 5 minutes of not triggering any pushover messages the next pushover message fails again.
Inbetween I did a clean install of openHAB 4.2.0.M3 and only installed the pushover binding and a DSL rest rule, the same error occurred also on that test installation.
The following logs are from my production system.
I am seeing this issue on openHAB 4.2.0.M3.
@lsiepel, any ideas? Thx.
Expected Behavior
Pushover messages should be reliable. Every attempt of sending a message from a rule should bring the same result.
Current Behavior
Very randomly and for no good reason the following error message appears in the logs and no pushover message is sent:
Script execution of rule with UID 'hm-sonstige-5' failed: java.io.EOFException: HttpConnectionOverHTTP@d761b68::DecryptedEndPoint@3b78ddb9{api.pushover.net/104.20.125.71:443<->/192.168.178.2:47218,OPEN,fill=-,flush=F,to=82112373/0} in hm-sonstige
Seconds later the exact same rule works like a charm for multiple times.
Steps to Reproduce (for Bugs)
Send a pushover message from the same rule multiple times.
Your Environment