[SOLVED] No contact to squeeze server with error message 'Could not start Jetty http client'

Going to mark this query as solved. I know it’s not actually fixed for systems with lots of cores, but at least I found a way around it.

Thanks for your help!

Koen.

It would be great if you could report this as an issue for eclipse smarthome:

It sounds solvable with a proper configuration

Before opening an issue, it would be good if we can solve it by changing one (or more) of the config parameters bny setting it in runtime.cfg? We tried doing that previously, but we either picked the wrong parameter, or didn’t have the syntax quite right for what we put in runtime.cfg.

We were trying to set maxThreadsCustom using

org.eclipse.smarthome.io.net:maxThreadsCustom=some-number-greater-than-10

or

org.eclipse.smarthome.io.net.http:maxThreadsCustom=some-number-greater-than-10

Those didn’t work. What should we be using? Possibly minThreadsShared? What’s the full path of the config parameter?

I did indeed try both configuration parameters, with a value of 30, but still 10 was reported as max threads in the error message.

Here are all the threads parameters, and the corresponding log message that shows they were applied.

org.eclipse.smarthome.webclient:minThreadsShared=20
org.eclipse.smarthome.webclient:maxThreadsShared=60
org.eclipse.smarthome.webclient:minThreadsCustom=15
org.eclipse.smarthome.webclient:maxThreadsCustom=25
2018-11-21 08:19:56.787 [DEBUG] [org.eclipse.smarthome.io.net        ] - ServiceEvent MODIFIED - {org.eclipse.smarthome.io.net.http.HttpClientFactory, org.eclipse.smarthome.io.net.http.WebSocketFactory}={service.id=269, maxThreadsShared=60, service.bundleid=117, service.scope=bundle, maxThreadsCustom=25, minThreadsCustom=15, minThreadsShared=20, service.pid=org.eclipse.smarthome.webclient, component.name=org.eclipse.smarthome.io.net.http.internal.WebClientFactoryImpl, component.id=157} - org.eclipse.smarthome.io.net

I can confirm that this works, no more jetty failure, however I get another error (Buffering capacity exceeded).

