Hallo all, I go mad with OH 2.2. I started 8 weeks go with OH 2.1 all worked well. After updating the to OH 2.2 all broke. I restored it be hand,but I have still a write error on PNG files.
In which directory doesOH2.2 try to store the PNG files
Platform information:
Hardware: raspberry pi 3
OS: openhabian 1.4
Java Runtime Environment: 1.8.0_152
openHAB version: 2.2
avax.imageio.IIOException: I/O error writing PNG file!
at com.sun.imageio.plugins.png.PNGImageWriter.write(PNGImageWriter.java:1168) ~[?:?]
at javax.imageio.ImageWriter.write(ImageWriter.java:615) ~[?:?]
at javax.imageio.ImageIO.doWrite(ImageIO.java:1612) ~[?:?]
at javax.imageio.ImageIO.write(ImageIO.java:1492) ~[?:?]
at org.eclipse.smarthome.ui.internal.chart.ChartServlet.doGet(ChartServlet.java:302) ~[?:?]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:687) ~[?:?]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) ~[?:?]
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:848) ~[?:?]
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:584) ~[?:?]
at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:71) ~[?:?]
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) ~[?:?]
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548) ~[?:?]
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226) ~[?:?]
Please post configurations (if applicable):
Items configuration:
Number Temperature2 “Temperature [%.2f °C]” {weather=“locationId=home,type=temperature, property=current”}
Sitemap configuration related to the issue
sitemap graph label=“Graph”
{
Frame label=“Graph” {
Hello Uwe, below is the full log, I am not sure if the error appears during the writing of the persistence file (rrd) or if it appears, if the chart will be called by the http request.
Where is the directory for the PNG files?
Here is the log:
2017-12-24 09:34:05.866 [WARN ] [org.eclipse.jetty.server.HttpChannel] - //192.168.178.37:8080/chart?items=Temperature2&period=12h&theme=bright&t=1514104445618
javax.servlet.ServletException: javax.imageio.IIOException: I/O error writing PNG file!
at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:88) [191:org.ops4j.pax.web.pax-web-jetty:6.0.7]
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134) [87:org.eclipse.jetty.server:9.3.22.v20171030]
at org.eclipse.jetty.server.Server.handle(Server.java:534) [87:org.eclipse.jetty.server:9.3.22.v20171030]
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333) [87:org.eclipse.jetty.server:9.3.22.v20171030]
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251) [87:org.eclipse.jetty.server:9.3.22.v20171030]
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283) [79:org.eclipse.jetty.io:9.3.22.v20171030]
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108) [79:org.eclipse.jetty.io:9.3.22.v20171030]
at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93) [79:org.eclipse.jetty.io:9.3.22.v20171030]
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303) [90:org.eclipse.jetty.util:9.3.22.v20171030]
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148) [90:org.eclipse.jetty.util:9.3.22.v20171030]
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136) [90:org.eclipse.jetty.util:9.3.22.v20171030]
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671) [90:org.eclipse.jetty.util:9.3.22.v20171030]
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589) [90:org.eclipse.jetty.util:9.3.22.v20171030]
at java.lang.Thread.run(Thread.java:748) [?:?]
Caused by: javax.imageio.IIOException: I/O error writing PNG file!
at com.sun.imageio.plugins.png.PNGImageWriter.write(PNGImageWriter.java:1168) ~[?:?]
at javax.imageio.ImageWriter.write(ImageWriter.java:615) ~[?:?]
at javax.imageio.ImageIO.doWrite(ImageIO.java:1612) ~[?:?]
at javax.imageio.ImageIO.write(ImageIO.java:1492) ~[?:?]
at org.eclipse.smarthome.ui.internal.chart.ChartServlet.doGet(ChartServlet.java:302) ~[?:?]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:687) ~[?:?]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) ~[?:?]
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:848) ~[?:?]
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:584) ~[?:?]
at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:71) ~[?:?]
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) ~[?:?]
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548) ~[?:?]
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226) ~[?:?]
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180) ~[?:?]
at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:284) ~[?:?]
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512) ~[?:?]
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) ~[?:?]
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112) ~[?:?]
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) ~[?:?]
at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:80) ~[?:?]
… 13 more
Caused by: org.eclipse.jetty.io.EofException
at org.eclipse.jetty.io.ChannelEndPoint.flush(ChannelEndPoint.java:199) ~[?:?]
at org.eclipse.jetty.io.WriteFlusher.flush(WriteFlusher.java:420) ~[?:?]
at org.eclipse.jetty.io.WriteFlusher.write(WriteFlusher.java:313) ~[?:?]
at org.eclipse.jetty.io.AbstractEndPoint.write(AbstractEndPoint.java:147) ~[?:?]
at org.eclipse.jetty.server.HttpConnection$SendCallback.process(HttpConnection.java:739) ~[?:?]
at org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:241) ~[?:?]
at org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:224) ~[?:?]
at org.eclipse.jetty.server.HttpConnection.send(HttpConnection.java:519) ~[?:?]
at org.eclipse.jetty.server.HttpChannel.sendResponse(HttpChannel.java:750) ~[?:?]
at org.eclipse.jetty.server.HttpChannel.write(HttpChannel.java:801) ~[?:?]
at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:235) ~[?:?]
at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:219) ~[?:?]
at org.eclipse.jetty.server.HttpOutput.flush(HttpOutput.java:355) ~[?:?]
at javax.imageio.stream.FileCacheImageOutputStream.flushBefore(FileCacheImageOutputStream.java:258) ~[?:?]
at com.sun.imageio.plugins.png.IDATOutputStream.finishChunk(PNGImageWriter.java:196) ~[?:?]
at com.sun.imageio.plugins.png.IDATOutputStream.finish(PNGImageWriter.java:254) ~[?:?]
at com.sun.imageio.plugins.png.PNGImageWriter.write_IDAT(PNGImageWriter.java:945) ~[?:?]
at com.sun.imageio.plugins.png.PNGImageWriter.write(PNGImageWriter.java:1158) ~[?:?]
at javax.imageio.ImageWriter.write(ImageWriter.java:615) ~[?:?]
at javax.imageio.ImageIO.doWrite(ImageIO.java:1612) ~[?:?]
at javax.imageio.ImageIO.write(ImageIO.java:1492) ~[?:?]
at org.eclipse.smarthome.ui.internal.chart.ChartServlet.doGet(ChartServlet.java:302) ~[?:?]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:687) ~[?:?]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) ~[?:?]
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:848) ~[?:?]
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:584) ~[?:?]
at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:71) ~[?:?]
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) ~[?:?]
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548) ~[?:?]
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226) ~[?:?]
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180) ~[?:?]
at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:284) ~[?:?]
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512) ~[?:?]
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) ~[?:?]
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112) ~[?:?]
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) ~[?:?]
at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:80) ~[?:?]
… 13 more
Caused by: java.io.IOException: Broken pipe
at sun.nio.ch.FileDispatcherImpl.writev0(Native Method) ~[?:?]
at sun.nio.ch.SocketDispatcher.writev(SocketDispatcher.java:51) ~[?:?]
at sun.nio.ch.IOUtil.write(IOUtil.java:148) ~[?:?]
at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:504) ~[?:?]
at org.eclipse.jetty.io.ChannelEndPoint.flush(ChannelEndPoint.java:179) ~[?:?]
at org.eclipse.jetty.io.WriteFlusher.flush(WriteFlusher.java:420) ~[?:?]
at org.eclipse.jetty.io.WriteFlusher.write(WriteFlusher.java:313) ~[?:?]
at org.eclipse.jetty.io.AbstractEndPoint.write(AbstractEndPoint.java:147) ~[?:?]
at org.eclipse.jetty.server.HttpConnection$SendCallback.process(HttpConnection.java:739) ~[?:?]
at org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:241) ~[?:?]
at org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:224) ~[?:?]
at org.eclipse.jetty.server.HttpConnection.send(HttpConnection.java:519) ~[?:?]
at org.eclipse.jetty.server.HttpChannel.sendResponse(HttpChannel.java:750) ~[?:?]
at org.eclipse.jetty.server.HttpChannel.write(HttpChannel.java:801) ~[?:?]
at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:235) ~[?:?]
at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:219) ~[?:?]
at org.eclipse.jetty.server.HttpOutput.flush(HttpOutput.java:355) ~[?:?]
at javax.imageio.stream.FileCacheImageOutputStream.flushBefore(FileCacheImageOutputStream.java:258) ~[?:?]
at com.sun.imageio.plugins.png.IDATOutputStream.finishChunk(PNGImageWriter.java:196) ~[?:?]
at com.sun.imageio.plugins.png.IDATOutputStream.finish(PNGImageWriter.java:254) ~[?:?]
at com.sun.imageio.plugins.png.PNGImageWriter.write_IDAT(PNGImageWriter.java:945) ~[?:?]
at com.sun.imageio.plugins.png.PNGImageWriter.write(PNGImageWriter.java:1158) ~[?:?]
at javax.imageio.ImageWriter.write(ImageWriter.java:615) ~[?:?]
at javax.imageio.ImageIO.doWrite(ImageIO.java:1612) ~[?:?]
at javax.imageio.ImageIO.write(ImageIO.java:1492) ~[?:?]
at org.eclipse.smarthome.ui.internal.chart.ChartServlet.doGet(ChartServlet.java:302) ~[?:?]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:687) ~[?:?]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) ~[?:?]
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:848) ~[?:?]
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:584) ~[?:?]
at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:71) ~[?:?]
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) ~[?:?]
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548) ~[?:?]
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226) ~[?:?]
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180) ~[?:?]
at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:284) ~[?:?]
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512) ~[?:?]
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) ~[?:?]
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112) ~[?:?]
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) ~[?:?]
at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:80) ~[?:?]
… 13 more
Something similar for me. I already opened an issue. It was closed some days ago, but I don’t think it ist gone. I currently don’t have time to take care of it. Maybe you want to post in the ESH issue as well. Thanks.
2017-12-24 09:34:05.866 [WARN ] [org.eclipse.jetty.server.HttpChannel] - //192.168.178.37:8080/chart?items=Temperature2&period=12h&theme=bright&t=1514104445618 javax.servlet.ServletException: javax.imageio.IIOException: I/O error writing PNG file!
at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:88) [191:org.ops4j.pax.web.pax-web-jetty:6.0.7]
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134) [87:org.eclipse.jetty.server:9.3.22.v20171030]
at org.eclipse.jetty.server.Server.handle(Server.java:534) [87:org.eclipse.jetty.server:9.3.22.v20171030]
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333) [87:org.eclipse.jetty.server:9.3.22.v20171030]
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251) [87:org.eclipse.jetty.server:9.3.22.v20171030]
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283) [79:org.eclipse.jetty.io:9.3.22.v20171030]
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108) [79:org.eclipse.jetty.io:9.3.22.v20171030]
at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93) [79:org.eclipse.jetty.io:9.3.22.v20171030]
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303) [90:org.eclipse.jetty.util:9.3.22.v20171030]
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148) [90:org.eclipse.jetty.util:9.3.22.v20171030]
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136) [90:org.eclipse.jetty.util:9.3.22.v20171030]
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671) [90:org.eclipse.jetty.util:9.3.22.v20171030]
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589) [90:org.eclipse.jetty.util:9.3.22.v20171030]
at java.lang.Thread.run(Thread.java:748) [?:?]
Caused by: javax.imageio.IIOException: I/O error writing PNG file!
at com.sun.imageio.plugins.png.PNGImageWriter.write(PNGImageWriter.java:1168) ~[?:?]
at javax.imageio.ImageWriter.write(ImageWriter.java:615) ~[?:?]
at javax.imageio.ImageIO.doWrite(ImageIO.java:1612) ~[?:?]
at javax.imageio.ImageIO.write(ImageIO.java:1492) ~[?:?]
at org.eclipse.smarthome.ui.internal.chart.ChartServlet.doGet(ChartServlet.java:302) ~[?:?]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:687) ~[?:?]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) ~[?:?]
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:848) ~[?:?]
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:584) ~[?:?]
at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:71) ~[?:?]
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) ~[?:?]
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548) ~[?:?]
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226) ~[?:?]
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180) ~[?:?]
at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:284) ~[?:?]
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512) ~[?:?]
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) ~[?:?]
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112) ~[?:?]
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) ~[?:?]
at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:80) ~[?:?]
… 13 more
Caused by: org.eclipse.jetty.io.EofException
at org.eclipse.jetty.io.ChannelEndPoint.flush(ChannelEndPoint.java:199) ~[?:?]
at org.eclipse.jetty.io.WriteFlusher.flush(WriteFlusher.java:420) ~[?:?]
at org.eclipse.jetty.io.WriteFlusher.write(WriteFlusher.java:313) ~[?:?]
at org.eclipse.jetty.io.AbstractEndPoint.write(AbstractEndPoint.java:147) ~[?:?]
at org.eclipse.jetty.server.HttpConnection$SendCallback.process(HttpConnection.java:739) ~[?:?]
at org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:241) ~[?:?]
at org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:224) ~[?:?]
at org.eclipse.jetty.server.HttpConnection.send(HttpConnection.java:519) ~[?:?]
at org.eclipse.jetty.server.HttpChannel.sendResponse(HttpChannel.java:750) ~[?:?]
at org.eclipse.jetty.server.HttpChannel.write(HttpChannel.java:801) ~[?:?]
at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:235) ~[?:?]
at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:219) ~[?:?]
at org.eclipse.jetty.server.HttpOutput.flush(HttpOutput.java:355) ~[?:?]
at javax.imageio.stream.FileCacheImageOutputStream.flushBefore(FileCacheImageOutputStream.java:258) ~[?:?]
at com.sun.imageio.plugins.png.IDATOutputStream.finishChunk(PNGImageWriter.java:196) ~[?:?]
at com.sun.imageio.plugins.png.IDATOutputStream.finish(PNGImageWriter.java:254) ~[?:?]
at com.sun.imageio.plugins.png.PNGImageWriter.write_IDAT(PNGImageWriter.java:945) ~[?:?]
at com.sun.imageio.plugins.png.PNGImageWriter.write(PNGImageWriter.java:1158) ~[?:?]
at javax.imageio.ImageWriter.write(ImageWriter.java:615) ~[?:?]
at javax.imageio.ImageIO.doWrite(ImageIO.java:1612) ~[?:?]
at javax.imageio.ImageIO.write(ImageIO.java:1492) ~[?:?]
at org.eclipse.smarthome.ui.internal.chart.ChartServlet.doGet(ChartServlet.java:302) ~[?:?]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:687) ~[?:?]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) ~[?:?]
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:848) ~[?:?]
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:584) ~[?:?]
at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:71) ~[?:?]
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) ~[?:?]
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548) ~[?:?]
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226) ~[?:?]
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180) ~[?:?]
at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:284) ~[?:?]
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512) ~[?:?]
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) ~[?:?]
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112) ~[?:?]
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) ~[?:?]
at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:80) ~[?:?]
… 13 more
Caused by: java.io.IOException: Broken pipe
at sun.nio.ch.FileDispatcherImpl.writev0(Native Method) ~[?:?]
at sun.nio.ch.SocketDispatcher.writev(SocketDispatcher.java:51) ~[?:?]
at sun.nio.ch.IOUtil.write(IOUtil.java:148) ~[?:?]
at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:504) ~[?:?]
at org.eclipse.jetty.io.ChannelEndPoint.flush(ChannelEndPoint.java:179) ~[?:?]
at org.eclipse.jetty.io.WriteFlusher.flush(WriteFlusher.java:420) ~[?:?]
at org.eclipse.jetty.io.WriteFlusher.write(WriteFlusher.java:313) ~[?:?]
at org.eclipse.jetty.io.AbstractEndPoint.write(AbstractEndPoint.java:147) ~[?:?]
at org.eclipse.jetty.server.HttpConnection$SendCallback.process(HttpConnection.java:739) ~[?:?]
at org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:241) ~[?:?]
at org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:224) ~[?:?]
at org.eclipse.jetty.server.HttpConnection.send(HttpConnection.java:519) ~[?:?]
at org.eclipse.jetty.server.HttpChannel.sendResponse(HttpChannel.java:750) ~[?:?]
at org.eclipse.jetty.server.HttpChannel.write(HttpChannel.java:801) ~[?:?]
at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:235) ~[?:?]
at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:219) ~[?:?]
at org.eclipse.jetty.server.HttpOutput.flush(HttpOutput.java:355) ~[?:?]
at javax.imageio.stream.FileCacheImageOutputStream.flushBefore(FileCacheImageOutputStream.java:258) ~[?:?]
at com.sun.imageio.plugins.png.IDATOutputStream.finishChunk(PNGImageWriter.java:196) ~[?:?]
at com.sun.imageio.plugins.png.IDATOutputStream.finish(PNGImageWriter.java:254) ~[?:?]
at com.sun.imageio.plugins.png.PNGImageWriter.write_IDAT(PNGImageWriter.java:945) ~[?:?]
at com.sun.imageio.plugins.png.PNGImageWriter.write(PNGImageWriter.java:1158) ~[?:?]
at javax.imageio.ImageWriter.write(ImageWriter.java:615) ~[?:?]
at javax.imageio.ImageIO.doWrite(ImageIO.java:1612) ~[?:?]
at javax.imageio.ImageIO.write(ImageIO.java:1492) ~[?:?]
at org.eclipse.smarthome.ui.internal.chart.ChartServlet.doGet(ChartServlet.java:302) ~[?:?]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:687) ~[?:?]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) ~[?:?]
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:848) ~[?:?]
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:584) ~[?:?]
at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:71) ~[?:?]
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) ~[?:?]
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548) ~[?:?]
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226) ~[?:?]
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180) ~[?:?]
at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:284) ~[?:?]
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512) ~[?:?]
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) ~[?:?]
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112) ~[?:?]
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) ~[?:?]
at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:80) ~[?:?]
… 13 more
Do you see the difference?
There is an Image IO exception when writing the PNG file, caused by an EndOfFile exception, caused by an IO Exception (broken pipe). So I think openHAB fails to create the picture because of no data.
Is the rrd file written regularly? It should be in /var/lib/openhab2/persistence/rrd4j/, take a look at the modification time.
Hello Udo, thanks for this hint. I think you are fully right. The problem must be deeper searched by the used items.
After the update to version OH 2.2 all broke and I had to restore all thinks and Items. I did this partly by using the paper UI. Later I set org.eclipse.smarthome.links:autoLinks=false in the runtime.cfg to use the configurations in files.
It looks like I have a mixture in text files and the jsondb. Looking like there are an used items somewhere which I do not found to get rid of.
I made a test with an item which was detected automatically, this looks like working without exceptions.I will stop for today.
I am new in openhab for 8 weeks now, making tests and experiences.
Thanks for all trying to help.
Enjoy christmas !!!
I stop for today.
Regards
Hello, the problem is solved !!!
Thanks for all who tried to help. I want short explain why this error appears to help others:
The problem that the PNG file could not be created was the result of an ITEM / THING relationship
Thing was discovered by Paper UI with OH 2.2
Item was created by hand ( text file, coming from OH 2.1, here it worked)
The channel was wrong.
in ITEM file (fault config):
Switch NAME “NAME” { channel=“network:**device:**192_168_178_32:online” }
After new discovery it must be ( running config):
Switch NAME “NAME” { channel=“network:**pingdevice:**192_168_178_32:online” }
So it looks like, that there was a difference between OH 2.1 and OH 2.2 for the network channels
The new discovered thing with the network binding is a ping device, former a device.
Regards
I’m having the same problem since installing the 2.2 release version.
Mine is in-part related to the load on my NAS when it starts to happen (it’s doing backups; persistence loses communication with the database too), tho while the persistence recovers and works properly when resources become available again, the chart servlet doesn’t seem to.
It’s particularly annoying because there wasn’t the same issues in the pre-release 2.2 builds.
Hello Neil,my error was based on the network binding. I got the error if I made a mistake in the item configuration:
Switch NAME “NAME” { channel=“network:*device:*192_168_178_32:online” } WRONG
After new discovery it must be ( running config):
Switch NAME “NAME” { channel=“network:*pingdevice:*192_168_178_32:online” } OK!!!
AndI got the error too if the device was not reachable itself.
Looks like the PNG creating part was missing the data independent on the root cause. If the date was not there the error appeared.
I solved the topic first by changing to the right item configuration and by taking not reachable network devices out of the control.
Not sure what you did really. But it could be that the PNG file can not be created in addition to missing data too?
Regards
thanks. I saw your post and checked all of my network things & items, and I’m pretty sure it wasn’t that as i couldn’t find any errors.
I’m fairly sure my problem is being caused by too much load on the NAS that runs OH while some backups are happening (as it starts to happen each night). I’ve noticed that since the 2.2 release that OH is causing a greater load periodically than it used to (perhaps for these PNG writes for the chart), and I guess that greater load is too much when the backups are happening.
refresh changed from seconds to miliseconds.
i just discovered this. my refresh on all my charts was 300 (5m) and i just changed it to 300000
and no more error.
Hi,
I’m having same issue for all charts I’m generating now (just 2 total anyways :)) for 2 different items:
one for weather station created manually
one for binding from eBus created through discovery in PaperUI
no idea how to narrow down the problem. It appeared after 2.2 upgrade. Any hints? I haven’t pasted log as I don’t know if it would bring more details given others posted it and still suffer.
2018-01-26 17:07:35.509 [WARN ] [org.eclipse.jetty.server.HttpChannel] - //openhabianpi:8080/chart?items=Netatmo_regen_RAIN24&period=12h&random=221&service=rrd4j
javax.servlet.ServletException: javax.imageio.IIOException: I/O error writing PNG file!
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303) [90:org.eclipse.jetty.util:9.3.22.v20171030]
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148) [90:org.eclipse.jetty.util:9.3.22.v20171030]
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136) [90:org.eclipse.jetty.util:9.3.22.v20171030]
Caused by: javax.imageio.IIOException: I/O error writing PNG file!
at com.sun.imageio.plugins.png.PNGImageWriter.write(PNGImageWriter.java:1168) ~[?:?]
at javax.imageio.ImageWriter.write(ImageWriter.java:615) ~[?:?]
at javax.imageio.ImageIO.doWrite(ImageIO.java:1612) ~[?:?]
at javax.imageio.ImageIO.write(ImageIO.java:1492) ~[?:?]
at org.eclipse.smarthome.ui.internal.chart.ChartServlet.doGet(ChartServlet.java:302) ~[?:?]
... 13 more
at javax.imageio.stream.FileCacheImageOutputStream.flushBefore(FileCacheImageOutputStream.java:258) ~[?:?]
at com.sun.imageio.plugins.png.IDATOutputStream.finishChunk(PNGImageWriter.java:196) ~[?:?]
at com.sun.imageio.plugins.png.IDATOutputStream.finish(PNGImageWriter.java:254) ~[?:?]
at com.sun.imageio.plugins.png.PNGImageWriter.write_IDAT(PNGImageWriter.java:945) ~[?:?]
at com.sun.imageio.plugins.png.PNGImageWriter.write(PNGImageWriter.java:1158) ~[?:?]
at javax.imageio.ImageWriter.write(ImageWriter.java:615) ~[?:?]
at javax.imageio.ImageIO.doWrite(ImageIO.java:1612) ~[?:?]
at javax.imageio.ImageIO.write(ImageIO.java:1492) ~[?:?]
at org.eclipse.smarthome.ui.internal.chart.ChartServlet.doGet(ChartServlet.java:302) ~[?:?]
... 13 more
at sun.nio.ch.FileDispatcherImpl.writev0(Native Method) ~[?:?]
at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:504) ~[?:?]
at javax.imageio.stream.FileCacheImageOutputStream.flushBefore(FileCacheImageOutputStream.java:258) ~[?:?]
at com.sun.imageio.plugins.png.IDATOutputStream.finishChunk(PNGImageWriter.java:196) ~[?:?]
at com.sun.imageio.plugins.png.IDATOutputStream.finish(PNGImageWriter.java:254) ~[?:?]
at com.sun.imageio.plugins.png.PNGImageWriter.write_IDAT(PNGImageWriter.java:945) ~[?:?]
at com.sun.imageio.plugins.png.PNGImageWriter.write(PNGImageWriter.java:1158) ~[?:?]
at javax.imageio.ImageWriter.write(ImageWriter.java:615) ~[?:?]
at javax.imageio.ImageIO.doWrite(ImageIO.java:1612) ~[?:?]
at javax.imageio.ImageIO.write(ImageIO.java:1492) ~[?:?]
at org.eclipse.smarthome.ui.internal.chart.ChartServlet.doGet(ChartServlet.java:302) ~[?:?]
... 13 more
and some more
Caused by: java.io.IOException: Datenübergabe unterbrochen (broken pipe)
at sun.nio.ch.FileDispatcherImpl.writev0(Native Method) ~[?:?]
at sun.nio.ch.SocketDispatcher.writev(SocketDispatcher.java:51) ~[?:?]
at sun.nio.ch.IOUtil.write(IOUtil.java:148) ~[?:?]
at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:504) ~[?:?]
at org.eclipse.jetty.io.ChannelEndPoint.flush(ChannelEndPoint.java:179) ~[?:?]
at org.eclipse.jetty.io.WriteFlusher.flush(WriteFlusher.java:420) ~[?:?]
at org.eclipse.jetty.io.WriteFlusher.write(WriteFlusher.java:313) ~[?:?]
at org.eclipse.jetty.io.AbstractEndPoint.write(AbstractEndPoint.java:147) ~[?:?]
at org.eclipse.jetty.server.HttpConnection$SendCallback.process(HttpConnection.java:739) ~[?:?]
at org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:241) ~[?:?]
at org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:224) ~[?:?]
at org.eclipse.jetty.server.HttpConnection.send(HttpConnection.java:519) ~[?:?]
at org.eclipse.jetty.server.HttpChannel.sendResponse(HttpChannel.java:750) ~[?:?]
at org.eclipse.jetty.server.HttpChannel.write(HttpChannel.java:801) ~[?:?]
at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:235) ~[?:?]
at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:219) ~[?:?]
at org.eclipse.jetty.server.HttpOutput.flush(HttpOutput.java:355) ~[?:?]
at javax.imageio.stream.FileCacheImageOutputStream.flushBefore(FileCacheImageOutputStream.java:258) ~[?:?]
at com.sun.imageio.plugins.png.IDATOutputStream.finishChunk(PNGImageWriter.java:196) ~[?:?]
at com.sun.imageio.plugins.png.IDATOutputStream.finish(PNGImageWriter.java:254) ~[?:?]
at com.sun.imageio.plugins.png.PNGImageWriter.write_IDAT(PNGImageWriter.java:945) ~[?:?]
at com.sun.imageio.plugins.png.PNGImageWriter.write(PNGImageWriter.java:1158) ~[?:?]
at javax.imageio.ImageWriter.write(ImageWriter.java:615) ~[?:?]
at javax.imageio.ImageIO.doWrite(ImageIO.java:1612) ~[?:?]
at javax.imageio.ImageIO.write(ImageIO.java:1492) ~[?:?]
at org.eclipse.smarthome.ui.internal.chart.ChartServlet.doGet(ChartServlet.java:302) ~[?:?]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:687) ~[?:?]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) ~[?:?]
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:848) ~[?:?]
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:584) ~[?:?]
at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:71) ~[?:?]
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) ~[?:?]
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548) ~[?:?]
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226) ~[?:?]
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180) ~[?:?]
at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:284) ~[?:?]
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512) ~[?:?]
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) ~[?:?]
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112) ~[?:?]
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) ~[?:?]
at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:80) ~[?:?]
... 13 more
Strange thing is: the chart is drawn! So, please do not come up with “oh, just ignore it”. There are so many error lines (a lot more than above mentioned) I definetly will not ignore them…
I even deleted the corresponding rrd files and they were created again. so I dont think it is a rights issue. So, Data is available!
Does the error show up only for 12h duration?
broken pipe would lead to an unexpected exit of the data source, so either this graph is only partly drawn or the missing data is at the very end of the graph and you don’t see it missing.
My first idea would have been that the data source is corrupt, but as you already flushed the rrd files, I guess we can eliminate this. Another idea would be insufficient space to write the data, but again… I’m pretty sure that openHAB would stop working at all.
Maybe the load of drawing 5 chart items at once is too much (I don’t have experience of openHAB on Raspberry, so that’s only wild guessing) - keep in mind, that, although the graph is not visible, openHAB should generate the view.
@Udo_Hartmann I have a similar setup like @demlstda and I found a way how to reproduce these IIOExceptions.
Navigate to the sitemap which contains the multiple charts, only one of them is visible. If you now change the visibility of one chart by clicking on the related CHART_PERIOD button the first chart gets hidden and the second chart will be shown. Switch in a fast sequence and voilà you will see the exceptions in your log. This also could happen if you leave the sitemap.
I’ve also got the same issues.
I have 2 charts, both can be set visible over a selection which has 3 values. So i have 6 Chart items in my sitemap, whereas 2 of them have visibility at the same time.
@cweitkamp i could reproduce ii as well. The errors are only getting trowed when i hit another selection.
If it only loads the chart, for example by reopening the app, no error shows up.
If i put all 6 charts to the same selection (showing all 6 at a time) the errors also appear.
The errors are getting trowed after the picture was loaded on the site.
I could not solve this issue by myself, so i hope i gave some hints, i’d be happy to help more with some testing to get it resolved.