[OH 2.4.0 M7] Testing Results

Summary here:

Let’s use this thread to report testing results for the latest openHAB 2.4.0 Milestone Build 7

Announcement Post: openHAB Milestone builds - #140 by Kai

FAQs

This is based on my understanding of how it works:

What is this "Milestone" stuff?

As of the time of this post, openHAB2 has 3 main branches under which the distribution is made available to all:

1) The Stable Release = 2.3.0. Published on 28/May/2018. Cycle: ~6M
2) The Milestone Build = 2.4.0 M7. Published on 01/Dec/2018. Cycle: ~1M
3) The Snapshot Build = 2.4.0 S1447. Published on 01/Dec/2018. Cycle: ~1d

The Milestone build is a testing (semi-stable) build of the OH2 distribution and includes all new enhancements, features and bug fixes.

The Snapshot build is a bleeding-edge (considered unstable) build of the OH2 distribution and includes all the latest enhancements, features and bug fixes.

Get 2.3.0 Stable from here: Main Web Site (or the stable repo)
Get 2.4.0 Milestone 7 from here: JFrog.io (or the testing repo)
Get 2.4.0 Snapshot from here: Jenkins (or the unstable repo)

I want to test 2.4.0.M7, how I can switch to it?

Linux Apt Based: Change to the Testing (aka Beta) Repository on your systems apt sources list

apt-get update && sudo apt-get install openhab2=2.4.0~M7-1

Win/Mac: Download the zip file from JFrog.io

Docker: Read docs @ openhab-docker

How do I report issues that I have identified with Milestone build?

Use the community forum to start with. Maybe your issue is due to a miss-configuration and not due to a bug.

If the results of the troubleshooting in the forum point to a bug, you can open up a github issue to be tracked and reviewed by the developers.

When you post problems (either in the forum or in github) add as much info as you can (relevant to the problem) in order to help with identification and possible reproduction of the issue.

Is 2.4.0 M7 going to become 2.4.0 Stable if all is OK with it? The development team is planning to make available more Milestones (M8) before the final Release of 2.4.0 Stable (ETA: 17/Dec/2018).
Can I run 2.4.0.M6 with Java VM 11? No! The recommended JVM is: Zulu 8. See more here: Prerequisites
2 Likes

testing results

I just got this error with the Milestone build:

2018-12-01 20:09:46.213 [ERROR] [e.internal.WriterInterceptorExecutor] - MessageBodyWriter not found for media type=text/event-stream, type=class org.glassfish.jersey.media.sse.OutboundEvent, genericType=class org.glassfish.jersey.media.sse.OutboundEvent.

when? on startup or when you try to do something specific?

I cannot reproduce this. It works on my test M7 system
post more info on that thread for troubleshooting

edit

a minute or so into startup. Everything seems to be working, though.

?
are you getting the same error in your log as @dan12345 is?

I cannot reproduce this. Check the other thread for my reply.

I have seen this before (if you search the forum for “MessageBodyWriter not found for media type=text/event-stream” you see some results)… not sure where it’s coming from…

I don’t have this on my test system but I haven’t loaded many addons yet

i have the same in the logs:

