Error in Servoy Log with WebClient

Hello,

we have a web client solution running on a Linux Machine:

java.vm.name=Java HotSpot™ Client VM
java.vm.version=1.6.0_02-b05
Servoy version 3.5.5-build 518

There are repeating errors in the Servoy Log, where i’ve no idea where they come from.

One error is the following:

2008-04-15 10:51 	TaskExecuter[0] 	ERROR 	com.servoy.j2db.util.Debug 	Throwable
java.lang.NullPointerException
     at java.util.Arrays$ArrayList.<init>(Arrays.java:3357)
     at java.util.Arrays.asList(Arrays.java:3343)
     at com.servoy.j2db.dataprocessing.FoundSetManager.notifyDataChange(Unknown Source)
     at com.servoy.j2db.RemoteClient$5.run(Unknown Source)
     at com.servoy.j2db.util.as.run(Unknown Source)
     at java.lang.Thread.run(Thread.java:619)

Can somebody help me to find the problem?

Thanks a lot!

Greetings,
Alexander Stefan

another error message:

2008-04-15 13:12 	http-443-41 	ERROR 	com.servoy.j2db.util.Debug 	Throwable
java.lang.NullPointerException
     at com.servoy.j2db.dataprocessing.SQLSheet.getCalculationsDependingOnAggregates(Unknown Source)
     at com.servoy.j2db.dataprocessing.FoundSet.aj(Unknown Source)
     at com.servoy.j2db.dataprocessing.FoundSet.fireAggregateChange(Unknown Source)
     at com.servoy.j2db.dataprocessing.FoundSet.fireAggregateChange(Unknown Source)
     at com.servoy.j2db.dataprocessing.FoundSet.an(Unknown Source)
     at com.servoy.j2db.dataprocessing.FoundSet.makeEmpty(Unknown Source)
     at com.servoy.j2db.dataprocessing.FoundSet.loadExternalPKList(Unknown Source)
     at com.servoy.j2db.FormController.loadData(Unknown Source)
     at com.servoy.j2db.FormController$JSForm.js_loadRecords(Unknown Source)
     at inv4.invoke()
     at org.mozilla.javascript.FunctionObject.doInvoke(FunctionObject.java:550)
     at org.mozilla.javascript.FunctionObject.call(FunctionObject.java:466)
     at org.mozilla.javascript.ScriptRuntime.call(ScriptRuntime.java:1254)
     at org.mozilla.javascript.gen.c12305.call(btn_go:25)
     at org.mozilla.javascript.ScriptRuntime.call(ScriptRuntime.java:1254)
     at org.mozilla.javascript.gen.c12269.call(gSetzeZeitraum:55)
     at com.servoy.j2db.scripting.f.executeFunction(Unknown Source)
     at com.servoy.j2db.FormController.a(Unknown Source)
     at com.servoy.j2db.FormController.executeFunction(Unknown Source)
     at com.servoy.j2db.FormController$a.a(Unknown Source)
     at com.servoy.j2db.server.headlessclient.dataui.WebEventExecutor.fireActionCommand(Unknown Source)
     at com.servoy.j2db.server.headlessclient.dataui.ab$5.a(Unknown Source)
     at com.servoy.j2db.server.headlessclient.ServoyForm.processDelayedActions(Unknown Source)
     at com.servoy.j2db.server.headlessclient.dataui.WebEventExecutor.onEvent(Unknown Source)
     at com.servoy.j2db.server.headlessclient.dataui.b.onUpdate(Unknown Source)
     at org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior.onEvent(AjaxFormComponentUpdatingBehavior.java:141)
     at org.apache.wicket.ajax.AjaxEventBehavior.respond(AjaxEventBehavior.java:161)
     at org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:288)
     at org.apache.wicket.request.target.component.listener.BehaviorRequestTarget.processEvents(BehaviorRequestTarget.java:100)
     at org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:90)
     at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1166)
     at org.apache.wicket.RequestCycle.step(RequestCycle.java:1241)
     at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1316)
     at org.apache.wicket.RequestCycle.request(RequestCycle.java:493)
     at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:354)
     at org.apache.wicket.protocol.http.WicketServlet.doPost(WicketServlet.java:139)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
     at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
     at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
     at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
     at java.lang.Thread.run(Thread.java:619)

Does anybody know, what it means?

Thanks,
Alexander Stefan

2008-04-15 21:35 http-443-40 ERROR com.servoy.j2db.util.Debug couldn’t load dataset because foundset had editted records but couldn’t save it

How could it be, that editted records couldn’t be saved?

The code looks like this:

databaseManager.setAutoSave(false);
...
databaseManager.startTransaction();
var vResult = databaseManager.saveData();
if(vResult) {
    databaseManager.commitTransaction();
}
else {
    databaseManager.rollbackTransaction();
}

another issue:

2008-04-16 03:52 	http-443-43 	ERROR 	org.apache.wicket.RequestCycle 	No Page found for component [MarkupContainer [Component id = sv_6a78a346_60c6_4cc4_842a_acdc181b6503, page = <No Page>, path = 0:webform:servoywebform:View:sv_970d1acb_63d6_4287_9cb3_7948fa64786d:sv_6a78a346_60c6_4cc4_842a_acdc181b6503.aw]]
java.lang.IllegalStateException: No Page found for component [MarkupContainer [Component id = sv_6a78a346_60c6_4cc4_842a_acdc181b6503, page = <No Page>, path = 0:webform:servoywebform:View:sv_970d1acb_63d6_4287_9cb3_7948fa64786d:sv_6a78a346_60c6_4cc4_842a_acdc181b6503.aw]]
     at org.apache.wicket.Component.getPage(Component.java:1651)
     at org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:286)
     at org.apache.wicket.request.target.component.listener.BehaviorRequestTarget.processEvents(BehaviorRequestTarget.java:100)
     at org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:90)
     at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1166)
     at org.apache.wicket.RequestCycle.step(RequestCycle.java:1241)
     at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1316)
     at org.apache.wicket.RequestCycle.request(RequestCycle.java:493)
     at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:354)
     at org.apache.wicket.protocol.http.WicketServlet.doPost(WicketServlet.java:139)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
     at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
     at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
     at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
     at java.lang.Thread.run(Thread.java:619)

These errors are all produced by Internet Explorer 6 (which our customer has to use)

Can somebody help me?

Do you know how any of these problems can be reproduced?
The first NullPointerException is an easy fix, but it would turn into another nicer error message. It would be very helpful if we could reproduce these…

Please add cases for the second exception (NullPointer) and last exception. We will need a way to reproduce them (sample solution/usecase) in order to see what the problem is…

As for the first exception - it is now fixed and it happened when a data change in one client was ignored by another client that had a transaction started.

LXS:

2008-04-15 21:35 http-443-40 ERROR com.servoy.j2db.util.Debug couldn’t load dataset because foundset had editted records but couldn’t save it

How could it be, that editted records couldn’t be saved?

The code looks like this:

databaseManager.setAutoSave(false);


databaseManager.startTransaction();
var vResult = databaseManager.saveData();
if(vResult) {
databaseManager.commitTransaction();
}
else {
databaseManager.rollbackTransaction();
}

Lxs,

When you have a foundset that has changes (edit records) and autosave is off, you cannot call loadRecords with a PK list or an sql query, the call will return false and the above message is logged.

This restriction is needed because otherwise the foundset may loose reference to the edited record when the PK of an edited record is not part of the newly loaded set.

Rob