Servoy 6.1.3

Servoy announcements

Re: Servoy 6.1.3

Postby david » Wed Dec 12, 2012 1:51 am

JS docs for functions in variables used to show up with code completion in Servoy 6.0.x. Code completion still works in 6.1.3 for objects defined this way but js docs are not retrieved.

Setting up objects this way is a wonderful way to expose an API with code completion and full documentation at the coder's fingertips. Can we get this feature added back in?

https://support.servoy.com/browse/SVY-3568
 
qb js doc working.png
You do not have the required permissions to view the files attached to this post.
David Workman, Kabootit

Image
Everything you need to build great apps with Servoy
User avatar
david
 
Posts: 1727
Joined: Thu Apr 24, 2003 4:18 pm
Location: Washington, D.C.

Re: Servoy 6.1.3

Postby mboegem » Thu Dec 13, 2012 12:08 am

Kahuna wrote:We have been trialing our solution in 6.1.3 and it seems that every button has lost its link top the style. So in 6.0.8 a series of buttons are coloured blue using styleClass tci (in this instance). After opening the solution in 6.1 the styleClass is unresolved.

Obviously it will be a shed load of work to correct every instance of a missing style. Is there something we should be setting before opening a workspace or solution in 6.1?


Have noticed in 6.1.2 already style classes are saved preserving upper/lowercase, where before even classes in for example camel case were stored lowercase in the form.
Also I'm being informed a new css parser is used, where for example a class like 'label.coloured:Red' should now be written as 'label.coloured\:Red' (so escaping special characters)
As styleclasses are referenced by name, you should be able to do a search/replace on your forms throughout your workspace.

Good luck!
Marc Boegem
Solutiative / JBS Group, Partner
• Servoy Certified Developer
• Servoy Valued Professional
• Freelance Developer

Image

Partner of Tower - The most powerful Git client for Mac and Windows
User avatar
mboegem
 
Posts: 1743
Joined: Sun Oct 14, 2007 1:34 pm
Location: Amsterdam

Re: Servoy 6.1.3 - errors in Servoy Developer

Postby rossent » Fri Dec 14, 2012 2:25 pm

In 6.1.3 we are getting a lot of these (the errors are from the eclipse log file in the .metadata folder of the workspace):

Code: Select all
!ENTRY org.eclipse.dltk.core 4 2 2012-12-14 14:04:53.151
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.dltk.core".
!STACK 0
org.eclipse.core.runtime.AssertionFailedException: assertion failed: Type "JSRecord<db:/argos_user_data/ac_account>" is a proxy
   at org.eclipse.core.runtime.Assert.isTrue(Assert.java:110)
   at org.eclipse.dltk.internal.javascript.parser.JSDocValidatorFactory$TypeChecker.doCheckType(JSDocValidatorFactory.java:235)
   at org.eclipse.dltk.internal.javascript.parser.JSDocValidatorFactory$TypeChecker.validate(JSDocValidatorFactory.java:227)
   at org.eclipse.dltk.internal.javascript.validation.TypeInfoValidator.build(TypeInfoValidator.java:159)
   at org.eclipse.dltk.internal.core.ReconcileBuilder.run(ReconcileBuilder.java:99)
   at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
   at org.eclipse.dltk.internal.core.ReconcileBuilder.build(ReconcileBuilder.java:77)
   at org.eclipse.dltk.internal.core.ReconcileWorkingCopyOperation.makeConsistent(ReconcileWorkingCopyOperation.java:91)
   at org.eclipse.dltk.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:58)
   at org.eclipse.dltk.internal.core.ModelOperation.run(ModelOperation.java:698)
   at org.eclipse.dltk.internal.core.ModelOperation.runOperation(ModelOperation.java:764)
   at org.eclipse.dltk.internal.core.SourceModule.reconcile(SourceModule.java:330)
   at org.eclipse.dltk.internal.ui.text.ScriptReconcilingStrategy.reconcile(ScriptReconcilingStrategy.java:164)
   at org.eclipse.dltk.internal.ui.text.ScriptReconcilingStrategy.access$0(ScriptReconcilingStrategy.java:153)
   at org.eclipse.dltk.internal.ui.text.ScriptReconcilingStrategy$1.run(ScriptReconcilingStrategy.java:125)
   at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
   at org.eclipse.dltk.internal.ui.text.ScriptReconcilingStrategy.reconcile(ScriptReconcilingStrategy.java:120)
   at org.eclipse.dltk.internal.ui.text.ScriptReconcilingStrategy.reconcile(ScriptReconcilingStrategy.java:192)
   at org.eclipse.dltk.internal.ui.text.CompositeReconcilingStrategy.reconcile(CompositeReconcilingStrategy.java:97)
   at org.eclipse.dltk.internal.ui.text.ScriptCompositeReconcilingStrategy.reconcile(ScriptCompositeReconcilingStrategy.java:100)
   at org.eclipse.jface.text.reconciler.MonoReconciler.process(MonoReconciler.java:77)
   at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:206)


