Servoy 7.4.4 release candidate

We are pleased to announce the availability of Servoy 7.4.4 release candidate (releaseNumber 2038).

This version is available through the auto-update.
Always make a backup of your current Servoy installation (directory and database) before installing/upgrading.
To update a Servoy eclipse open “Check for updates” via help menu.

The issues addressed, since Servoy 7.4.3 release:

General

[fix] SVY-7315 custom valuelist with ^ for null doesnt select with radiohead
[fix] SVY-7461 Loading foundset with wrong data
[fix] SVY-7896 Error when leave primary key field
[fix] SVY-7969 Error bitIndex <0: -1
[fix/enh] SVY-7976 copyMatchingFields()
[fix] SVY-8064 Getting in-memory data sources doesn’t work as expected
[fix] SVY-8121 Problem with number precision

WebClient

[fix] SVY-6377 Allow styling of IMAGE_MEDIA component
[fix] SVY-6636 Scrollable listview in some cases becomes pagable
[fix] SVY-7489 weird error
[fix] SVY-7860 APP_UI_PROPERTY.TABLEVIEW_WC_DEFAULT_SCROLLABLE does not work on IE 10
[fix] SVY-7768 Servoy behaves differently when using wireless connection
[fix] SVY-7785 format all lowercase not working in browser
[fix] SVY-7862 Internal error: Error rendering the page … java.lang.NullPointerException
[fix] SVY-7951 webclient short url syntax does not work when using nice url setting
[fix] SVY-7956 labelfor image does not change with enable/disable element
[fix] SVY-8004 Function ‘getWindow’ doesn’t return current window object in ‘onHide’ event
[fix] SVY-8027 Fields with calculations as dataproviders and onRender events does not show their value
[fix] SVY-8042 When I adjust the bordercolor of a combox in runtime the set anchoring is not respected anymore
[fix] SVY-8073 Implement the ability to disable shortcuts for record navigation

Smart Client

[fix] SVY-7749 java.lang.IllegalArgumentException: Validation failed for ‘productid’, with value: null
[fix] SVY-7859 spinner value doesn’t change data provider (form variable)
[fix] SVY-7928 Error in framework cancel record after update to servoy 7.4.3

Mobile Client

[enh] SVY-7803 More control over the mobile sync process
[enh] SVY-7880 Unable to catch custom message at synchronization failure
[fix] SVY-7839 Multiple concurrent remote searches break mobile.remoteSearch
[fix] SVY-7906 Unable to create new records in mobile if datasource is empty.
[fix] SVY-7970 Remote search doesn’t return foundset but error
[fix] SVY-8047 Checkbox with valuelist doesn’t work in mobile client
[fix] SVY-8119 [mobile] onAction on field doesn’t get actual value of field

Server

[enh] SVY-7931 Compact All option as import option
[enh] SVY-7965 Apache HttpClient outdated
[fix] SVY-8061 Temporary join tables for long sql ‘in’ conditions cause error with postgres and uuid datatype
[fix] SVY-7988 Databroadcasting not working properly when switching from different database servers to one target server

Plugins

[fix] SVY-7977 Function ‘getBodyContent’ on the HTTP reponse object can only be executed once
[enh] SVY-8071 Apache POI libraries update

I have a Servoy 7.4.3 installation (build 2036) which I wanted to update to 7.4.4 with the auto-update. However, when I selected the menu, Help/Check for Updates I get: “No updates were found.”

I guess, this version is not still available through the auto-update. Correct?

it can be that the update site url of the release candidates: https://www.servoy.com/developer/70x_up … ecandidate

is not there in your setup (it should be there if it was a 7.4.x install i think) or it is there but it is disabled
So if you want the release candidate enable that site.

jcompagner:
it can be that the update site url of the release candidates: https://www.servoy.com/developer/70x_up … ecandidate

is not there in your setup (it should be there if it was a 7.4.x install i think) or it is there but it is disabled
So if you want the release candidate enable that site.

