I get the following error when opening a users news object:
------------------------------------------
java.lang.NullPointerException
at jease.cms.domain.Factory.sync(Factory.java:73)
at jease.cms.domain.Factory.getProperties(Factory.java:62)
at
jease.cms.web.content.editor.ContentEditor.doLoad(ContentEditor.java:147)
at jfix.zk.ObjectEditor.invokeLoad(ObjectEditor.java:116)
at jfix.zk.ObjectEditor.refresh(ObjectEditor.java:98)
at
jease.cms.web.content.editor.ContentEditor.refresh(ContentEditor.java:102)
at jease.cms.web.content.editor.ContentEditor
$6.actionPerformed(ContentEditor.java:254)
at jfix.zk.Modal$3.onEvent(Modal.java:87)
at org.zkoss.zul.impl.MessageboxDlg
$Button.onClick(MessageboxDlg.java:172)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.zkoss.zk.ui.impl.EventProcessor.process0(EventProcessor.java:205)
at org.zkoss.zk.ui.impl.EventProcessor.process(EventProcessor.java:138)
at
org.zkoss.zk.ui.impl.UiEngineImpl.processEvent(UiEngineImpl.java:1636)
at org.zkoss.zk.ui.impl.UiEngineImpl.process(UiEngineImpl.java:1420)
at org.zkoss.zk.ui.impl.UiEngineImpl.execUpdate(UiEngineImpl.java:1133)
at
org.zkoss.zk.au.http.DHtmlUpdateServlet.process(DHtmlUpdateServlet.java:567)
at
org.zkoss.zk.au.http.DHtmlUpdateServlet.doGet(DHtmlUpdateServlet.java:462)
at
org.zkoss.zk.au.http.DHtmlUpdateServlet.doPost(DHtmlUpdateServlet.java:470)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at
jease.cms.web.servlet.JeaseController.doFilter(JeaseController.java:204)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:185)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:151)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:269)
at org.apache.coyote.AbstractProtocol
$AbstractConnectionHandler.process(AbstractProtocol.java:515)
at org.apache.tomcat.util.net.JIoEndpoint
$SocketProcessor.run(JIoEndpoint.java:302)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor
$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:636)
------------------------------------------
I find the following error in the log at the time when the object was
changed:
------------------------------------------
12.09.2011 11:59:21 org.apache.catalina.core.ApplicationDispatcher
invoke
SCHWERWIEGEND: Servlet.service() for servlet jsp threw exception
java.net.SocketException: Connection reset
at
java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:113)
at
java.net.SocketOutputStream.write(SocketOutputStream.java:153)
at
org.apache.coyote.http11.InternalOutputBuffer.realWriteBytes(InternalOutputBuffer.java:218)
at
org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:437)
at
org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:351)
at org.apache.coyote.http11.InternalOutputBuffer
$OutputStreamOutputBuffer.doWrite(InternalOutputBuffer.java:243)
at
org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFilter.java:119)
at
org.apache.coyote.http11.AbstractOutputBuffer.doWrite(AbstractOutputBuffer.java:190)
at org.apache.coyote.Response.doWrite(Response.java:533)
at
org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:364)
at
org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:437)
at
org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:351)
at
org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:392)
at
org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:381)
at
org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:93)
at org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:1026)
at org.apache.commons.io.IOUtils.copy(IOUtils.java:999)
at jfix.servlet.Servlets.write(Servlets.java:47)
at
org.apache.jsp.site.domain.File_jsp._jspService(File_jsp.java:66)
at
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:419)
at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
at
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at jease.site.Controller.doFilter(Controller.java:134)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
at
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:471)
at
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:402)
at
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:329)
at
org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:745)
at
org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:716)
at
org.apache.jsp.site.Dispatcher_jsp._jspService(Dispatcher_jsp.java:108)
at
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:419)
at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
at
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at jease.site.Controller.doFilter(Controller.java:134)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
at
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:471)
at
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:402)
at
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:329)
at jease.site.Controller.doFilter(Controller.java:149)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:399)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:317)
at org.apache.coyote.http11.Http11Protocol
$Http11ConnectionHandler.process(Http11Protocol.java:204)
at org.apache.tomcat.util.net.JIoEndpoint
$SocketProcessor.run(JIoEndpoint.java:311)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor
$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:636)
------------------------------------------
I moved the news object to trash and created a new one with the same
content, which works fine. Any ideas?
Ciao!
> I get the following error when opening a users news object:
>
> ------------------------------------------
> java.lang.NullPointerException
> at jease.cms.domain.Factory.sync(Factory.java:73)
> at jease.cms.domain.Factory.getProperties(Factory.java:62)
somehow a null is stored in the property array of the news object. No
idea what might cause this... I've just checked in two changes which
performs additional null checks so such a null property won't create
the NPE... but this is no fix for the actual cause (which may be hard
to reproduce).
Maybe you can setup a copy of your Jease instance and perform some
property related operations (like adding / removing properties
(with/without Factories), starting/stopping the server in between and
so on). If you find a reproducable schema for creating the NPE, I'm
sure I can fix it.... without a little bit of help of you (or others)
I'm a little bit lost here, because I've lots of other work to do.
> I find the following error in the log at the time when the object was
> changed:
>
> ------------------------------------------
> 12.09.2011 11:59:21 org.apache.catalina.core.ApplicationDispatcher
> invoke
> SCHWERWIEGEND: Servlet.service() for servlet jsp threw exception
> java.net.SocketException: Connection reset
This is unrelated... Tomcat throws this error if a browser closes the
connection before the response is fully written. Maybe Tomcat can be
configured to supress this annoying log... if anyone has an idea,
please share it.
Cheers, Maik
Thank you for your very great support! I'll install your fix and give
you some feedback.
Ciao
Marcus