The second error which actually eventually crashes the Servoy Developer is this:

Code: Select all
!ENTRY org.eclipse.ui 4 0 2012-12-14 14:16:20.437
!MESSAGE Unhandled event loop exception
!STACK 0
org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTError: No more handles)
   at org.eclipse.swt.SWT.error(SWT.java:4282)
   at org.eclipse.swt.SWT.error(SWT.java:4197)
   at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:138)
   at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4140)
   at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3757)
   at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2701)
   at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2665)
   at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2499)
   at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:679)
   at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
   at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:668)
   at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
   at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)
   at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
   at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
   at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
   at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)
   at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
   at java.lang.reflect.Method.invoke(Unknown Source)
   at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
   at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
   at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
Caused by: org.eclipse.swt.SWTError: No more handles
   at org.eclipse.swt.SWT.error(SWT.java:4308)
   at org.eclipse.swt.SWT.error(SWT.java:4197)
   at org.eclipse.swt.SWT.error(SWT.java:4168)
   at org.eclipse.swt.internal.ImageList.copyWithAlpha(ImageList.java:179)
   at org.eclipse.swt.internal.ImageList.set(ImageList.java:409)
   at org.eclipse.swt.internal.ImageList.add(ImageList.java:70)
   at org.eclipse.swt.widgets.Table.imageIndex(Table.java:2930)
   at org.eclipse.swt.widgets.TableItem.setImage(TableItem.java:1100)
   at org.eclipse.jface.viewers.TableViewerRow.setImage(TableViewerRow.java:134)
   at org.eclipse.jface.viewers.ViewerCell.setImage(ViewerCell.java:169)
   at org.eclipse.jface.viewers.ColumnLabelProvider.update(ColumnLabelProvider.java:38)
   at com.servoy.eclipse.ui.views.solutionexplorer.DecoratingColumnLabelProvider.update(DecoratingColumnLabelProvider.java:326)
   at org.eclipse.jface.viewers.ViewerColumn.refresh(ViewerColumn.java:152)
   at org.eclipse.jface.viewers.AbstractTableViewer.doUpdateItem(AbstractTableViewer.java:399)
   at org.eclipse.jface.viewers.StructuredViewer$UpdateItemSafeRunnable.run(StructuredViewer.java:485)
   at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
   at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49)
   at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
   at org.eclipse.jface.viewers.StructuredViewer.updateItem(StructuredViewer.java:2167)
   at org.eclipse.jface.viewers.AbstractTableViewer.internalRefreshAll(AbstractTableViewer.java:711)
   at org.eclipse.jface.viewers.AbstractTableViewer.internalRefresh(AbstractTableViewer.java:649)
   at org.eclipse.jface.viewers.AbstractTableViewer.internalRefresh(AbstractTableViewer.java:636)
   at org.eclipse.jface.viewers.StructuredViewer$7.run(StructuredViewer.java:1508)
   at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1443)
   at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1404)
   at org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredViewer.java:1506)
   at org.eclipse.jface.viewers.ColumnViewer.refresh(ColumnViewer.java:537)
   at org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredViewer.java:1465)
   at com.servoy.eclipse.ui.views.solutionexplorer.SolutionExplorerView$16$2.run(SolutionExplorerView.java:1818)
   at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
   at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
   ... 22 more


It appears that the Servoy Developer is "leaking" memory or handles and we need to restart the developer multiple times per day. We have not isolated this issue to a particular part of the Servoy Developer, but suspect that it has to do with searching for method or form references.
Rossen Totev
Argos Software
rossent
 
Posts: 288
Joined: Wed Dec 31, 2008 2:03 pm

Re: Servoy 6.1.3

Postby jcompagner » Fri Dec 14, 2012 3:03 pm

That first error shouldn't really happen anymore in 6.1.3 or at least in the next 6.1.4. If you still see it in the 6.1.4 release please report it in a case.
The problem is that that specific type is made a proxy because all types are flushed because of a change. But those types shouldn't be used then anymore.

For the second error, we have 1 more report of this also on 6.1.2 or something. But we really don't have any idea what that happens, we really need some use case when that happens
I had the same thing in my plain java eclipse yesterday also.. But that was i guess running for quite a while and the only thing that could be the same is eclipse itself and the svn plugin i guess
that stack i see is that quite plain eclipse updating a Tree/TableViewer but that doesn't say much why it happens.
Johan Compagner
Servoy
User avatar
jcompagner
 
