You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@isis.apache.org by mi...@xup.nl on 2012/09/04 16:26:34 UTC
Oh oh, NullPointerException after switching to isis trunk
Hi Folks,
After switching from 0.2.0 to isis trunk (0.3.1 snapshot) I run into
an NPE (See stacktrace below). I probably did something wrong or
forgot something, but I have no clue what. HELP! :-(
Everything seems to work until I hit the "Ok" button when trying to
create a new object.
BTW. I switched back to in-memory persistor (from sql). What is
required to get the JDO persistor running or to get the sql persistor
back?
Regards,
Minto
java.lang.NullPointerException
at
org.apache.isis.core.metamodel.adapter.version.ConcurrencyException.buildMessage(ConcurrencyException.java:36)
at
org.apache.isis.core.metamodel.adapter.version.ConcurrencyException.(ConcurrencyException.java:50)
at
org.apache.isis.runtimes.dflt.runtime.persistence.adapter.PojoAdapter.checkLock(PojoAdapter.java:337)
at
org.apache.isis.viewer.html.context.PersistentRootAdapterMapping.checkVersion(PersistentRootAdapterMapping.java:56)
at
org.apache.isis.viewer.html.context.Context.getMappedObject(Context.java:284)
at
org.apache.isis.viewer.html.action.view.ObjectViewAbstract.execute(ObjectViewAbstract.java:39)
at
org.apache.isis.viewer.html.servlet.internal.WebController.runAction(WebController.java:383)
at
org.apache.isis.viewer.html.servlet.internal.WebController.generatePage(WebController.java:286)
at
org.apache.isis.viewer.html.servlet.ControllerServlet.processRequest(ControllerServlet.java:129)
at
org.apache.isis.viewer.html.servlet.ControllerServlet.processRequest(ControllerServlet.java:104)
at
org.apache.isis.viewer.html.servlet.ControllerServlet.doPost(ControllerServlet.java:82)
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:305)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at
org.apache.isis.runtimes.dflt.webapp.IsisSessionFilter$SessionState.handle(IsisSessionFilter.java:383)
at
org.apache.isis.runtimes.dflt.webapp.IsisSessionFilter.doFilter(IsisSessionFilter.java:404)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at
org.apache.isis.runtimes.dflt.webapp.IsisSessionFilter$SessionState$1.handle(IsisSessionFilter.java:315)
at
org.apache.isis.runtimes.dflt.webapp.IsisSessionFilter.doFilter(IsisSessionFilter.java:404)
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:225)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1001)
at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
at
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
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:722)
Re: Oh oh, NullPointerException after switching to isis trunk
Posted by mi...@xup.nl.
Hi Dan,
Also have a look at ISIS-265 that I just created. It also contains a patch.
Regards,
Minto
Quoting Dan Haywood <da...@haywood-associates.co.uk>:
> Thanks for taking the time to document this; I'll look at it hopefully
> later today.
>
>
> On 5 September 2012 09:54, <mi...@xup.nl> wrote:
>
>> Hi folks,
>>
>> The examples in trunk show this exact same behavior.
>>
>> It seems the examples have been neglected a little bit, since I first had
>> to upgrade them from 0.3.0 --> 0.3.1. The attached patch shows the changes
>> I made.
>>
>> Scenario to get to the NPE:
>> 1) apply patch
>> 2) mvn clean install - compiles claims example till html-viewer (json
>> viewer fails)
>> 3) cd html-viewer
>> 4) mvn jetty:run
>> 5) open browser in
>> http://localhost:8080/claims-**viewer-html<http://localhost:8080/claims-viewer-html>
>> 6) login
>> 7) click Employees
>> 8) click New Employee
>> 9) Enter a name
>> 10) click save ----> NPE
>>
>> Regards,
>>
>> Minto
>>
>>
>> Quoting minto@xup.nl:
>>
>> Hi Folks,
>>>
>>> After switching from 0.2.0 to isis trunk (0.3.1 snapshot) I run into an
>>> NPE (See stacktrace below). I probably did something wrong or forgot
>>> something, but I have no clue what. HELP! :-(
>>>
>>> Everything seems to work until I hit the "Ok" button when trying to
>>> create a new object.
>>>
>>> BTW. I switched back to in-memory persistor (from sql). What is required
>>> to get the JDO persistor running or to get the sql persistor back?
>>>
>>> Regards,
>>>
>>> Minto
>>>
>>> java.lang.NullPointerException
>>> at org.apache.isis.core.**metamodel.adapter.version.**
>>> ConcurrencyException.**buildMessage(**ConcurrencyException.java:36)
>>> at org.apache.isis.core.**metamodel.adapter.version.**
>>> ConcurrencyException.(**ConcurrencyException.java:50)
>>> at org.apache.isis.runtimes.dflt.**runtime.persistence.adapter.**
>>> PojoAdapter.checkLock(**PojoAdapter.java:337)
>>> at org.apache.isis.viewer.html.**context.**
>>> PersistentRootAdapterMapping.**checkVersion(**
>>> PersistentRootAdapterMapping.**java:56)
>>> at org.apache.isis.viewer.html.**context.Context.**
>>> getMappedObject(Context.java:**284)
>>> at org.apache.isis.viewer.html.**action.view.**
>>> ObjectViewAbstract.execute(**ObjectViewAbstract.java:39)
>>> at org.apache.isis.viewer.html.**servlet.internal.**
>>> WebController.runAction(**WebController.java:383)
>>> at org.apache.isis.viewer.html.**servlet.internal.**
>>> WebController.generatePage(**WebController.java:286)
>>> at org.apache.isis.viewer.html.**servlet.ControllerServlet.**
>>> processRequest(**ControllerServlet.java:129)
>>> at org.apache.isis.viewer.html.**servlet.ControllerServlet.**
>>> processRequest(**ControllerServlet.java:104)
>>> at org.apache.isis.viewer.html.**servlet.ControllerServlet.**
>>> doPost(ControllerServlet.java:**82)
>>> 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:**305)
>>> at org.apache.catalina.core.**ApplicationFilterChain.**doFilter(*
>>> *ApplicationFilterChain.java:**210)
>>> at org.apache.isis.runtimes.dflt.**webapp.IsisSessionFilter$**
>>> SessionState.handle(**IsisSessionFilter.java:383)
>>> at org.apache.isis.runtimes.dflt.**webapp.IsisSessionFilter.**
>>> doFilter(IsisSessionFilter.**java:404)
>>> at org.apache.catalina.core.**ApplicationFilterChain.**
>>> internalDoFilter(**ApplicationFilterChain.java:**243)
>>> at org.apache.catalina.core.**ApplicationFilterChain.**doFilter(*
>>> *ApplicationFilterChain.java:**210)
>>> at org.apache.isis.runtimes.dflt.**webapp.IsisSessionFilter$**
>>> SessionState$1.handle(**IsisSessionFilter.java:315)
>>> at org.apache.isis.runtimes.dflt.**webapp.IsisSessionFilter.**
>>> doFilter(IsisSessionFilter.**java:404)
>>> 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:225)
>>> at org.apache.catalina.core.**StandardContextValve.invoke(**
>>> StandardContextValve.java:123)
>>> at org.apache.catalina.**authenticator.**
>>> AuthenticatorBase.invoke(**AuthenticatorBase.java:472)
>>> at org.apache.catalina.core.**StandardHostValve.invoke(**
>>> StandardHostValve.java:168)
>>> at org.apache.catalina.valves.**ErrorReportValve.invoke(**
>>> ErrorReportValve.java:98)
>>> at org.apache.catalina.valves.**AccessLogValve.invoke(**
>>> AccessLogValve.java:927)
>>> at org.apache.catalina.core.**StandardEngineValve.invoke(**
>>> StandardEngineValve.java:118)
>>> at org.apache.catalina.connector.**CoyoteAdapter.service(**
>>> CoyoteAdapter.java:407)
>>> at org.apache.coyote.http11.**AbstractHttp11Processor.**process(*
>>> *AbstractHttp11Processor.java:**1001)
>>> at org.apache.coyote.**AbstractProtocol$**
>>> AbstractConnectionHandler.**process(AbstractProtocol.java:**585)
>>> at org.apache.tomcat.util.net.**JIoEndpoint$SocketProcessor.**
>>> run(JIoEndpoint.java:312)
>>> 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:722)
>>>
>>>
>>
>
Re: Oh oh, NullPointerException after switching to isis trunk
Posted by Dan Haywood <da...@haywood-associates.co.uk>.
Thanks for taking the time to document this; I'll look at it hopefully
later today.
On 5 September 2012 09:54, <mi...@xup.nl> wrote:
> Hi folks,
>
> The examples in trunk show this exact same behavior.
>
> It seems the examples have been neglected a little bit, since I first had
> to upgrade them from 0.3.0 --> 0.3.1. The attached patch shows the changes
> I made.
>
> Scenario to get to the NPE:
> 1) apply patch
> 2) mvn clean install - compiles claims example till html-viewer (json
> viewer fails)
> 3) cd html-viewer
> 4) mvn jetty:run
> 5) open browser in http://localhost:8080/claims-**viewer-html<http://localhost:8080/claims-viewer-html>
> 6) login
> 7) click Employees
> 8) click New Employee
> 9) Enter a name
> 10) click save ----> NPE
>
> Regards,
>
> Minto
>
>
> Quoting minto@xup.nl:
>
> Hi Folks,
>>
>> After switching from 0.2.0 to isis trunk (0.3.1 snapshot) I run into an
>> NPE (See stacktrace below). I probably did something wrong or forgot
>> something, but I have no clue what. HELP! :-(
>>
>> Everything seems to work until I hit the "Ok" button when trying to
>> create a new object.
>>
>> BTW. I switched back to in-memory persistor (from sql). What is required
>> to get the JDO persistor running or to get the sql persistor back?
>>
>> Regards,
>>
>> Minto
>>
>> java.lang.NullPointerException
>> at org.apache.isis.core.**metamodel.adapter.version.**
>> ConcurrencyException.**buildMessage(**ConcurrencyException.java:36)
>> at org.apache.isis.core.**metamodel.adapter.version.**
>> ConcurrencyException.(**ConcurrencyException.java:50)
>> at org.apache.isis.runtimes.dflt.**runtime.persistence.adapter.**
>> PojoAdapter.checkLock(**PojoAdapter.java:337)
>> at org.apache.isis.viewer.html.**context.**
>> PersistentRootAdapterMapping.**checkVersion(**
>> PersistentRootAdapterMapping.**java:56)
>> at org.apache.isis.viewer.html.**context.Context.**
>> getMappedObject(Context.java:**284)
>> at org.apache.isis.viewer.html.**action.view.**
>> ObjectViewAbstract.execute(**ObjectViewAbstract.java:39)
>> at org.apache.isis.viewer.html.**servlet.internal.**
>> WebController.runAction(**WebController.java:383)
>> at org.apache.isis.viewer.html.**servlet.internal.**
>> WebController.generatePage(**WebController.java:286)
>> at org.apache.isis.viewer.html.**servlet.ControllerServlet.**
>> processRequest(**ControllerServlet.java:129)
>> at org.apache.isis.viewer.html.**servlet.ControllerServlet.**
>> processRequest(**ControllerServlet.java:104)
>> at org.apache.isis.viewer.html.**servlet.ControllerServlet.**
>> doPost(ControllerServlet.java:**82)
>> 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:**305)
>> at org.apache.catalina.core.**ApplicationFilterChain.**doFilter(*
>> *ApplicationFilterChain.java:**210)
>> at org.apache.isis.runtimes.dflt.**webapp.IsisSessionFilter$**
>> SessionState.handle(**IsisSessionFilter.java:383)
>> at org.apache.isis.runtimes.dflt.**webapp.IsisSessionFilter.**
>> doFilter(IsisSessionFilter.**java:404)
>> at org.apache.catalina.core.**ApplicationFilterChain.**
>> internalDoFilter(**ApplicationFilterChain.java:**243)
>> at org.apache.catalina.core.**ApplicationFilterChain.**doFilter(*
>> *ApplicationFilterChain.java:**210)
>> at org.apache.isis.runtimes.dflt.**webapp.IsisSessionFilter$**
>> SessionState$1.handle(**IsisSessionFilter.java:315)
>> at org.apache.isis.runtimes.dflt.**webapp.IsisSessionFilter.**
>> doFilter(IsisSessionFilter.**java:404)
>> 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:225)
>> at org.apache.catalina.core.**StandardContextValve.invoke(**
>> StandardContextValve.java:123)
>> at org.apache.catalina.**authenticator.**
>> AuthenticatorBase.invoke(**AuthenticatorBase.java:472)
>> at org.apache.catalina.core.**StandardHostValve.invoke(**
>> StandardHostValve.java:168)
>> at org.apache.catalina.valves.**ErrorReportValve.invoke(**
>> ErrorReportValve.java:98)
>> at org.apache.catalina.valves.**AccessLogValve.invoke(**
>> AccessLogValve.java:927)
>> at org.apache.catalina.core.**StandardEngineValve.invoke(**
>> StandardEngineValve.java:118)
>> at org.apache.catalina.connector.**CoyoteAdapter.service(**
>> CoyoteAdapter.java:407)
>> at org.apache.coyote.http11.**AbstractHttp11Processor.**process(*
>> *AbstractHttp11Processor.java:**1001)
>> at org.apache.coyote.**AbstractProtocol$**
>> AbstractConnectionHandler.**process(AbstractProtocol.java:**585)
>> at org.apache.tomcat.util.net.**JIoEndpoint$SocketProcessor.**
>> run(JIoEndpoint.java:312)
>> 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:722)
>>
>>
>
Re: Oh oh, NullPointerException after switching to isis trunk
Posted by mi...@xup.nl.
Hi folks,
The examples in trunk show this exact same behavior.
It seems the examples have been neglected a little bit, since I first
had to upgrade them from 0.3.0 --> 0.3.1. The attached patch shows the
changes I made.
Scenario to get to the NPE:
1) apply patch
2) mvn clean install - compiles claims example till html-viewer (json
viewer fails)
3) cd html-viewer
4) mvn jetty:run
5) open browser in http://localhost:8080/claims-viewer-html
6) login
7) click Employees
8) click New Employee
9) Enter a name
10) click save ----> NPE
Regards,
Minto
Quoting minto@xup.nl:
> Hi Folks,
>
> After switching from 0.2.0 to isis trunk (0.3.1 snapshot) I run into
> an NPE (See stacktrace below). I probably did something wrong or
> forgot something, but I have no clue what. HELP! :-(
>
> Everything seems to work until I hit the "Ok" button when trying to
> create a new object.
>
> BTW. I switched back to in-memory persistor (from sql). What is
> required to get the JDO persistor running or to get the sql
> persistor back?
>
> Regards,
>
> Minto
>
> java.lang.NullPointerException
> at
> org.apache.isis.core.metamodel.adapter.version.ConcurrencyException.buildMessage(ConcurrencyException.java:36)
> at
> org.apache.isis.core.metamodel.adapter.version.ConcurrencyException.(ConcurrencyException.java:50)
> at
> org.apache.isis.runtimes.dflt.runtime.persistence.adapter.PojoAdapter.checkLock(PojoAdapter.java:337)
> at
> org.apache.isis.viewer.html.context.PersistentRootAdapterMapping.checkVersion(PersistentRootAdapterMapping.java:56)
> at
> org.apache.isis.viewer.html.context.Context.getMappedObject(Context.java:284)
> at
> org.apache.isis.viewer.html.action.view.ObjectViewAbstract.execute(ObjectViewAbstract.java:39)
> at
> org.apache.isis.viewer.html.servlet.internal.WebController.runAction(WebController.java:383)
> at
> org.apache.isis.viewer.html.servlet.internal.WebController.generatePage(WebController.java:286)
> at
> org.apache.isis.viewer.html.servlet.ControllerServlet.processRequest(ControllerServlet.java:129)
> at
> org.apache.isis.viewer.html.servlet.ControllerServlet.processRequest(ControllerServlet.java:104)
> at
> org.apache.isis.viewer.html.servlet.ControllerServlet.doPost(ControllerServlet.java:82)
> 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:305)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
> at
> org.apache.isis.runtimes.dflt.webapp.IsisSessionFilter$SessionState.handle(IsisSessionFilter.java:383)
> at
> org.apache.isis.runtimes.dflt.webapp.IsisSessionFilter.doFilter(IsisSessionFilter.java:404)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
> at
> org.apache.isis.runtimes.dflt.webapp.IsisSessionFilter$SessionState$1.handle(IsisSessionFilter.java:315)
> at
> org.apache.isis.runtimes.dflt.webapp.IsisSessionFilter.doFilter(IsisSessionFilter.java:404)
> 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:225)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
> at
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
> at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
> at
> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1001)
> at
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
> at
> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
> 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:722)
>