Servoy 6.0.6

Servoy announcements

Re: Servoy 6.0.6

Postby rossent » Thu Mar 22, 2012 2:13 pm

jcompagner wrote:
rossent wrote:We are seeing a very noticeable performance decrease of the Servoy Developer when it comes to building the solutions - 6.0.5 was much faster compared to 6.0.6
Is this a regression issue or something else?


i don't get this, for me 6.0.6 is way faster then 6.0.5, i just did a profile run again for .5 and .6 on the same very large workspace, editing and saving a large globals file (more then 8000 lines)
Doing the same operation on that file (edit save cycle and that 3 times) is more then twice as fast for me in .6 then in .5 in the profiler.

So does anybody has a workspace for me where i can see the slow down?



Try with the workspace which I gave you a few months ago. Specifically, when there are a lot of dependencies between different forms and modules using /** @type {Form<SomeForm>} */ or /** @type {forms.SomeForm.SomeCustomType} */
Rossen Totev
Argos Software
rossent
 
Posts: 288
Joined: Wed Dec 31, 2008 2:03 pm

Re: Servoy 6.0.6

Postby Kaptan » Thu Mar 22, 2012 2:50 pm

lvostinar wrote:
Kaptan wrote:just updated and unfortunately the bug "SVY-1542 onDataChange event triggered twice when in tableview and when globalmethodvalidator is set"
seems not te be fixed. We still have the onDataChange event triggered twice..


The sample works fine for me in 6.0.6 . Are you sure you are using correct version and issue sample?


Strange, it doesn't work for us. I'm sure that I tried with the correct version. I thought that it could have something to do with that we use another LAF. But just tested in standard LAF, and we still get the event triggered twice.
Sem
Kaptan
 
Posts: 124
Joined: Mon Aug 04, 2008 11:17 pm
Location: Amsterdam

Re: Servoy 6.0.6

Postby rossent » Thu Mar 22, 2012 6:21 pm

jcompagner wrote:
rossent wrote:We are seeing a very noticeable performance decrease of the Servoy Developer when it comes to building the solutions - 6.0.5 was much faster compared to 6.0.6
Is this a regression issue or something else?


i don't get this, for me 6.0.6 is way faster then 6.0.5, i just did a profile run again for .5 and .6 on the same very large workspace, editing and saving a large globals file (more then 8000 lines)
Doing the same operation on that file (edit save cycle and that 3 times) is more then twice as fast for me in .6 then in .5 in the profiler.

So does anybody has a workspace for me where i can see the slow down?


Most of the time is spent on the step "Invoking 'Servoy Project Builder' on /some_module_name" - Servoy Developer will just sit there a long time seemingly doing nothing. This happens upon save operation and when launching a client for debugging (see the attached screen shot)
You do not have the required permissions to view the files attached to this post.
Rossen Totev
Argos Software
rossent
 
Posts: 288
Joined: Wed Dec 31, 2008 2:03 pm

Re: Servoy 6.0.6

Postby AlanBourke » Thu Mar 22, 2012 6:33 pm

I have a solution that exposes a few web services (via the rest_ws.plugin). Since 6.0.6 they are throwing the following, to do with licensing (??) - any clues ?

:edit: Doesn't seem to be the plugin per se, as the sample solution works.

Code: Select all
com.servoy.j2db.ApplicationException: Login is incorrect
   at com.servoy.j2db.server.headlessclient.SessionClient.showDefaultLogin(SessionClient.java:534)
   at com.servoy.j2db.ClientState.loadSolutionsAndModules(ClientState.java:1380)
   at com.servoy.j2db.server.headlessclient.SessionClient.loadSolution(SessionClient.java:283)
   at com.servoy.j2db.debug.DebugHeadlessClient.loadSolution(DebugHeadlessClient.java:168)
   at com.servoy.j2db.server.headlessclient.SessionClient.loadSolution(SessionClient.java:258)
   at com.servoy.j2db.server.headlessclient.HeadlessClientFactoryInternal$1.run(HeadlessClientFactoryInternal.java:64)
   at com.servoy.j2db.server.headlessclient.HeadlessClientFactoryInternal.createSessionBean(HeadlessClientFactoryInternal.java:76)
   at com.servoy.j2db.server.headlessclient.HeadlessClientFactoryInternal.createHeadlessClient(HeadlessClientFactoryInternal.java:40)
   at com.servoy.j2db.server.headlessclient.HeadlessClientFactory.createHeadlessClient(HeadlessClientFactory.java:65)
   at com.servoy.j2db.server.headlessclient.HeadlessClientFactory.createHeadlessClient(HeadlessClientFactory.java:60)
   at com.servoy.extensions.plugins.rest_ws.RestWSPlugin$1.makeObject(Unknown Source)
   at org.apache.commons.pool.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:1190)
   at com.servoy.extensions.plugins.rest_ws.RestWSPlugin.getClient(Unknown Source)
   at com.servoy.extensions.plugins.rest_ws.servlets.RestWSServlet.wsService(Unknown Source)
   at com.servoy.extensions.plugins.rest_ws.servlets.RestWSServlet.doPut(Unknown Source)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:640)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
   at com.servoy.j2db.server.servlets.WebServicesServlet.service(WebServicesServlet.java:15)
   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.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:102)
   at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:554)
   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
   at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
   at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
   at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
   at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
   at java.lang.Thread.run(Unknown Source)