Posts: 8829
Joined: Tue May 27, 2003 7:26 pm
Location: The Internet

Re: Servoy 6.1.3

Postby rossent » Fri Dec 14, 2012 3:52 pm

jcompagner wrote:That first error shouldn't really happen anymore in 6.1.3 or at least in the next 6.1.4. If you still see it in the 6.1.4 release please report it in a case.
The problem is that that specific type is made a proxy because all types are flushed because of a change. But those types shouldn't be used then anymore.

For the second error, we have 1 more report of this also on 6.1.2 or something. But we really don't have any idea what that happens, we really need some use case when that happens
I had the same thing in my plain java eclipse yesterday also.. But that was i guess running for quite a while and the only thing that could be the same is eclipse itself and the svn plugin i guess
that stack i see is that quite plain eclipse updating a Tree/TableViewer but that doesn't say much why it happens.


The second error usually happens when the active solution references multiple modules which in turn reference multiple modules so the full solution tree is very large - in such cases reference searchers, running unit tests (and potentially building the tree of the unit tests), etc. are usually the "final" drop which causes the crash.

Another issue which happened to us several times already when testing the 6.1.3 server is out-of-memory condition which basically crashes the server. In all cases, this happened when using the web client. We managed to get a memory dump of one of those crashes. The following is from the memory dump analyser:

Code: Select all
One instance of "com.servoy.j2db.server.headlessclient.dataui.WebTabPanel" loaded by "sun.misc.Launcher$AppClassLoader @ 0x29ab5388" occupies 798,819,024 (61.69%) bytes. The memory is accumulated in one instance of "java.lang.Object[]" loaded by "<system class loader>".

Keywords
java.lang.Object[]
sun.misc.Launcher$AppClassLoader @ 0x29ab5388
com.servoy.j2db.server.headlessclient.dataui.WebTabPanel


I have the memory dump available on an FTP server in case you want to take a look at it. These are some of the entries form the server log when these crashes occur:

Code: Select all
2012-12-12 16:45:14,244 ERROR [http-8085-4] com.servoy.j2db.util.Debug - Throwable [E3E250DC-E3E6-4288-9BBB-C2A2DC8102D7 argos_agile_client]
org.apache.wicket.WicketRuntimeException: After 1 minute the Pagemap null is still locked by: Thread[http-8085-5,5,main], giving up trying to get the page for path: 4
   at java.lang.Class.isArray(Native Method)
   at org.mozilla.javascript.ScriptRuntime.toBoolean(ScriptRuntime.java:349)
   at org.mozilla.javascript.Interpreter.stack_boolean(Interpreter.java:3102)
   at org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:1354)
   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:4930)
   at com.servoy.j2db.FormController.executeFormMethod(FormController.java:5261)
   at com.servoy.j2db.FormController.executeOnLoadMethod(FormController.java:5113)
   at com.servoy.j2db.FormManager.getFormController(FormManager.java:800)
   at com.servoy.j2db.server.headlessclient.dataui.WebTabFormLookup.getWebForm(WebTabFormLookup.java:147)
   at com.servoy.j2db.server.headlessclient.dataui.WebTabFormLookup.getWebForm(WebTabFormLookup.java:135)
   at com.servoy.j2db.server.headlessclient.dataui.WebTabPanel.getCurrentForm(WebTabPanel.java:510)
   at com.servoy.j2db.server.headlessclient.dataui.WebTabPanel.getChildForms(WebTabPanel.java:515)
   at com.servoy.j2db.server.headlessclient.dataui.WebDataRendererFactory.goDownContainer(WebDataRendererFactory.java:344)
   at com.servoy.j2db.server.headlessclient.dataui.WebDataRendererFactory.reapplyTabSequence(WebDataRendererFactory.java:442)
   at com.servoy.j2db.FormController.recomputeTabSequence(FormController.java:5456)
   at com.servoy.j2db.server.headlessclient.dataui.WebTabPanel.recomputeTabSequence(WebTabPanel.java:540)
   at com.servoy.j2db.server.headlessclient.dataui.WebTabPanel.setCurrentForm(WebTabPanel.java:491)
   at com.servoy.j2db.server.headlessclient.dataui.WebTabPanel.initalizeFirstTab(WebTabPanel.java:568)
   at com.servoy.j2db.server.headlessclient.dataui.WebEventExecutor$6.component(WebEventExecutor.java:703)
   at com.servoy.j2db.server.headlessclient.dataui.WebEventExecutor$6.component(WebEventExecutor.java:1)
   at org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:920)
   at org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:935)
   at org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:935)
   at org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:935)
   at org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:935)
   at org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:935)
   at org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:935)
   at org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:935)
   at org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:935)
   at org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:935)
   at org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:935)
   at org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:935)
   at org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:935)
   at org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:935)
   at org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:935)
   at com.servoy.j2db.server.headlessclient.dataui.WebEventExecutor.generateResponse(WebEventExecutor.java:699)
   at com.servoy.j2db.server.headlessclient.dataui.WebEventExecutor.onEvent(WebEventExecutor.java:403)
   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: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.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-12-12 16:49:25,449 ERROR [ModificationWatcher Task] org.apache.wicket.util.thread.Task - Task ModificationWatcher terminated [ ]