2018-11-29 20:42:20.126 [ERROR] [ersey.server.ServerRuntime$Responder] - An I/O error has occurred while writing a response message entity to the container output stream.
org.glassfish.jersey.server.internal.process.MappableException: org.eclipse.jetty.io.EofException
	at org.glassfish.jersey.server.internal.MappableExceptionWrapperInterceptor.aroundWriteTo(MappableExceptionWrapperInterceptor.java:92) ~[?:?]
	at org.glassfish.jersey.message.internal.WriterInterceptorExecutor.proceed(WriterInterceptorExecutor.java:162) ~[170:org.glassfish.jersey.core.jersey-common:2.22.2]
	at org.glassfish.jersey.message.internal.MessageBodyFactory.writeTo(MessageBodyFactory.java:1130) ~[170:org.glassfish.jersey.core.jersey-common:2.22.2]
	at org.glassfish.jersey.server.ServerRuntime$Responder.writeResponse(ServerRuntime.java:711) [171:org.glassfish.jersey.core.jersey-server:2.22.2]
	at org.glassfish.jersey.server.ServerRuntime$Responder.processResponse(ServerRuntime.java:444) [171:org.glassfish.jersey.core.jersey-server:2.22.2]
	at org.glassfish.jersey.server.ServerRuntime$Responder.process(ServerRuntime.java:434) [171:org.glassfish.jersey.core.jersey-server:2.22.2]
	at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:329) [171:org.glassfish.jersey.core.jersey-server:2.22.2]
	at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271) [170:org.glassfish.jersey.core.jersey-common:2.22.2]
	at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267) [170:org.glassfish.jersey.core.jersey-common:2.22.2]
	at org.glassfish.jersey.internal.Errors.process(Errors.java:315) [170:org.glassfish.jersey.core.jersey-common:2.22.2]
	at org.glassfish.jersey.internal.Errors.process(Errors.java:297) [170:org.glassfish.jersey.core.jersey-common:2.22.2]
	at org.glassfish.jersey.internal.Errors.process(Errors.java:267) [170:org.glassfish.jersey.core.jersey-common:2.22.2]
	at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317) [170:org.glassfish.jersey.core.jersey-common:2.22.2]
	at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305) [171:org.glassfish.jersey.core.jersey-server:2.22.2]
	at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154) [171:org.glassfish.jersey.core.jersey-server:2.22.2]
	at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:473) [168:org.glassfish.jersey.containers.jersey-container-servlet-core:2.22.2]
	at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:427) [168:org.glassfish.jersey.containers.jersey-container-servlet-core:2.22.2]
	at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:388) [168:org.glassfish.jersey.containers.jersey-container-servlet-core:2.22.2]
	at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:341) [168:org.glassfish.jersey.containers.jersey-container-servlet-core:2.22.2]
	at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:228) [168:org.glassfish.jersey.containers.jersey-container-servlet-core:2.22.2]
	at com.eclipsesource.jaxrs.publisher.internal.ServletContainerBridge.service(ServletContainerBridge.java:76) [20:com.eclipsesource.jaxrs.publisher:5.3.1.201602281253]
	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:865) [85:org.eclipse.jetty.servlet:9.4.11.v20180605]
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:535) [85:org.eclipse.jetty.servlet:9.4.11.v20180605]
	at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:71) [185:org.ops4j.pax.web.pax-web-jetty:7.2.3]
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146) [84:org.eclipse.jetty.server:9.4.11.v20180605]
	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548) [82:org.eclipse.jetty.security:9.4.11.v20180605]
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) [84:org.eclipse.jetty.server:9.4.11.v20180605]
	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257) [84:org.eclipse.jetty.server:9.4.11.v20180605]
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595) [84:org.eclipse.jetty.server:9.4.11.v20180605]
	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255) [84:org.eclipse.jetty.server:9.4.11.v20180605]
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1317) [84:org.eclipse.jetty.server:9.4.11.v20180605]
	at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:293) [185:org.ops4j.pax.web.pax-web-jetty:7.2.3]
	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203) [84:org.eclipse.jetty.server:9.4.11.v20180605]
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473) [85:org.eclipse.jetty.servlet:9.4.11.v20180605]
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564) [84:org.eclipse.jetty.server:9.4.11.v20180605]
	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201) [84:org.eclipse.jetty.server:9.4.11.v20180605]
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1219) [84:org.eclipse.jetty.server:9.4.11.v20180605]
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144) [84:org.eclipse.jetty.server:9.4.11.v20180605]
	at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:80) [185:org.ops4j.pax.web.pax-web-jetty:7.2.3]
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) [84:org.eclipse.jetty.server:9.4.11.v20180605]
	at org.eclipse.jetty.server.Server.handle(Server.java:531) [84:org.eclipse.jetty.server:9.4.11.v20180605]
	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:352) [84:org.eclipse.jetty.server:9.4.11.v20180605]
	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260) [84:org.eclipse.jetty.server:9.4.11.v20180605]
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:281) [75:org.eclipse.jetty.io:9.4.11.v20180605]
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:102) [75:org.eclipse.jetty.io:9.4.11.v20180605]
	at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118) [75:org.eclipse.jetty.io:9.4.11.v20180605]
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333) [87:org.eclipse.jetty.util:9.4.11.v20180605]
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310) [87:org.eclipse.jetty.util:9.4.11.v20180605]
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168) [87:org.eclipse.jetty.util:9.4.11.v20180605]
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126) [87:org.eclipse.jetty.util:9.4.11.v20180605]
	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366) [87:org.eclipse.jetty.util:9.4.11.v20180605]
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:762) [87:org.eclipse.jetty.util:9.4.11.v20180605]
	at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:680) [87:org.eclipse.jetty.util:9.4.11.v20180605]