2012-03-22 16:29:12,392 ERROR [http-8080-4] com.servoy.j2db.util.Debug - No debugger found, for error report: Cannot load solution mysolution
2012-03-22 16:29:12,392 ERROR [http-8080-4] com.servoy.j2db.util.Debug - Cannot load solution mysolution
2012-03-22 16:29:12,392 ERROR [http-8080-4] com.servoy.j2db.util.Debug - Throwable
com.servoy.j2db.ApplicationException: Login is incorrect
   at com.servoy.j2db.server.headlessclient.SessionClient.showDefaultLogin(SessionClient.java:534)
   at com.servoy.j2db.ClientState.loadSolutionsAndModules(ClientState.java:1380)
   at com.servoy.j2db.server.headlessclient.SessionClient.loadSolution(SessionClient.java:283)
   at com.servoy.j2db.debug.DebugHeadlessClient.loadSolution(DebugHeadlessClient.java:168)
   at com.servoy.j2db.server.headlessclient.SessionClient.loadSolution(SessionClient.java:258)
   at com.servoy.j2db.server.headlessclient.HeadlessClientFactoryInternal$1.run(HeadlessClientFactoryInternal.java:64)
   at com.servoy.j2db.server.headlessclient.HeadlessClientFactoryInternal.createSessionBean(HeadlessClientFactoryInternal.java:76)
   at com.servoy.j2db.server.headlessclient.HeadlessClientFactoryInternal.createHeadlessClient(HeadlessClientFactoryInternal.java:40)
   at com.servoy.j2db.server.headlessclient.HeadlessClientFactory.createHeadlessClient(HeadlessClientFactory.java:65)
   at com.servoy.j2db.server.headlessclient.HeadlessClientFactory.createHeadlessClient(HeadlessClientFactory.java:60)
   at com.servoy.extensions.plugins.rest_ws.RestWSPlugin$1.makeObject(Unknown Source)
   at org.apache.commons.pool.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:1190)
   at com.servoy.extensions.plugins.rest_ws.RestWSPlugin.getClient(Unknown Source)
   at com.servoy.extensions.plugins.rest_ws.servlets.RestWSServlet.wsService(Unknown Source)
   at com.servoy.extensions.plugins.rest_ws.servlets.RestWSServlet.doPut(Unknown Source)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:640)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
   at com.servoy.j2db.server.servlets.WebServicesServlet.service(WebServicesServlet.java:15)
   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.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:102)
   at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:554)
   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
   at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
   at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
   at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
   at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
   at java.lang.Thread.run(Unknown Source)
2012-03-22 16:29:12,392 ERROR [http-8080-4] com.servoy.extensions.plugins.rest_ws.RestWSPlugin - /servoy-service/rest_ws/mysolution/webserviceSecurity
com.servoy.extensions.plugins.rest_ws.RestWSPlugin$NoClientsException
   at com.servoy.extensions.plugins.rest_ws.RestWSPlugin.getClient(Unknown Source)
   at com.servoy.extensions.plugins.rest_ws.servlets.RestWSServlet.wsService(Unknown Source)
   at com.servoy.extensions.plugins.rest_ws.servlets.RestWSServlet.doPut(Unknown Source)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:640)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
   at com.servoy.j2db.server.servlets.WebServicesServlet.service(WebServicesServlet.java:15)
   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.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:102)
   at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:554)
   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
   at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
   at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
   at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
   at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
   at java.lang.Thread.run(Unknown Source)
-------------------------------------------------------------------------------------------
Servoy SAN Developer
User avatar
AlanBourke
 