java.lang.OutOfMemoryError: Java heap space
2012-12-12 16:50:45,435 ERROR [http-8085-5] org.apache.wicket.Session - Exception when detaching/serializing page [E3E250DC-E3E6-4288-9BBB-C2A2DC8102D7 argos_agile_client]
java.lang.OutOfMemoryError: Java heap space
2012-12-12 16:50:45,435 ERROR [http-8085-5] com.servoy.j2db.util.Debug - RuntimeException in the ServoyFilter.doGet [ ]
java.lang.OutOfMemoryError: Java heap space
   at org.mozilla.javascript.ScriptRuntime.wrapNumber(ScriptRuntime.java:328)
   at org.mozilla.javascript.NativeArray.getInstanceIdValue(NativeArray.java:139)
   at org.mozilla.javascript.IdScriptableObject.get(IdScriptableObject.java:366)
   at org.mozilla.javascript.ScriptableObject.getProperty(ScriptableObject.java:2141)
   at org.mozilla.javascript.ScriptRuntime.getObjectProp(ScriptRuntime.java:1518)
   at org.mozilla.javascript.ScriptRuntime.getObjectProp(ScriptRuntime.java:1505)
   at org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:1408)
   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:4930)
   at com.servoy.j2db.FormController.executeFormMethod(FormController.java:5261)
   at com.servoy.j2db.FormController.executeOnLoadMethod(FormController.java:5113)
   at com.servoy.j2db.FormManager.getFormController(FormManager.java:800)
   at com.servoy.j2db.server.headlessclient.dataui.WebTabFormLookup.getWebForm(WebTabFormLookup.java:147)
   at com.servoy.j2db.server.headlessclient.dataui.WebTabFormLookup.getWebForm(WebTabFormLookup.java:135)
   at com.servoy.j2db.server.headlessclient.dataui.WebTabPanel.getCurrentForm(WebTabPanel.java:510)
   at com.servoy.j2db.server.headlessclient.dataui.WebTabPanel.getChildForms(WebTabPanel.java:515)
   at com.servoy.j2db.server.headlessclient.dataui.WebDataRendererFactory.goDownContainer(WebDataRendererFactory.java:344)
   at com.servoy.j2db.server.headlessclient.dataui.WebDataRendererFactory.reapplyTabSequence(WebDataRendererFactory.java:442)
   at com.servoy.j2db.FormController.recomputeTabSequence(FormController.java:5456)
   at com.servoy.j2db.server.headlessclient.dataui.WebTabPanel.recomputeTabSequence(WebTabPanel.java:540)
   at com.servoy.j2db.server.headlessclient.dataui.WebTabPanel.setCurrentForm(WebTabPanel.java:491)
   at com.servoy.j2db.server.headlessclient.dataui.WebTabPanel.initalizeFirstTab(WebTabPanel.java:568)
   at com.servoy.j2db.server.headlessclient.dataui.WebEventExecutor$6.component(WebEventExecutor.java:703)
   at com.servoy.j2db.server.headlessclient.dataui.WebEventExecutor$6.component(WebEventExecutor.java:1)
   at org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:920)
   at org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:935)
   at org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:935)



We cannot reproduce the crashes "at will" and preliminary inspection of our code does not show anything suspicious. It appears as if under some conditions the application server gets into some sort of infinite loop trying to generate the HTML for the web client. Several of the crashes happened when we remove a form from a tab panel and display a different one. After the crash if we try the same thing it always works fine without issues. Let me know if you would like to download the memory dump.
Rossen Totev
Argos Software
rossent
 
Posts: 288
Joined: Wed Dec 31, 2008 2:03 pm

Re: Servoy 6.1.3

Postby jcompagner » Fri Dec 14, 2012 4:24 pm

If you have a memory dump you could place it on a location (zipped or better 7zipped) where i can download it. Then i can have a look

The stack i see there is just executing an onload method of a form that is being loaded in a tabpanel.. That would be weird if that happens in a recursive thing because onload is only called once for an instance
So if that would really happen then somehow the soluton model touches and tries to destroy the form again somewhere in the onload of thet form?
The problem is also that if you are getting close to an out of mem then everything is really slow because of the full garbage collection cycles that are constantly happening.
Johan Compagner
Servoy
User avatar
jcompagner
 
