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.