Posts: 198
Joined: Tue Aug 02, 2011 3:32 pm
Location: Dublin, Ireland

Re: Servoy 6.0.6

Postby jcompagner » Fri Mar 23, 2012 12:01 am

rossent wrote:
Most of the time is spent on the step "Invoking 'Servoy Project Builder' on /some_module_name" - Servoy Developer will just sit there a long time seemingly doing nothing. This happens upon save operation and when launching a client for debugging (see the attached screen shot)


and what happens if you dump the stack a few times through the admin pages when it is in that state for a while?
Can you send a few of them (5 seconds or so apart)
Johan Compagner
Servoy
User avatar
jcompagner
 
Posts: 8829
Joined: Tue May 27, 2003 7:26 pm
Location: The Internet

Re: Servoy 6.0.6

Postby rgansevles » Fri Mar 23, 2012 9:56 am

AlanBourke wrote:I have a solution that exposes a few web services (via the rest_ws.plugin). Since 6.0.6 they are throwing the following, to do with licensing (??) - any clues ?

:edit: Doesn't seem to be the plugin per se, as the sample solution works.



Alan,

Does the solution have the property mustauthenticate set to true?

Rob
Rob Gansevles
Servoy
User avatar
rgansevles
 
Posts: 1927
Joined: Wed Nov 15, 2006 6:17 pm
Location: Amersfoort, NL

Re: Servoy 6.0.6

Postby rossent » Fri Mar 23, 2012 10:01 am

jcompagner wrote:
rossent wrote:
Most of the time is spent on the step "Invoking 'Servoy Project Builder' on /some_module_name" - Servoy Developer will just sit there a long time seemingly doing nothing. This happens upon save operation and when launching a client for debugging (see the attached screen shot)


and what happens if you dump the stack a few times through the admin pages when it is in that state for a while?
Can you send a few of them (5 seconds or so apart)


The attached file contains a few memory dumps.
You do not have the required permissions to view the files attached to this post.
Rossen Totev
Argos Software
rossent
 
Posts: 288
Joined: Wed Dec 31, 2008 2:03 pm

Re: Servoy 6.0.6

Postby AlanBourke » Fri Mar 23, 2012 11:34 am

rgansevles wrote:
AlanBourke wrote:I have a solution that exposes a few web services (via the rest_ws.plugin). Since 6.0.6 they are throwing the following, to do with licensing (??) - any clues ?

:edit: Doesn't seem to be the plugin per se, as the sample solution works.



Alan,

Does the solution have the property mustauthenticate set to true?

Rob


Rob

Yes it does - there is a main solution, which has login/authenticate modules attached and mustauthenticate = true. The web services are part of the main solution.

:edit: I have turned mustauthenticate off and it appears to be working again. I was under the impression that it needed to be ON for login/authenticate functionality to work.

Thanks
-------------------------------------------------------------------------------------------
Servoy SAN Developer
User avatar
AlanBourke
 
Posts: 198
Joined: Tue Aug 02, 2011 3:32 pm
Location: Dublin, Ireland

Re: Servoy 6.0.6

Postby jcompagner » Fri Mar 23, 2012 3:23 pm

rossent wrote:
jcompagner wrote:
rossent wrote:
Most of the time is spent on the step "Invoking 'Servoy Project Builder' on /some_module_name" - Servoy Developer will just sit there a long time seemingly doing nothing. This happens upon save operation and when launching a client for debugging (see the attached screen shot)


and what happens if you dump the stack a few times through the admin pages when it is in that state for a while?
Can you send a few of them (5 seconds or so apart)


The attached file contains a few memory dumps.


thx, now i get why it is slow, its not scripting, its our own builder checking for duplicates (thats added in 6.0.6, a check for duplicate fields over the form hierarchy)
At least thats why i did see in the 3 dumps, its 30 seconds busy doing that, and i know you have quite a lot form hierarchies if i remember correctly.
Johan Compagner
Servoy
User avatar
jcompagner
 
Posts: 8829
Joined: Tue May 27, 2003 7:26 pm
Location: The Internet

Re: Servoy 6.0.6

Postby jcompagner » Mon Mar 26, 2012 3:15 pm

rossent wrote:
jcompagner wrote:
rossent wrote:
Most of the time is spent on the step "Invoking 'Servoy Project Builder' on /some_module_name" - Servoy Developer will just sit there a long time seemingly doing nothing. This happens upon save operation and when launching a client for debugging (see the attached screen shot)