Posts: 8829
Joined: Tue May 27, 2003 7:26 pm
Location: The Internet

Re: Servoy 6.1.3

Postby rossent » Fri Dec 14, 2012 5:09 pm

jcompagner wrote:For the second error, we have 1 more report of this also on 6.1.2 or something. But we really don't have any idea what that happens, we really need some use case when that happens
I had the same thing in my plain java eclipse yesterday also.. But that was i guess running for quite a while and the only thing that could be the same is eclipse itself and the svn plugin i guess
that stack i see is that quite plain eclipse updating a Tree/TableViewer but that doesn't say much why it happens.


I just got the same issue again - this time it was related to the code-completion feature listing the available forms, I also used a lot the Resource Locator dialog as well which in our case needs to work with tons of data.
Rossen Totev
Argos Software
rossent
 
Posts: 288
Joined: Wed Dec 31, 2008 2:03 pm

Re: Servoy 6.1.3

Postby david » Fri Dec 14, 2012 7:16 pm

david wrote:JS docs for functions in variables used to show up with code completion in Servoy 6.0.x. Code completion still works in 6.1.3 for objects defined this way but js docs are not retrieved.

Setting up objects this way is a wonderful way to expose an API with code completion and full documentation at the coder's fingertips. Can we get this feature added back in?

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


Thanks for the fix!
David Workman, Kabootit

Image
Everything you need to build great apps with Servoy
User avatar
david
 
Posts: 1727
Joined: Thu Apr 24, 2003 4:18 pm
Location: Washington, D.C.

Servoy 6.1.3 - Building Issue

Postby rossent » Mon Dec 17, 2012 10:50 am

On couple occasions I got the error during building of the solutions: "An internal error occurred during: "Building". Could not initialize shell library"

This is from the Eclipse log:

