IO Error with PNG files after update to OH2.2( I/O error writing PNG file!)

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” {

              Chart item=Temperature2 label="Temperature" period=12h refresh=60
       
      }
      

}

  • Persistence configuration related to the issue

  • If logs where generated please post these here using code fences:
    Regards to all who can help

But this is not the complete error, is it?

Please also use code fences to post logs:
```

Your code or log goes here

```

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? :wink:

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

Ouch. That’s bad (at least if an item is defined twice)

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

  1. Thing was discovered by Paper UI with OH 2.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.

1 Like

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.

Hi,

I’m having the same issue…

this is the error from the log:

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

This is how it looks in the sitemap:slight_smile:

        Switch item=CHART_PERIOD label="Zeitspanne" mappings=[3="1h", 0="4h", 1="12h", 4="24h", 2="Woche"]
        Chart item=na1 period=h refresh=120000 visibility=[CHART_PERIOD==3]
        Chart item=na1 period=4h refresh=120000 visibility=[CHART_PERIOD==0]
        Chart item=na1 period=12h refresh=120000 visibility=[CHART_PERIOD==1]
        Chart item=na1 period=W refresh=120000 visibility=[CHART_PERIOD==2]
        Chart item=na1 period=24h refresh=120000 visibility=[CHART_PERIOD==4]

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!

Any ideas appreciated.

did anyone tried OH2 Snapshot to solve this?

BTW: Using openhabian 1.4 / stable

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.

Hi Udo,

thanks for you reply and suggestions:

  • I will watch it closer, but I guess the error comes up for more then 12h.
  • Space: enough
  • 5 chart items: I will check and will remove them step by step.

But it worked w/o any problems in the past (before openHabian and OH 2.2.0).

Best regards
Stefan

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

Did somebody already filled an issue?

1 Like

Hi Nico,

Thanks for your confirmation.

I did. See IO Error with PNG files after update to OH2.2( I/O error writing PNG file!)

Since the old issue was closed without any notice, I opened a new bug report on github:
https://github.com/openhab/openhab-distro/issues/684