Never mind, I don’t want the auto-update for the release candidate in this specific installation. My mistake, I did not read “release candidate”. I’ll wait for the regular Update.

When do you expect release the final 7.4.4 product?

After upgrade to 7.4.4. RC I have a nullpointer exception within the webclient.
It is happening on the find/search and only when there are zero records found.

2015-05-07 22:36 http-8085-3 ERROR org.apache.wicket.RequestCycle null

It is difficult to debug this null pointer. It looks like it has to do something with rendering of the main form???

** at com.servoy.j2db.server.headlessclient.dataui.WebCellBasedView$ScrollBehavior.scrollViewPort(WebCellBasedView.java:5407)**
** at com.servoy.j2db.server.headlessclient.dataui.WebCellBasedView.scrollViewPort(WebCellBasedView.java:5225)**
** at com.servoy.j2db.server.headlessclient.dataui.WebCellBasedView.onBeforeRender(WebCellBasedView.java:3039)**
** at org.apache.wicket.Component.internalBeforeRender(Component.java:1069)**
** at org.apache.wicket.Component.beforeRender(Component.java:1103)**
** at org.apache.wicket.Component.prepareForRender(Component.java:2297)**
** at org.apache.wicket.Component.prepareForRender(Component.java:2329)**
** at org.apache.wicket.ajax.AjaxRequestTarget.respondComponent(AjaxRequestTarget.java:853)**
** at org.apache.wicket.ajax.AjaxRequestTarget.respondComponents(AjaxRequestTarget.java:680)**
** at org.apache.wicket.ajax.AjaxRequestTarget.respond(AjaxRequestTarget.java:590)**
** at org.apache.wicket.request.AbstractRequestCycleProcessor.respond(AbstractRequestCycleProcessor.java:105)**
** at com.servoy.j2db.server.headlessclient.WebClientsApplication$8.respond(WebClientsApplication.java:708)**
** at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1287)**
** at org.apache.wicket.RequestCycle.step(RequestCycle.java:1358)**
** at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1465)**
** at org.apache.wicket.RequestCycle.request(RequestCycle.java:545)**
** at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:486)**
** at com.servoy.j2db.server.servlets.Zt.doGet(Zt.java:14)**
** at org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:138)**
** at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)**
** at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)**
** at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)**
** at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)**
** at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)**
** at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)**
** at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)**
** at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:394)**
** at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)**
** at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)**
** at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)**
** at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)**
** at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)**
** at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)**
** at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:615)**
** at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)**
** at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)**
** at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)**
** at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)**
** at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)**
** at java.lang.Thread.run(Thread.java:745)**

My debug results are:

  1. The error is only happening when a find/search is returning zero records. Foundset 0.
  2. When foundset is 1 or more records everything is working normal
  3. Only when the view is tableview. With find/search in record-view everything is normal.
  4. Smart-client is also working normal.

Is this a known error with the 7.4.4. RC?

what is really the full stack? (including the actual exception)
because it seems to be cut of a bit.

If i look at that stack you gave above then it looks to be not really the 7.4.4RC at least it seems a bit off

EDIT: i think the stack makes a bit more sense when looking at it a bit more,

There are two errors in the log. First: RequestCycle and second the rendering of the page.
Only happening when the foundset is empty.

I think also foundset.clear() is giving the same nullpointer.