Code: Select all
!ENTRY org.eclipse.core.jobs 4 2 2012-12-17 10:48:49.016
!MESSAGE An internal error occurred during: "Building".
!STACK 0
java.lang.InternalError: Could not initialize shell library
   at sun.awt.shell.Win32ShellFolder2.initIDs(Native Method)
   at sun.awt.shell.Win32ShellFolder2.<clinit>(Unknown Source)
   at sun.awt.shell.Win32ShellFolderManager2.get(Unknown Source)
   at sun.awt.shell.ShellFolder.get(Unknown Source)
   at com.sun.java.swing.plaf.windows.WindowsLookAndFeel$ActiveWindowsIcon.createValue(Unknown Source)
   at javax.swing.UIDefaults.getFromHashtable(Unknown Source)
   at javax.swing.UIDefaults.get(Unknown Source)
   at javax.swing.MultiUIDefaults.get(Unknown Source)
   at javax.swing.UIManager.get(Unknown Source)
   at sun.swing.DefaultLookup.get(Unknown Source)
   at sun.swing.DefaultLookup.getIcon(Unknown Source)
   at sun.swing.DefaultLookup.getIcon(Unknown Source)
   at javax.swing.tree.DefaultTreeCellRenderer.updateUI(Unknown Source)
   at javax.swing.JLabel.<init>(Unknown Source)
   at javax.swing.JLabel.<init>(Unknown Source)
   at javax.swing.tree.DefaultTreeCellRenderer.<init>(Unknown Source)
   at com.sun.java.swing.plaf.windows.WindowsTreeUI$WindowsTreeCellRenderer.<init>(Unknown Source)
   at com.sun.java.swing.plaf.windows.WindowsTreeUI.createDefaultCellRenderer(Unknown Source)
   at javax.swing.plaf.basic.BasicTreeUI.updateRenderer(Unknown Source)
   at javax.swing.plaf.basic.BasicTreeUI.completeUIInstall(Unknown Source)
   at javax.swing.plaf.basic.BasicTreeUI.installUI(Unknown Source)
   at javax.swing.JComponent.setUI(Unknown Source)
   at javax.swing.JTree.setUI(Unknown Source)
   at javax.swing.JTree.updateUI(Unknown Source)
   at com.servoy.extensions.beans.dbtreeview.SwingDBTree.updateUI(SwingDBTree.java:121)
   at javax.swing.JTree.<init>(Unknown Source)
   at javax.swing.JTree.<init>(Unknown Source)
   at com.servoy.extensions.beans.dbtreeview.SwingDBTree.<init>(SwingDBTree.java:68)
   at com.servoy.extensions.beans.dbtreeview.SwingDBTreeView.<init>(SwingDBTreeView.java:115)
   at com.servoy.extensions.beans.dbtreeview.DBTreeView.getSwingDBTreeView(DBTreeView.java:94)
   at com.servoy.extensions.beans.dbtreeview.DBTreeView.getBeanInstance(DBTreeView.java:72)
   at com.servoy.eclipse.ui.util.ElementUtil.getPersistScriptClass(ElementUtil.java:364)
   at com.servoy.eclipse.debug.script.TypeCreator$ElementsScopeCreator.createFormElementProperties(TypeCreator.java:2966)
   at com.servoy.eclipse.debug.script.TypeCreator$ElementsScopeCreator.createType(TypeCreator.java:2938)
   at com.servoy.eclipse.debug.script.TypeCreator.createDynamicType(TypeCreator.java:801)
   at com.servoy.eclipse.debug.script.TypeCreator.createDynamicType(TypeCreator.java:793)
   at com.servoy.eclipse.debug.script.TypeCreator.createType(TypeCreator.java:447)
   at org.eclipse.dltk.javascript.typeinfo.TypeCache.getType(TypeCache.java:203)
   at org.eclipse.dltk.javascript.typeinfo.TypeCache$TypeCacheResourceSet.resolve(TypeCache.java:333)
   at org.eclipse.dltk.javascript.typeinfo.TypeUtil.resolve(TypeUtil.java:255)
   at org.eclipse.dltk.javascript.typeinfo.model.impl.SimpleTypeImpl.eResolveProxy(SimpleTypeImpl.java:144)
   at org.eclipse.dltk.javascript.typeinfo.model.impl.SimpleTypeImpl.getTarget(SimpleTypeImpl.java:79)
   at org.eclipse.dltk.javascript.typeinfo.model.impl.SimpleTypeImpl.toRType(SimpleTypeImpl.java:127)
   at org.eclipse.dltk.javascript.typeinfo.RTypes.create(RTypes.java:257)
   at org.eclipse.dltk.internal.javascript.ti.TypeSystemImpl$1.getIRType(TypeSystemImpl.java:258)
   at org.eclipse.dltk.internal.javascript.ti.TypeSystemImpl$1.getName(TypeSystemImpl.java:276)
   at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitor.isXML(TypeInferencerVisitor.java:193)
   at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitor.extractNamedChild(TypeInferencerVisitor.java:1232)
   at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitor.visitPropertyExpression(TypeInferencerVisitor.java:1222)
   at org.eclipse.dltk.internal.javascript.validation.TypeInfoValidator$ValidationVisitor.visitPropertyExpression(TypeInfoValidator.java:1602)
   at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitor.visitPropertyExpression(TypeInferencerVisitor.java:1)
   at org.eclipse.dltk.javascript.ast.ASTVisitor$31.handle(ASTVisitor.java:200)
   at org.eclipse.dltk.javascript.ast.ASTVisitor.visit(ASTVisitor.java:298)
   at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitorBase.visit(TypeInferencerVisitorBase.java:119)
   at org.eclipse.dltk.internal.javascript.validation.TypeInfoValidator$ValidationVisitor.visit(TypeInfoValidator.java:510)
   at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitor.visitPropertyExpression(TypeInferencerVisitor.java:1221)
   at org.eclipse.dltk.internal.javascript.validation.TypeInfoValidator$ValidationVisitor.visitPropertyExpression(TypeInfoValidator.java:1602)
   at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitor.visitPropertyExpression(TypeInferencerVisitor.java:1)
   at org.eclipse.dltk.javascript.ast.ASTVisitor$31.handle(ASTVisitor.java:200)
   at org.eclipse.dltk.javascript.ast.ASTVisitor.visit(ASTVisitor.java:298)
   at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitorBase.visit(TypeInferencerVisitorBase.java:119)
   at org.eclipse.dltk.internal.javascript.validation.TypeInfoValidator$ValidationVisitor.visit(TypeInfoValidator.java:510)
   at org.eclipse.dltk.internal.javascript.validation.TypeInfoValidator$ValidationVisitor.visitCallExpression(TypeInfoValidator.java:817)
   at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitor.visitCallExpression(TypeInferencerVisitor.java:1)
   at org.eclipse.dltk.javascript.ast.ASTVisitor$5.handle(ASTVisitor.java:65)
   at org.eclipse.dltk.javascript.ast.ASTVisitor.visit(ASTVisitor.java:298)
   at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitorBase.visit(TypeInferencerVisitorBase.java:119)
   at org.eclipse.dltk.internal.javascript.validation.TypeInfoValidator$ValidationVisitor.visit(TypeInfoValidator.java:510)
   at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitor.visitVoidExpression(TypeInferencerVisitor.java:1404)
   at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitor.visitVoidExpression(TypeInferencerVisitor.java:1)
   at org.eclipse.dltk.javascript.ast.ASTVisitor$37.handle(ASTVisitor.java:230)
   at org.eclipse.dltk.javascript.ast.ASTVisitor.visit(ASTVisitor.java:298)
   at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitorBase.visit(TypeInferencerVisitorBase.java:119)
   at org.eclipse.dltk.internal.javascript.validation.TypeInfoValidator$ValidationVisitor.visit(TypeInfoValidator.java:510)
   at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitor.visitStatementBlock(TypeInferencerVisitor.java:1312)
   at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitor.visitStatementBlock(TypeInferencerVisitor.java:1)
   at org.eclipse.dltk.javascript.ast.ASTVisitor$32.handle(ASTVisitor.java:205)
   at org.eclipse.dltk.javascript.ast.ASTVisitor.visit(ASTVisitor.java:298)
   at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitorBase.visit(TypeInferencerVisitorBase.java:119)
   at org.eclipse.dltk.internal.javascript.validation.TypeInfoValidator$ValidationVisitor.visit(TypeInfoValidator.java:510)
   at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitor.visitIfStatements(TypeInferencerVisitor.java:1040)
   at org.eclipse.dltk.internal.javascript.validation.TypeInfoValidator$ValidationVisitor.visitIfStatement(TypeInfoValidator.java:2364)
   at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitor.visitIfStatement(TypeInferencerVisitor.java:1)
   at org.eclipse.dltk.javascript.ast.ASTVisitor$19.handle(ASTVisitor.java:137)
   at org.eclipse.dltk.javascript.ast.ASTVisitor.visit(ASTVisitor.java:298)
   at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitorBase.visit(TypeInferencerVisitorBase.java:119)
   at org.eclipse.dltk.internal.javascript.validation.TypeInfoValidator$ValidationVisitor.visit(TypeInfoValidator.java:510)
   at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitor.visitStatementBlock(TypeInferencerVisitor.java:1312)
   at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitor.visitStatementBlock(TypeInferencerVisitor.java:1)
   at org.eclipse.dltk.javascript.ast.ASTVisitor$32.handle(ASTVisitor.java:205)
   at org.eclipse.dltk.javascript.ast.ASTVisitor.visit(ASTVisitor.java:298)
   at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitorBase.visit(TypeInferencerVisitorBase.java:119)
   at org.eclipse.dltk.internal.javascript.validation.TypeInfoValidator$ValidationVisitor.visit(TypeInfoValidator.java:510)
   at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitor.visitFunctionBody(TypeInferencerVisitor.java:894)
   at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitor.visitFunctionStatement(TypeInferencerVisitor.java:852)
   at org.eclipse.dltk.internal.javascript.validation.TypeInfoValidator$ValidationVisitor.visitFunctionStatement(TypeInfoValidator.java:672)
   at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitor.visitFunctionStatement(TypeInferencerVisitor.java:1)
   at org.eclipse.dltk.javascript.ast.ASTVisitor$17.handle(ASTVisitor.java:127)
   at org.eclipse.dltk.javascript.ast.ASTVisitor.visit(ASTVisitor.java:298)
   at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitorBase.visit(TypeInferencerVisitorBase.java:119)
   at org.eclipse.dltk.internal.javascript.validation.TypeInfoValidator$ValidationVisitor.visit(TypeInfoValidator.java:510)
   at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitor.visitVoidExpression(TypeInferencerVisitor.java:1404)
   at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitor.visitVoidExpression(TypeInferencerVisitor.java:1)
   at org.eclipse.dltk.javascript.ast.ASTVisitor$37.handle(ASTVisitor.java:230)
   at org.eclipse.dltk.javascript.ast.ASTVisitor.visit(ASTVisitor.java:298)
   at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitorBase.visit(TypeInferencerVisitorBase.java:119)
   at org.eclipse.dltk.internal.javascript.validation.TypeInfoValidator$ValidationVisitor.visit(TypeInfoValidator.java:510)
   at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitorBase.visit(TypeInferencerVisitorBase.java:1)
   at org.eclipse.dltk.javascript.ast.ASTVisitor.visit(ASTVisitor.java:25)
   at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitor.visitScript(TypeInferencerVisitor.java:1296)
   at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitor.visitScript(TypeInferencerVisitor.java:1)
   at org.eclipse.dltk.javascript.ast.ASTVisitor$14.handle(ASTVisitor.java:111)
   at org.eclipse.dltk.javascript.ast.ASTVisitor.visit(ASTVisitor.java:298)
   at org.eclipse.dltk.internal.javascript.ti.TypeInferencerVisitorBase.visit(TypeInferencerVisitorBase.java:119)
   at org.eclipse.dltk.internal.javascript.validation.TypeInfoValidator$ValidationVisitor.visit(TypeInfoValidator.java:510)
   at org.eclipse.dltk.internal.javascript.ti.TypeInferencer2.doInferencing(TypeInferencer2.java:104)
   at org.eclipse.dltk.internal.javascript.validation.TypeInfoValidator.build(TypeInfoValidator.java:158)
   at org.eclipse.dltk.internal.core.builder.StandardScriptBuilder.buildModule(StandardScriptBuilder.java:260)
   at org.eclipse.dltk.internal.core.builder.StandardScriptBuilder.buildNatureModules(StandardScriptBuilder.java:200)
   at org.eclipse.dltk.internal.core.builder.StandardScriptBuilder.build(StandardScriptBuilder.java:72)
   at org.eclipse.dltk.internal.core.builder.ScriptBuilder.fullBuild(ScriptBuilder.java:449)
   at org.eclipse.dltk.internal.core.builder.ScriptBuilder.build(ScriptBuilder.java:156)
   at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:728)
   at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
   at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:199)
   at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:239)
   at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:292)
   at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
   at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:295)
   at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:256)
   at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:394)
   at org.eclipse.core.internal.resources.Project$1.run(Project.java:618)
   at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)
   at org.eclipse.core.internal.resources.Project.internalBuild(Project.java:597)
   at org.eclipse.core.internal.resources.Project.build(Project.java:114)
   at com.servoy.eclipse.model.extensions.AbstractServoyModel.buildActiveProjects(AbstractServoyModel.java:313)
   at com.servoy.eclipse.model.extensions.AbstractServoyModel.buildActiveProjects(AbstractServoyModel.java:288)
   at com.servoy.eclipse.core.ServoyModel$7.run(ServoyModel.java:966)
   at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
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.1.3

