Accessive need to "Flush" my solutions

Questions and answers on designing your Servoy solutions, database modelling and other 'how do I do this' that don't fit in any of the other categories

Accessive need to "Flush" my solutions

Postby bobm » Thu Dec 22, 2016 3:37 pm

I'm having to "flush" my system several times during the day. I was told this is caused by problems with the code. I'm going through the error messages in the Sever log and ran across the following error repeatedly in the log:
Code: Select all
org.mozilla.javascript.EcmaError: TypeError: [JavaPackage org.mozilla.javascript.continuations.Continuation] is not a function, it is object. (DIALOGS#73)
     at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3760)
     at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3744)
     at org.mozilla.javascript.ScriptRuntime.typeError(ScriptRuntime.java:3765)
     at org.mozilla.javascript.ScriptRuntime.typeError2(ScriptRuntime.java:3781)
     at org.mozilla.javascript.ScriptRuntime.notFunctionError(ScriptRuntime.java:3828)
     at org.mozilla.javascript.ScriptRuntime.notFunctionError(ScriptRuntime.java:3817)
     at org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:1807)
     at script.showDialog(DIALOGS:73)
     at script(DIALOGS:260)
     at script.open(open:64)
     at script.enterValues(enterValues:17)
     at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:837)
     at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:158)
     at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:406)
     at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3192)
     at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:156)
     at com.servoy.j2db.scripting.ScriptEngine.executeFunction(ScriptEngine.java:574)
     at com.servoy.j2db.FormController.executeFunction(FormController.java:4838)
     at com.servoy.j2db.FormController.executeFunction(FormController.java:4719)
     at com.servoy.j2db.FormController.executeFunction(FormController.java:4594)
     at com.servoy.j2db.FormController$ScriptExecuter.executeFunction(FormController.java:4446)
     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.handleEvent(WebEventExecutor.java:453)
     at com.servoy.j2db.server.headlessclient.dataui.WebEventExecutor.onEvent(WebEventExecutor.java:394)
     at com.servoy.j2db.server.headlessclient.dataui.WebEventExecutor$2.onEvent(WebEventExecutor.java:180)
     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.Zt.doGet(Zt.java:11)
     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)


Looking through this I have two sections of code that I believe is the issue but not sure how to resolve this. Any one seen this before or have any suggestions?

The first snipplet of code is an onHide(event)
Code: Select all
function onHide(event) {
   plugins.scheduler.addJob(controller.getName(), new Date(Date.now() + 1000), forms.dialogs_base.destroyWindow, 0, 0, null, [controller.getName()])

   // Continue the method that triggered this dialog
   if (continuation) {
      continuation(returnValue);
   }
   return true;
}


The second is a showDialog event:
Code: Select all
/**
* Base method for showing the form in a modal dialog
* An in-memory transaction is opened and the dialog is shown.
* An optional callback method may be invoked upon closing
*
* @param {JSEvent} event the event that triggered the action
* @param {Function} [onDialogClose] Callback Method to invoke after saving
* @param {Number} [x] the x coord. Optional
* @param {Number} [y] the y coord. Optional
* @param {Number} [width] the width. Optional
* @param {Number} [height] the height. Optional
* @param {String} [dialogTitle] the title. Optional
* @param {Boolean} [resizable] resizable. Optional
* @param {Boolean} [showTextToolbar] Show the text tool bar. Optional
*
* @properties={typeid:24,uuid:"D77CF2BD-3D78-4B0D-BA2C-31C92AEF7451"}
*/
function showDialog(event, onDialogClose,x,y,width,height,dialogTitle,resizable,showTextToolbar) {
   isInDialog = true;                           //   set the in-dialog flag
   callback = onDialogClose;                     //   set the form variable for the callback   
   startEditing(event);                        //   open the in-memory transaction
   
   var win = application.getWindow(controller.getName());
   if(!win){
      win = application.createWindow(controller.getName(), JSWindow.MODAL_DIALOG);
   }
//   win.setInitialBounds(x,y,width,height);
//   win.title = dialogTitle;
//   win.setResizable(resizable);
//   win.showTextToolbar(showTextToolbar);
   controller.show(win);
}


Thank you,
Bob
Bob Mezzadri
EyeCOR By Nteon
bobm
 
Posts: 81
Joined: Thu Dec 29, 2011 8:24 pm

Re: Accessive need to "Flush" my solutions

Postby sbutler » Thu Dec 22, 2016 8:43 pm

Hi Bob,

Flushing several times a day definitely isn't normal. What is the reason that you are flushing? Is there a particular error that you see that triggers you to flush it?

Sometimes there can be some corruption in the repository (as it keeps track of version history). Sometimes its helpful to "flatten" things out by putting Servoy in maintenance mode, deleting all the solutions, restarting the server, and the importing the solution again fresh.
Scott Butler
iTech Professionals, Inc.
SAN Partner

Servoy Consulting & Development
Servoy University- Training Videos
Servoy Components- Plugins, Beans, and Web Components
Servoy Guy- Tips & Resources
ServoyForge- Open Source Components
User avatar
sbutler
Servoy Expert
 
Posts: 759
Joined: Sun Jan 08, 2006 7:15 am
Location: Cincinnati, OH

Re: Accessive need to "Flush" my solutions

Postby bobm » Thu Dec 22, 2016 8:53 pm

Scott,

There is no specific error that triggers me to do the flush. I do the flush when I get calls that people can't log into the program or when they do log into the program only a portion of the screen is showing. As soon as the flush is done they can usually log in.

I will try the this over the weekend so there is little impact on our clients.

Did you get the email Bob Rebello sent you?

Thanks,
Bob
Bob Mezzadri
EyeCOR By Nteon
bobm
 
Posts: 81
Joined: Thu Dec 29, 2011 8:24 pm

Re: Accessive need to "Flush" my solutions

Postby bobm » Wed Dec 28, 2016 5:25 pm

Thanks Scott,
I removed all solutions and re-imported them fresh. Seems to have corrected this issue. I've not had to flush for a couple days now.

Bob
Bob Mezzadri
EyeCOR By Nteon
bobm
 
Posts: 81
Joined: Thu Dec 29, 2011 8:24 pm


Return to Programming with Servoy

Who is online

Users browsing this forum: Google [Bot] and 11 guests