How is this:

[ERROR] [ersey.server.ServerRuntime$Responder] - An I/O error has occurred while writing a response message entity to the container output stream.
org.glassfish.jersey.server.internal.process.MappableException: org.eclipse.jetty.io.EofException

the same with this:

2018-12-01 20:09:46.213 [ERROR] [e.internal.WriterInterceptorExecutor] - MessageBodyWriter not found for media type=text/event-stream, type=class 

???

3 lines down i got the WriterInterceptorExecutor entry, not exactle the same sry.

org.eclipse.jetty.io.EofException is usually associated with a timeout (or unexpected connection termination) from one http client (e.g. browser) which was talking to the web server of openhab (jetty)

It can be safely ignored

I have seen this kind of error on a recent snapshot (don’t know which version) when I added a changed a Switch in a Contact (mqtt) item. I traced it to a rest api call when the UI (In this case Basic UI) was open and requested a sitemap page with the Contact item with a map. When the page refreshed this error was triggered. It might be in other cases this also happens. I was trying to add some debug code, but then I restarted openHAB and the error was gone.

In general I suspect the error is not correctly logged in the rest api calls. The shown error comes directly from jetty. At that point in the code just logs the context information available and rethrows the error. but it’s not logged by openHAB/SmartHome. That is unfortunate because it could show more context information and point cause of the problem. It think it’s very hard to identify what is causing the problem with the current available information. So I guess it first requires some improvement in the logging.

1 Like

I agree :slight_smile:

check this out: I/O error while writing a response message entity to the container output stream · Issue #587 · openhab/openhab-distro · GitHub

I’m on a rpi3 and everything is working except for about half of my hue bulbs. they are the extended colour bulbs and im getting the following in the logs

2018-12-02 12:55:37.862 [WARN ] [rthome.model.script.actions.BusEvent] - Cannot convert '360,99,100' to a command type which item 'Kitchen_PendantLightRight' accepts: [HSBType, PercentType, OnOffType, IncreaseDecreaseType, RefreshType].
2018-12-02 12:55:38.180 [WARN ] [rthome.model.script.actions.BusEvent] - Cannot convert '360,99,100' to a command type which item 'Dining_LampRight_bottom' accepts: [HSBType, PercentType, OnOffType, IncreaseDecreaseType, RefreshType].
2018-12-02 12:55:38.498 [WARN ] [rthome.model.script.actions.BusEvent] - Cannot convert '360,99,100' to a command type which item 'Dining_LampLeft_bottom' accepts: [HSBType, PercentType, OnOffType, IncreaseDecreaseType, RefreshType].
2018-12-02 12:55:38.517 [WARN ] [rthome.model.script.actions.BusEvent] - Cannot convert '360,99,100' to a command type which item 'TV_Light_Right' accepts: [HSBType, PercentType, OnOffType, IncreaseDecreaseType, RefreshType].

the lights either to to a dull green or turn white and do not change to red.
below is an example of a rule that was working in oh 2.3

rule "Sunset On"
when 
	Item SunSet received command ON