2015-05-08 09:22:12,073 ERROR [http-8085-3] org.apache.wicket.RequestCycle -  [6904F4AC-2C7C-40C6-994A-E7A5F258E5E9 MutaService]
java.lang.NullPointerException
	at com.servoy.j2db.server.headlessclient.dataui.WebCellBasedView$ScrollBehavior.scrollViewPort(WebCellBasedView.java:5407)
	at com.servoy.j2db.server.headlessclient.dataui.WebCellBasedView.scrollViewPort(WebCellBasedView.java:5225)
	at com.servoy.j2db.server.headlessclient.dataui.WebCellBasedView.onBeforeRender(WebCellBasedView.java:3039)
	at org.apache.wicket.Component.internalBeforeRender(Component.java:1069)
	at org.apache.wicket.Component.beforeRender(Component.java:1103)
	at org.apache.wicket.Component.prepareForRender(Component.java:2297)
	at org.apache.wicket.Component.prepareForRender(Component.java:2329)
	at org.apache.wicket.ajax.AjaxRequestTarget.respondComponent(AjaxRequestTarget.java:853)
	at org.apache.wicket.ajax.AjaxRequestTarget.respondComponents(AjaxRequestTarget.java:680)
	at org.apache.wicket.ajax.AjaxRequestTarget.respond(AjaxRequestTarget.java:590)
	at org.apache.wicket.request.AbstractRequestCycleProcessor.respond(AbstractRequestCycleProcessor.java:105)
	at com.servoy.j2db.server.headlessclient.WebClientsApplication$8.respond(WebClientsApplication.java:708)
	at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1287)
	at org.apache.wicket.RequestCycle.step(RequestCycle.java:1358)
	at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1465)
	at org.apache.wicket.RequestCycle.request(RequestCycle.java:545)
	at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:486)
	at com.servoy.j2db.server.servlets.Zt.doGet(Zt.java:14)
	at org.apache.wicket.protocol.http.WicketServlet.doPost(WicketServlet.java:160)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)
	at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
	at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
	at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:394)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:615)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
	at java.lang.Thread.run(Thread.java:745)
2015-05-08 09:22:12,074 ERROR [http-8085-3] com.servoy.j2db.util.Debug - Error rendering the page svy_nav_fr_main [6904F4AC-2C7C-40C6-994A-E7A5F258E5E9 MutaService]
java.lang.NullPointerException
	at com.servoy.j2db.server.headlessclient.dataui.WebCellBasedView$ScrollBehavior.scrollViewPort(WebCellBasedView.java:5407)
	at com.servoy.j2db.server.headlessclient.dataui.WebCellBasedView.scrollViewPort(WebCellBasedView.java:5225)
	at com.servoy.j2db.server.headlessclient.dataui.WebCellBasedView.onBeforeRender(WebCellBasedView.java:3039)
	at org.apache.wicket.Component.internalBeforeRender(Component.java:1069)
	at org.apache.wicket.Component.beforeRender(Component.java:1103)
	at org.apache.wicket.Component.prepareForRender(Component.java:2297)
	at org.apache.wicket.Component.prepareForRender(Component.java:2329)
	at org.apache.wicket.ajax.AjaxRequestTarget.respondComponent(AjaxRequestTarget.java:853)
	at org.apache.wicket.ajax.AjaxRequestTarget.respondComponents(AjaxRequestTarget.java:680)
	at org.apache.wicket.ajax.AjaxRequestTarget.respond(AjaxRequestTarget.java:590)
	at org.apache.wicket.request.AbstractRequestCycleProcessor.respond(AbstractRequestCycleProcessor.java:105)
	at com.servoy.j2db.server.headlessclient.WebClientsApplication$8.respond(WebClientsApplication.java:708)
	at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1287)
	at org.apache.wicket.RequestCycle.step(RequestCycle.java:1358)
	at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1465)
	at org.apache.wicket.RequestCycle.request(RequestCycle.java:545)
	at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:486)
	at com.servoy.j2db.server.servlets.Zt.doGet(Zt.java:14)
	at org.apache.wicket.protocol.http.WicketServlet.doPost(WicketServlet.java:160)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)
	at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
	at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
	at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:394)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:615)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
	at java.lang.Thread.run(Thread.java:745)

i think the request cycle thing is not really related to the nullpointer

We already have figured out why that happens, it is a regression because of the fix for this case: https://support.servoy.com/browse/SVY-7862
We will look int this,so it is fixed for the final of 7.4.4