Issue serving on the fly compiled scss in 7.4.0

Hi,

We currently have an scss styles file that is compiled on the fly in our development environment (it is pre-compiled for production). This seems to fail on the first attempt of loading with the following exception:

Feb 20, 2015 9:24:34 AM com.vaadin.server.VaadinServlet serveOnTheFlyCompiledScss WARNING: Could not read persisted scss cache java.lang.NullPointerException at java.io.File.<init>(File.java:277) at com.vaadin.server.VaadinServlet.loadPersistedScssCache(VaadinServlet.java:989) at com.vaadin.server.VaadinServlet.serveOnTheFlyCompiledScss(VaadinServlet.java:957) at com.vaadin.server.VaadinServlet.serveStaticResourcesInVAADIN(VaadinServlet.java:734) at com.vaadin.server.VaadinServlet.serveStaticResources(VaadinServlet.java:704) at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:343) at javax.servlet.http.HttpServlet.service(HttpServlet.java:770) at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263) at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:178) at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:62) at waffle.servlet.NegotiateSecurityFilter.doFilterPrincipal(NegotiateSecurityFilter.java:235) at waffle.servlet.NegotiateSecurityFilter.doFilter(NegotiateSecurityFilter.java:83) at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118) at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1465) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:229) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) at org.eclipse.jetty.server.Server.handle(Server.java:370) at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489) at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:949) at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1011) at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644) at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82) at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668) at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) at java.lang.Thread.run(Thread.java:745) This used to work fine on 7.3.9. It also works if the page is then refreshed. Any ideas?

Any update on this?

I’m getting the same problem. Does anyone know why this might be happening in 7.4.0?

Same problem here with version 7.4.1. It was working fine with 7.3.3

WARNING: Error for /VAADIN/themes/ticketinputsystem/styles.css
java.lang.NoClassDefFoundError: java.io.FileOutputStream is a restricted class. Please see the Google  App Engine developer's guide for more details.
    at com.google.appengine.tools.development.agent.runtime.Runtime.reject(Runtime.java:52)
    at com.google.gwt.thirdparty.guava.common.io.Files$FileByteSink.openStream(Files.java:201)
    at com.google.gwt.thirdparty.guava.common.io.Files$FileByteSink.openStream(Files.java:189)
    at com.google.gwt.thirdparty.guava.common.io.ByteSink$AsCharSink.openStream(ByteSink.java:163)
    at com.google.gwt.thirdparty.guava.common.io.CharSink.write(CharSink.java:110)
    at com.google.gwt.thirdparty.guava.common.io.Files.write(Files.java:477)
    at com.vaadin.server.VaadinServlet.persistCacheEntry(VaadinServlet.java:1304)
    at com.vaadin.server.VaadinServlet.serveOnTheFlyCompiledScss(VaadinServlet.java:966)
    at com.vaadin.server.VaadinServlet.serveStaticResourcesInVAADIN(VaadinServlet.java:734)
    at com.vaadin.server.VaadinServlet.serveStaticResources(VaadinServlet.java:699)
    at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:343)
    at com.vaadin.server.GAEVaadinServlet.service(GAEVaadinServlet.java:189)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)
    at com.google.appengine.api.socket.dev.DevSocketFilter.doFilter(DevSocketFilter.java:74)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at com.google.appengine.tools.development.ResponseRewriterFilter.doFilter(ResponseRewriterFilter.java:127)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at com.google.appengine.tools.development.HeaderVerificationFilter.doFilter(HeaderVerificationFilter.java:34)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:63)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:125)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at com.google.appengine.tools.development.DevAppServerModulesFilter.doDirectRequest(DevAppServerModulesFilter.java:366)
    at com.google.appengine.tools.development.DevAppServerModulesFilter.doDirectModuleRequest(DevAppServerModulesFilter.java:349)
    at com.google.appengine.tools.development.DevAppServerModulesFilter.doFilter(DevAppServerModulesFilter.java:116)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
    at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
    at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
    at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
    at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
    at com.google.appengine.tools.development.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:98)
    at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    at com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:491)
    at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    at org.mortbay.jetty.Server.handle(Server.java:326)
    at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
    at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:923)
    at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:547)
    at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
    at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
    at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
    at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
5711msStarting application ROOT-2521314
5726msUsing theme: ticketinputsystem
5730msVaadin application servlet version: 7.4.1
5741msSetting hearbeat interval to 300sec.
5746msJSON parsing took 0ms
5748msAssuming CSS loading is not complete, postponing render phase. (.v-loading-indicator height == 0)
5752msCould not determine ApplicationConnection for Overlay. Overlay will be attached directly to the root panel
10748msCSS files may have not loaded properly.
<context-param>
      <description>
      Vaadin production mode</description>
      <param-name>productionMode</param-name>
      <param-value>false</param-value>
  </context-param>

Vaadin 7.5.4. The problem is still here

Warning:   Could not read persisted scss cache
java.lang.NullPointerException
    at java.io.File.<init>(File.java:277)
    at com.vaadin.server.VaadinServlet.loadPersistedScssCache(VaadinServlet.java:1052)
    at com.vaadin.server.VaadinServlet.serveOnTheFlyCompiledScss(VaadinServlet.java:1020)
    at com.vaadin.server.VaadinServlet.serveStaticResourcesInVAADIN(VaadinServlet.java:738)
    at com.vaadin.server.VaadinServlet.serveStaticResources(VaadinServlet.java:709)
    at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:344)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
...

I vote for ticket
https://dev.vaadin.com/ticket/17455

Is this issue resolved? I am facing same on Weblogic 12c

[ServletContext@1661226912[app: module:.war path:null spec-version:3.0]
] Servlet failed with an Exception java.lang.NullPointerException at com.vaadin.server.VaadinServlet.persistCacheEntry(VaadinServlet.java:1349) at com.vaadin.server.VaadinServlet.serveOnTheFlyCompiledScss(VaadinServlet.java:1029) at com.vaadin.server.VaadinServlet.serveStaticResourcesInVAADIN(VaadinServlet.java:738) at com.vaadin.server.VaadinServlet.serveStaticResources(VaadinServlet.java:709) at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:344) at javax.servlet.http.HttpServlet.service(HttpServlet.java:844) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:280) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:254) at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:136) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:346) at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:25) at