openhab> log:tail
13:26:24.248 [INFO ] [i.dashboard.internal.DashboardService] - Started Dashboard at http://192.168.13.2:8080
13:26:24.249 [INFO ] [i.dashboard.internal.DashboardService] - Started Dashboard at https://192.168.13.2:8443
13:26:24.346 [INFO ] [marthome.ui.paper.internal.PaperUIApp] - Started Paper UI at /paperui
13:26:24.513 [DEBUG] [org.openhab.binding.squeezebox       ] - BundleEvent STARTING - org.openhab.binding.squeezebox
13:26:24.514 [DEBUG] [org.openhab.binding.squeezebox       ] - BundleEvent STARTED - org.openhab.binding.squeezebox
13:26:24.522 [DEBUG] [org.openhab.binding.squeezebox       ] - ServiceEvent REGISTERED - {org.eclipse.smarthome.config.discovery.UpnpDiscoveryParticipant}={service.id=344, service.bundleid=196, service.scope=bundle, component.name=org.openhab.binding.squeezebox.internal.discovery.SqueezeBoxServerDiscoveryParticipant, component.id=202} - org.openhab.binding.squeezebox
13:26:24.525 [DEBUG] [org.openhab.binding.squeezebox       ] - ServiceEvent REGISTERED - {org.eclipse.smarthome.core.thing.type.DynamicStateDescriptionProvider, org.openhab.binding.squeezebox.internal.SqueezeBoxStateDescriptionOptionsProvider}={service.id=345, service.bundleid=196, service.scope=bundle, component.name=org.openhab.binding.squeezebox.internal.SqueezeBoxStateDescriptionOptionsProvider, component.id=203} - org.openhab.binding.squeezebox
13:26:24.547 [DEBUG] [org.openhab.binding.squeezebox       ] - ServiceEvent REGISTERED - {org.eclipse.smarthome.core.thing.binding.ThingHandlerFactory}={service.id=346, service.bundleid=196, service.scope=bundle, component.name=org.openhab.binding.squeezebox.internal.SqueezeBoxHandlerFactory, component.id=204} - org.openhab.binding.squeezebox
13:26:24.556 [DEBUG] [.SqueezeBoxPlayerDiscoveryParticipant] - Request player job scheduled to run every 60 seconds
13:26:24.562 [DEBUG] [org.openhab.binding.squeezebox       ] - ServiceEvent REGISTERED - {org.eclipse.smarthome.config.discovery.DiscoveryService}={service.id=348, service.bundleid=196, service.scope=singleton} - org.openhab.binding.squeezebox
13:26:24.613 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'yeelight:wonder:0x0000000007c48766' changed from UNINITIALIZED to INITIALIZING
13:26:24.614 [DEBUG] [ernal.handler.SqueezeBoxServerHandler] - initializing server handler for thing squeezebox:squeezeboxserver:6c76cba1
13:26:24.616 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'squeezebox:squeezeboxserver:6c76cba1' changed from UNINITIALIZED to INITIALIZING
13:26:24.618 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'squeezebox:squeezeboxplayer:6c76cba1:e27ca66e92f9' changed from UNINITIALIZED to UNINITIALIZED (BRIDGE_UNINITIALIZED)
13:26:24.619 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'squeezebox:squeezeboxplayer:6c76cba1:000420061c8c' changed from UNINITIALIZED to UNINITIALIZED (BRIDGE_UNINITIALIZED)
13:26:24.624 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'yeelight:wonder:0x0000000007c48766' changed from INITIALIZING to OFFLINE: Device is offline!
13:26:24.633 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'yeelight:wonder:0x0000000007c2c586' changed from UNINITIALIZED to INITIALIZING
13:26:24.633 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'yeelight:wonder:0x0000000007c2c586' changed from INITIALIZING to OFFLINE: Device is offline!
13:26:24.636 [DEBUG] [ernal.handler.SqueezeBoxServerHandler] - listener connection started to server 192.168.13.2:9090
13:26:24.641 [DEBUG] [ernal.handler.SqueezeBoxServerHandler] - Sending command: players 0
13:26:24.642 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'squeezebox:squeezeboxserver:6c76cba1' changed from INITIALIZING to ONLINE
13:26:24.643 [DEBUG] [ernal.handler.SqueezeBoxServerHandler] - Sending command: favorites items 0 100
13:26:24.643 [DEBUG] [ernal.handler.SqueezeBoxServerHandler] - Sending command: listen 1
13:26:24.645 [DEBUG] [org.openhab.binding.squeezebox       ] - ServiceEvent REGISTERED - {org.eclipse.smarthome.core.audio.AudioSink}={service.id=350, service.bundleid=196, service.scope=singleton} - org.openhab.binding.squeezebox
13:26:24.645 [DEBUG] [org.openhab.binding.squeezebox       ] - ServiceEvent REGISTERED - {org.eclipse.smarthome.core.audio.AudioSink}={service.id=351, service.bundleid=196, service.scope=singleton} - org.openhab.binding.squeezebox
13:26:24.655 [DEBUG] [.SqueezeBoxPlayerDiscoveryParticipant] - player added 00:04:20:04:18:c1 : SLIMP3 
13:26:24.662 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'squeezebox:squeezeboxplayer:6c76cba1:e27ca66e92f9' changed from UNINITIALIZED (BRIDGE_UNINITIALIZED) to INITIALIZING
13:26:24.665 [DEBUG] [ernal.handler.SqueezeBoxServerHandler] - Sending command: 00:04:20:04:18:c1 status - 1 subscribe:10 tags:yagJlNKjc
13:26:24.665 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'squeezebox:squeezeboxplayer:6c76cba1:000420061c8c' changed from UNINITIALIZED (BRIDGE_UNINITIALIZED) to INITIALIZING
13:26:24.665 [DEBUG] [ernal.handler.SqueezeBoxServerHandler] - Sending command: 00:04:20:06:1c:8c status - 1 subscribe:10 tags:yagJlNKjc
13:26:24.666 [DEBUG] [ernal.handler.SqueezeBoxPlayerHandler] - player thing squeezebox:squeezeboxplayer:6c76cba1:000420061c8c initialized.
13:26:24.666 [DEBUG] [ernal.handler.SqueezeBoxPlayerHandler] - player thing squeezebox:squeezeboxplayer:6c76cba1:e27ca66e92f9 initialized.
13:26:24.667 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'squeezebox:squeezeboxplayer:6c76cba1:000420061c8c' changed from INITIALIZING to ONLINE
13:26:24.667 [DEBUG] [ernal.handler.SqueezeBoxPlayerHandler] - Player e2:7c:a6:6e:92:f9 updating favorites list
13:26:24.668 [DEBUG] [ernal.handler.SqueezeBoxPlayerHandler] - Player 00:04:20:06:1c:8c updating favorites list
13:26:24.668 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'squeezebox:squeezeboxplayer:6c76cba1:e27ca66e92f9' changed from INITIALIZING to ONLINE
13:26:24.682 [DEBUG] [ernal.handler.SqueezeBoxPlayerHandler] - Trying to download the content of URL http://192.168.13.2:9000/music/eff02a6a/cover.jpg
13:26:24.684 [DEBUG] [et.http.internal.WebClientFactoryImpl] - creating http client for consumer common, endpoint null
13:26:24.684 [DEBUG] [et.http.internal.WebClientFactoryImpl] - Setting up SSLContext for org.eclipse.smarthome.io.net.http.internal.ExtensibleTrustManager@46966fec
13:26:24.697 [DEBUG] [et.http.internal.WebClientFactoryImpl] - Jetty shared http client created
13:26:24.700 [DEBUG] [et.http.internal.WebClientFactoryImpl] - creating web socket client for consumer common, endpoint null
13:26:24.701 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'yeelight:wonder:0x0000000007c48766' changed from OFFLINE: Device is offline! to UNKNOWN
13:26:24.704 [DEBUG] [et.http.internal.WebClientFactoryImpl] - Setting up SSLContext for org.eclipse.smarthome.io.net.http.internal.ExtensibleTrustManager@46966fec
13:26:24.706 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - 'yeelight:wonder:0x0000000007c48766' changed from UNKNOWN to ONLINE
13:26:24.716 [INFO ] [elight.internal.lib.device.DeviceBase] - status = DeviceStatus [isPowerOff=true, r=255, g=0, b=64, color=16711744, brightness=50, ct=1700, hue=345, sat=100, isFlowing=false, delayOff=-1, mFlowItems=null, mode=null, isMusicOn=false, name=]
13:26:24.742 [DEBUG] [et.http.internal.WebClientFactoryImpl] - Jetty shared web socket client created
13:26:24.743 [DEBUG] [et.http.internal.WebClientFactoryImpl] - shared http client requested
13:26:24.753 [DEBUG] [clipse.smarthome.io.net.http.HttpUtil] - About to execute http://192.168.13.2:9000/music/eff02a6a/cover.jpg
13:26:24.858 [DEBUG] [clipse.smarthome.io.net.http.HttpUtil] - Media download failed (URL http://192.168.13.2:9000/music/eff02a6a/cover.jpg) : java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: Buffering capacity exceeded
13:26:24.858 [DEBUG] [ernal.handler.SqueezeBoxPlayerHandler] - Failed to download the content of URL http://192.168.13.2:9000/music/eff02a6a/cover.jpg

Actually, that was a ridiculously large cover image that caused the error.

koen@lembeke:~/tmp$ ls -alh cover.jpg 
-rw-r--r-- 1 koen koen 7.7M Nov 21 15:08 cover.jpg

When playing a different album, the error doesn’t happen!

15:09:44.983 [DEBUG] [ernal.handler.SqueezeBoxPlayerHandler] - Trying to download the content of URL http://192.168.13.2:9000/music/55be152d/cover.jpg
15:09:44.985 [DEBUG] [et.http.internal.WebClientFactoryImpl] - creating http client for consumer common, endpoint null
15:09:44.985 [DEBUG] [et.http.internal.WebClientFactoryImpl] - Setting up SSLContext for org.eclipse.smarthome.io.net.http.internal.ExtensibleTrustManager@3dffeb59
15:09:45.003 [DEBUG] [et.http.internal.WebClientFactoryImpl] - Jetty shared http client created
15:09:45.004 [DEBUG] [et.http.internal.WebClientFactoryImpl] - creating web socket client for consumer common, endpoint null
15:09:45.009 [DEBUG] [et.http.internal.WebClientFactoryImpl] - Setting up SSLContext for org.eclipse.smarthome.io.net.http.internal.ExtensibleTrustManager@3dffeb59
15:09:45.041 [DEBUG] [et.http.internal.WebClientFactoryImpl] - Jetty shared web socket client created
15:09:45.042 [DEBUG] [et.http.internal.WebClientFactoryImpl] - shared http client requested
15:09:45.051 [DEBUG] [clipse.smarthome.io.net.http.HttpUtil] - About to execute http://192.168.13.2:9000/music/55be152d/cover.jpg
15:09:45.165 [DEBUG] [clipse.smarthome.io.net.http.HttpUtil] - Media download response: status 200 content length 46822 media type image/jpeg (URL http://192.168.13.2:9000/music/55be152d/cover.jpg)
15:09:45.166 [DEBUG] [clipse.smarthome.io.net.http.HttpUtil] - Media downloaded: size 46822 type image/jpeg (URL http://192.168.13.2:9000/music/55be152d/cover.jpg)

Yes, but this error is handled more gracefully because I catch the IllegalArgumentException. So, this error doesn’t kill the listener thread, and everything should continue to work properly. Correct?

Yikes!

Everything is indeed still working properly, yes.

Thanks,

Koen.

FYI, I wrote up a little blurb here.

1 Like