Homematic binding OH3- Buffering capacity 2097152 exceeded

Hi,
while setting up OH for my Homematic installation, only the CCU3 app is getting discovered. Other than that, I see in the log viewer the following message:


2020-12-30 03:35:17.534 [ERROR] [very.HomematicDeviceDiscoveryService] - java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: Buffering capacity 2097152 exceeded

java.io.IOException: java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: Buffering capacity 2097152 exceeded

at org.openhab.binding.homematic.internal.communicator.client.XmlRpcClient.send(XmlRpcClient.java:147) ~[bundleFile:?]

at org.openhab.binding.homematic.internal.communicator.client.XmlRpcClient.sendMessage(XmlRpcClient.java:81) ~[bundleFile:?]

at org.openhab.binding.homematic.internal.communicator.client.RpcClient.listDevices(RpcClient.java:169) ~[bundleFile:?]

at org.openhab.binding.homematic.internal.communicator.AbstractHomematicGateway.getDeviceDescriptions(AbstractHomematicGateway.java:448) ~[bundleFile:?]

at org.openhab.binding.homematic.internal.communicator.AbstractHomematicGateway.loadAllDeviceMetadata(AbstractHomematicGateway.java:372) ~[bundleFile:?]

at org.openhab.binding.homematic.internal.discovery.HomematicDeviceDiscoveryService.lambda$0(HomematicDeviceDiscoveryService.java:209) [bundleFile:?]

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

at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]

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

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.lang.IllegalArgumentException: Buffering capacity 2097152 exceeded

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.homematic.internal.communicator.client.XmlRpcClient.send(XmlRpcClient.java:115) ~[bundleFile:?]

... 11 more

Caused by: java.lang.IllegalArgumentException: Buffering capacity 2097152 exceeded

at org.eclipse.jetty.client.util.BufferingResponseListener.onHeaders(BufferingResponseListener.java:83) ~[?:?]

at org.eclipse.jetty.client.ResponseNotifier.notifyHeaders(ResponseNotifier.java:98) ~[?:?]

at org.eclipse.jetty.client.ResponseNotifier.notifyHeaders(ResponseNotifier.java:90) ~[?:?]

at org.eclipse.jetty.client.HttpReceiver.responseHeaders(HttpReceiver.java:269) ~[?:?]

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

at org.eclipse.jetty.http.HttpParser.parseFields(HttpParser.java:1192) ~[?:?]

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

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

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

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.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

The strange things is, that it worked already ones, but due to a connection error, I tried to delete the binding and re-bind the CCU. -With only little success.

Has anyone an idea on how to get this fixed? Have already done an re-installation of OH and tried it with a cache reset as described here:

Thank you for any good hint!
-Andreas

your code goes here

Which OH version are you using?

This problem looks like a known issue, that has already been solved. This problem happens if you have a quite large number of devices. If you execute a discovery the binding asks the CCU for the list of devices. The CCU returns the list together with lots of information and this can cause the problem.

If you are already using a current OH version, please set the log level to TRACE, repeat the discovery, and attach the openhab.log file.

Hi Martin,
I’m using OH3. On my previous OH2 installation the discovery worked well for months.

I have prepared the log. Unfortunately, I can’t upload the file here, since it seems like that this is not allowed for new users here. Is there something specific you are looking for, then I can past it in here.

Andreas

Hi Andreas,

that’s strange. The binding is identical for both version. Maybe the problem is causes by a different Jetty version.
If you like, you can mail the log to develop@mherbst.de.

Martin

Hi Martin,
initially it also worked on OH3. But after I’ve re-installed the binding, due to continues connection errors, OH only detects the bridge / CCU3 app.

Have send you the full log by mail.

Thanks a lot for your support and best regards
-Andreas

Did you found a solution? Having the same problem. Dont get a proper connection, can only find the (RM)CCU but no devices. Having a large number of HmIP devices.

See my answer to the thread you opened …

And just because I’ve missed it so far. -Thank you Martin for your outstanding support! Things are working fine now, due to your prompt help! Highly appreciated!

1 Like