Postby jcompagner » Mon Dec 17, 2012 11:13 am

Weird that's something deep down in Swing itself that wants to its UIDefaults, i guess creating a specific icon that it then wants to load from the system, and somehow the filesystem interface is not initializing correctly
Johan Compagner
Servoy
User avatar
jcompagner
 
Posts: 8829
Joined: Tue May 27, 2003 7:26 pm
Location: The Internet

Re: Servoy 6.1.3

Postby rossent » Mon Dec 17, 2012 1:37 pm

jcompagner wrote:Weird that's something deep down in Swing itself that wants to its UIDefaults, i guess creating a specific icon that it then wants to load from the system, and somehow the filesystem interface is not initializing correctly


I suspect this issue has some common root with the leaking handles and the "out-of-memory" exceptions which we are getting, because after it I need to restart the Servoy Developer.
Rossen Totev
Argos Software
rossent
 
Posts: 288
Joined: Wed Dec 31, 2008 2:03 pm

Servoy 6.1.3 - slow build

Postby rossent » Mon Dec 17, 2012 2:47 pm

The build process today was quite slow for me. I had to switch the active solution several times and after that the build process became extremely slow. Attached is a file with a few stack dumps during that process.
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.1.3

Postby jcompagner » Mon Dec 17, 2012 3:02 pm