and what happens if you dump the stack a few times through the admin pages when it is in that state for a while?
Can you send a few of them (5 seconds or so apart)


The attached file contains a few memory dumps.



i fixed the issue that we see in the stack dumps
I also could reproduce it in the workspace i still had from you.
A save of a file and then the complete build could take up to 25 seconds or so, but now it is sub second.

https://support.servoy.com/browse/SVY-1864
Johan Compagner
Servoy
User avatar
jcompagner
 
Posts: 8829
Joined: Tue May 27, 2003 7:26 pm
Location: The Internet

Re: Servoy 6.0.6

Postby rossent » Mon Mar 26, 2012 3:27 pm

jcompagner wrote:i fixed the issue that we see in the stack dumps
I also could reproduce it in the workspace i still had from you.
A save of a file and then the complete build could take up to 25 seconds or so, but now it is sub second.

https://support.servoy.com/browse/SVY-1864


This is great news! When can we expect to get the fix?
Rossen Totev
Argos Software
rossent
 
Posts: 288
Joined: Wed Dec 31, 2008 2:03 pm

Re: Servoy 6.0.6

Postby rossent » Mon Mar 26, 2012 10:52 pm

Hello Servoy,

We found another issue which appears only when the solution runs in Servoy Application Server (in Servoy Developer everything is fine)

Basically, we have on form variable referencing another variable from the same form like this:

Code: Select all
var SomeNumber = 1;

var OtherFormVar = {prop: SomeNumer, otherProp: 'asdfa'};


The code above is in the same form. When running in Servoy Developer everything is fine. However when we run this in Application Server, we are getting the following errors:

This is from the Server Log
Code: Select all
org.mozilla.javascript.EcmaError: ReferenceError: "SomeNumber" is not defined.
       at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3662)
       at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3656)
       at org.mozilla.javascript.ScriptRuntime.notFoundError(ScriptRuntime.java:3718)
       at org.mozilla.javascript.ScriptRuntime.nameOrFunction(ScriptRuntime.java:1753)
       at org.mozilla.javascript.ScriptRuntime.name(ScriptRuntime.java:1678)
       at org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:3752)
       at script(OtherFormVar)
       at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2680)
       at org.mozilla.javascript.InterpretedFunction.exec(InterpretedFunction.java:181)
       at org.mozilla.javascript.Context.evaluateString(Context.java:1233)
       at com.servoy.j2db.scripting.ScriptVariableScope.evalValue(ScriptVariableScope.java:163)
       at com.servoy.j2db.scripting.ScriptVariableScope.put(ScriptVariableScope.java:130)
       at com.servoy.j2db.scripting.ScriptVariableScope.put(ScriptVariableScope.java:75)
       at com.servoy.j2db.scripting.FormScope.createVars(FormScope.java:75)
       at com.servoy.j2db.FormController.initForJSUsage(FormController.java:3829)
       at com.servoy.j2db.FormController.initForJSUsage(FormController.java:4209)
       at com.servoy.j2db.FormController.getFormScope(FormController.java:4565)
       at com.servoy.j2db.dataprocessing.DataAdapterList.<init>(DataAdapterList.java:288)
       at com.servoy.j2db.server.headlessclient.dataui.WebDataRenderer.createDataAdapter(WebDataRenderer.java:137)
       at com.servoy.j2db.server.headlessclient.dataui.WebDataRendererFactory.placeElements(WebDataRendererFactory.java:306)
       at com.servoy.j2db.server.headlessclient.dataui.WebDataRendererFactory.completeRenderers(WebDataRendererFactory.java:114)
       at com.servoy.j2db.FormController.createDataRenderers(FormController.java:1705)
       at com.servoy.j2db.FormController.init(FormController.java:1545)
       at com.servoy.j2db.FormManager.leaseFormPanel(FormManager.java:938)
       at com.servoy.j2db.scripting.CreationalPrototype.get(CreationalPrototype.java:172)
       at org.mozilla.javascript.ScriptableObject.getProperty(ScriptableObject.java:1641)
       at org.mozilla.javascript.ScriptRuntime.getObjectProp(ScriptRuntime.java:1428)
       at org.mozilla.javascript.ScriptRuntime.getObjectProp(ScriptRuntime.java:1417)
       at org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:3343)
       at script.handleOnEditRootNode(handleOnEditRootNode:76)
       at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2680)
       at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:166)
       at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:387)
       at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3134)
       at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:165)
       at com.servoy.j2db.scripting.ScriptEngine.executeFunction(ScriptEngine.java:528)
       at com.servoy.j2db.FormController.executeFunction(FormController.java:4063)
       at com.servoy.j2db.FormController.executeFunction(FormController.java:3942)
       at com.servoy.j2db.FormController.executeFunction(FormController.java:3864)
       at com.servoy.j2db.FormController$ScriptExecuter.executeFunction(FormController.java:3719)
       at com.servoy.j2db.ui.BaseEventExecutor.fireEventCommand(BaseEventExecutor.java:271)
       at com.servoy.j2db.ui.BaseEventExecutor.fireActionCommand(BaseEventExecutor.java:217)
       at com.servoy.j2db.server.headlessclient.dataui.WebEventExecutor.onEvent(WebEventExecutor.java:404)
       at com.servoy.j2db.server.headlessclient.dataui.WebEventExecutor$2.onEvent(WebEventExecutor.java:174)
       at org.apache.wicket.ajax.AjaxEventBehavior.respond(AjaxEventBehavior.java:177)
       at org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:312)
       at org.apache.wicket.request.target.component.listener.BehaviorRequestTarget.processEvents(BehaviorRequestTarget.java:157)
       at org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:92)
       at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1279)
       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.Zl.doGet(Zl.java:7)
       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.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:102)
       at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:554)
       at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
       at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
       at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
       at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
       at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
       at java.lang.Thread.run(Unknown Source)