then
	sendCommand(Kitchen_PendantLightLeft, "74,99,100")
	sendCommand(Kitchen_PendantLightCenter, "27,99,100")
	sendCommand(Kitchen_PendantLightRight, "360,99,100")
	sendCommand(Kitchen_Bench_Light, "27,99,100")
	Thread::sleep(300)
	sendCommand(Dining_LampRight_bottom, "360,99,100")
	sendCommand(Dining_LampRight_middle, "27,99,100")
	sendCommand(Dining_LampRight_top, "74,99,100")
	Thread::sleep(300)
	sendCommand(Dining_LampLeft_bottom, "360,99,100")
	sendCommand(Dining_LampLeft_middle, "27,99,100")
	sendCommand(Dining_LampLeft_top, "74,99,100")
	sendCommand(TV_Light_Left, "27,99,100")
	sendCommand(TV_Light_Right, "360,99,100")
end

what ive tried is removing the hue binding and deleting all of the hue bulbs from paper ui and then installing the hue binding again and adding all the bulbs with no luck so far.

edit added relevant items

Color    Kitchen_PendantLightLeft     "Pendant Light Left"     <dimmer>         (Kitchen, Lights, LightsKitchen, HueLightsEntertainment, MainLightsEntertainment,  MainLightsKitchen, LightsLoungeKitchenDining)      	{channel="hue:0210:00178829a0c5:27:color"}

Color    Kitchen_PendantLightRight    "Pendant Light Right"    <dimmer>         (Kitchen, Lights, LightsKitchen, HueLightsEntertainment, MainLightsEntertainment,  MainLightsKitchen, LightsLoungeKitchenDining)       	{channel="hue:0210:00178829a0c5:29:color"}

Color    Kitchen_PendantLightCenter   "Pendant Light Center"   <dimmer>         (Kitchen, Lights, LightsKitchen, HueLightsEntertainment, MainLightsEntertainment,  MainLightsKitchen, LightsLoungeKitchenDining)       	{channel="hue:0210:00178829a0c5:28:color"}

Color    Kitchen_Bench_Light   	      "Under Bench Light"      <dimmer>         (Kitchen, Lights, LightsKitchen, HueLightsEntertainment,  MainLightsKitchen, LightsLoungeKitchenDining)            {channel="hue:0210:00178829a0c5:35:color"}

Dimmer   Kitchen_Light                "Kitchen Light"          <dimmer>         (Kitchen, Lights, LightsKitchen, MainLightsEntertainment, LightsLoungeKitchenDining)                {channel="zwave:device:512:node6:switch_dimmer1"}




Dimmer   Dining_Lights                "Dining Light"           <dimmer>         (Dining, Lights, LightsDining, MainLightsEntertainment, LightsLoungeKitchenDining)                  					{channel="zwave:device:512:node33:switch_dimmer1"}

Color    Dining_LampLeft_bottom       "Lamp Left Bottom"       <dimmer>         (Dining, Lights, LightsDining, HueLightsDining, HueLightsEntertainment, LightsLoungeKitchenDining)                 {channel="hue:0210:00178829a0c5:3:color"} 
Color    Dining_LampLeft_middle       "Lamp Left Middle"       <dimmer>         (Dining, Lights, LightsDining, HueLightsDining, HueLightsEntertainment, LightsLoungeKitchenDining)                 {channel="hue:0210:00178829a0c5:24:color"} 
Color    Dining_LampLeft_top          "Lamp Left Top"          <dimmer>         (Dining, Lights, LightsDining, HueLightsDining, HueLightsEntertainment, LightsLoungeKitchenDining)                 {channel="hue:0210:00178829a0c5:1:color"} 
Color    Dining_LampRight_bottom      "Lamp Right Bottom"      <dimmer>         (Dining, Lights, LightsDining, HueLightsDining, HueLightsEntertainment, LightsLoungeKitchenDining)                 {channel="hue:0210:00178829a0c5:6:color"} 
Color    Dining_LampRight_middle      "Lamp Right Middle"      <dimmer>         (Dining, Lights, LightsDining, HueLightsDining, HueLightsEntertainment, LightsLoungeKitchenDining)                 {channel="hue:0210:00178829a0c5:5:color"} 
Color    Dining_LampRight_top         "Lamp Right Top"         <dimmer>         (Dining, Lights, LightsDining, HueLightsDining, HueLightsEntertainment, LightsLoungeKitchenDining)                 {channel="hue:0210:00178829a0c5:4:color"}