your out of handles is a SWT related issue, this is more a Swing thing, but maybe deep down in the native layer they could have something to do with each other
But as long as you didn't get the swt out of handles first and then the swing thing i don't know if they are really related.
Johan Compagner
Servoy
User avatar
jcompagner
 
Posts: 8829
Joined: Tue May 27, 2003 7:26 pm
Location: The Internet

Re: Servoy 6.1.3 - slow build

Postby jcompagner » Mon Dec 17, 2012 3:25 pm

rossent wrote:The build process today was quite slow for me. I had to switch the active solution several times and after that the build process became extremely slow. Attached is a file with a few stack dumps during that process.


does this only happen when you switch a few times of the active solution?
Because what it does what i see in the stacktrace, will happen all the time when you change something of a form (and that form extends another form)
Did you change and save something of such a form and then it happens? And it doesn't happen if you don't switch a few times between active solutions?
Johan Compagner
Servoy
User avatar
jcompagner
 
Posts: 8829
Joined: Tue May 27, 2003 7:26 pm
Location: The Internet

Re: Servoy 6.1.3 - slow build

Postby rossent » Mon Dec 17, 2012 5:13 pm

jcompagner wrote:
rossent wrote:The build process today was quite slow for me. I had to switch the active solution several times and after that the build process became extremely slow. Attached is a file with a few stack dumps during that process.


does this only happen when you switch a few times of the active solution?
Because what it does what i see in the stacktrace, will happen all the time when you change something of a form (and that form extends another form)
Did you change and save something of such a form and then it happens? And it doesn't happen if you don't switch a few times between active solutions?



Now that I have restarted the Servoy Developer, I can see that it is slow even without switching the active solution.
Rossen Totev
Argos Software
rossent
 
Posts: 288
Joined: Wed Dec 31, 2008 2:03 pm

PreviousNext

Return to Announcements

Who is online

Users browsing this forum: No registered users and 23 guests