Basically, as if the server is trying to initialize first the second variable while the first one is not yet available?

After the first error, there is a second one:

Code: Select all
[ERROR] Caught unhandled exception: org.mozilla.javascript.EcmaError: TypeError: Cannot read property "prop" from (someMethodName#580)


The second error is a fall off from the first one - basically the form variable OtherFormVar failed to initialize and is null.

As far as we can tell, we did not have this issue prior to 6.0.6

My question is, why the same code works in Servoy Developer and fails in Servoy App Server? Is our code correct (can we reference one form variable in the initialization of another - seems like this was OK before 6.0.6)
Rossen Totev
Argos Software
rossent
 
Posts: 288
Joined: Wed Dec 31, 2008 2:03 pm

Re: Servoy 6.0.6

Postby jcompagner » Mon Mar 26, 2012 11:56 pm

rossent wrote:Basically, we have on form variable referencing another variable from the same form like this:


looking at the code i don't think we explicitly support variables pointing to other variables
Because currently the script variables are just created but especially on the server side we don't really explicitly order it based on the line number (we don't have that property when its in the repository)

The thing we make sure is that when the variables are created all the functions are there.
Johan Compagner
Servoy
User avatar
jcompagner
 
Posts: 8829
Joined: Tue May 27, 2003 7:26 pm
Location: The Internet

Re: Servoy 6.0.6

Postby rossent » Tue Mar 27, 2012 8:52 am

jcompagner wrote:
rossent wrote:Basically, we have on form variable referencing another variable from the same form like this:


looking at the code i don't think we explicitly support variables pointing to other variables
Because currently the script variables are just created but especially on the server side we don't really explicitly order it based on the line number (we don't have that property when its in the repository)

The thing we make sure is that when the variables are created all the functions are there.


If you are saying that referencing one form variable in the initialization of another is not supported, then there should be a warning/error in the source code and the code should not work in Servoy Developer.

However, we definitely would like to be able to use the code above - it is a perfectly valid JavaScript code and works as expected in Servoy Developer. What would it take to make that happen? You mentioned that on the Server the only thing which you make sure is the functions are available when variables are initialized. What will happen if we use something like this:

Code: Select all
var firstVar = 1;

var secondVar = getDefaultValue();

function getDefaultValue()
{
    return firstVar;
}


Is this supported?
Rossen Totev
Argos Software
rossent
 
Posts: 288
Joined: Wed Dec 31, 2008 2:03 pm

Re: Servoy 6.0.6

Postby jcompagner » Tue Mar 27, 2012 10:03 am

no that can lead to the same problem because if somehow the second variable is initialized before the first then the first will not be there.

and you have here a sample that already shows that this is very hard to catch (and make an error in the developer)
Johan Compagner
Servoy
User avatar
jcompagner
 
Posts: 8829
Joined: Tue May 27, 2003 7:26 pm
Location: The Internet

PreviousNext

Return to Announcements

Who is online

Users browsing this forum: No registered users and 18 guests