Dimmer   Lounge_BackLights            "Lounge Lights Back"     <dimmer>         (Lounge, Lights, LightsLounge, MainLightsLounge, MainLightsEntertainment, LightsLoungeKitchenDining)      				{channel="zwave:device:512:node5:switch_dimmer1"}
Dimmer   Lounge_Front_Lights          "Lounge Lights Front"    <dimmer>         (Lounge, Lights, LightsLounge, MainLightsLounge, MainLightsEntertainment, LightsLoungeKitchenDining)      				{channel="zwave:device:512:node32:switch_dimmer1"}
Dimmer   Lounge_Middle_Lights         "Lounge Lights Middle"   <dimmer>         (Lounge, Lights, LightsLounge, MainLightsLounge, MainLightsEntertainment, LightsLoungeKitchenDining)      				{channel="zwave:device:512:node34:switch_dimmer1"}
Color    TV_Light_Left                "TV Left"                <dimmer>         (Lounge, Lights, LightsLounge, HueLightsEntertainment, HueLightsLounge, LightsLoungeKitchenDining)              {channel="hue:0210:00178829a0c5:22:color"}
Color    TV_Light_Right               "TV Right"               <dimmer>         (Lounge, Lights, LightsLounge, HueLightsEntertainment, HueLightsLounge, LightsLoungeKitchenDining)              {channel="hue:0210:00178829a0c5:21:color"}


add your item definitions also plz (you edit your post above)
edit: is 360 a valid value? I don’t use Color items but it seems to me that this is too high. edit: it’s ok… .it’s the max for HSB.
also: try to use the method instead of the action:

TV_Light_Right.sendCommand(360,99,100)

so ive made a little progress. changing 360 to 0 which is effectively the same value (Red) now has the bulbs change too red that weren’t before but ive still got the issue of Kitchen_PendantLightLeft changing to the correct colour (yellow) but the Dining_LampRight_top and Dining_LampLeft_top are still Turing a lime green and not yellow that they were before.

rule "Sunset On"
when 
	Item SunSet received command ON
then
	Kitchen_PendantLightLeft.sendCommand("74,99,100")
	Kitchen_PendantLightCenter.sendCommand("27,99,100")
	Kitchen_PendantLightRight.sendCommand("0,99,100")
	Kitchen_Bench_Light.sendCommand("27,99,100")
	Thread::sleep(300)
	Dining_LampRight_bottom.sendCommand("0,99,100")
	Dining_LampRight_middle.sendCommand("27,99,100")
	Dining_LampRight_top.sendCommand("74,99,100")
	Thread::sleep(300)
	Dining_LampLeft_bottom.sendCommand("0,99,100")
	Dining_LampLeft_middle.sendCommand("27,99,100")
	Dining_LampLeft_top.sendCommand("74,99,100")
	TV_Light_Left.sendCommand("27,99,100")
	TV_Light_Right.sendCommand("0,99,100")
end

Ok after some more playing around if you change the temperature of the lights it fixes the issue and the rules now work as they did in 2.3 until openHAB is restarted and the lights go back to being green.

Anyone else seeing this error in the latest M7 release?

[ERROR] [core.karaf.internal.FeatureInstaller] - Failed installing 'openhab-misc-myopenhab': Error restarting bundles:

Exception in org.eclipse.smarthome.io.rest.sse.internal.SseActivator.start() of bundle org.eclipse.smarthome.io.rest.sse.

Encounters every minute in the log.
My openhab cloud connection is working though, as google assistant is still able to communicate with OH2.

You should delete the content of cache&tmp directory and restart the service, should be gone then… i had the same at the upgrade from m5 to m6!

See the instructions from @rlkoshak: Clear the Cache