XPages:有人可以对这些消息有所了解吗?

时间:2015-07-15 09:15:35

标签: java memory-leaks xpages

15/07/15 11:04: Exception Thrown
Context Path: /aalto803.nsf
Page Name: /Preferences.xsp
javax.faces.FacesException
    at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:102)
    at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:210)
    at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:96)
    at com.ibm.xsp.controller.FacesControllerImpl.execute(FacesControllerImpl.java:256)
    at com.ibm.xsp.webapp.FacesServlet.serviceView(FacesServlet.java:228)
    at com.ibm.xsp.webapp.FacesServletEx.serviceView(FacesServletEx.java:157)
    at com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:160)
    at com.ibm.xsp.webapp.FacesServletEx.service(FacesServletEx.java:138)
    at com.ibm.xsp.webapp.DesignerFacesServlet.service(DesignerFacesServlet.java:103)
    at com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet(ComponentModule.java:576)
    at com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(NSFComponentModule.java:1335)
    at com.ibm.designer.runtime.domino.adapter.ComponentModule$AdapterInvoker.invokeServlet(ComponentModule.java:853)
    at com.ibm.designer.runtime.domino.adapter.ComponentModule$ServletInvoker.doService(ComponentModule.java:796)
    at com.ibm.designer.runtime.domino.adapter.ComponentModule.doService(ComponentModule.java:565)
    at com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(NSFComponentModule.java:1319)
    at com.ibm.domino.xsp.module.nsf.NSFService.doServiceInternal(NSFService.java:662)
    at com.ibm.domino.xsp.module.nsf.NSFService.doService(NSFService.java:482)
    at com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(LCDEnvironment.java:357)
    at com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:313)
    at com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:272)
Caused by: java.lang.NullPointerException
    at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:317)
    at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:428)
    at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:94)
    ... 19 more

我们正在寻找内存泄漏,因此我们可以添加必要的recycle()语句。我们做的是:我们在我们的应用程序中打开一个文档,保存并关闭它,并且多次。我们可以看到,在大多数情况下,内存使用量会稳定几次,这似乎是一个好兆头。但是,在大约10次重复之后,应用程序会停止,上面的消息(NullPointerException)或NoAccessSignal。

不知道从哪里开始寻找......有什么想法吗?

以防有人想知道我们为什么不使用OpenNTF库:应用程序必须在R8.5 Domino服务器上运行。

2 个答案:

答案 0 :(得分:3)

问题:

java.lang.NullPointerException
    at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:317)

被跟踪为SPR#RGAU9UPLZ7。

当您在同一会话中对不同的XPage实例有2个并发请求时,会发生这种情况, 当请求线程以特定方式交互时(因此它通常是间歇性的)。 问题特定于“页面持久性”选项何时“在内存中”而不是“在磁盘上”(作为文件)。

答案 1 :(得分:0)

我之前没见过。它处于部分刷新的调用应用阶段(堆栈跟踪的第一行),因此当您的SSJS运行后,例如按一下按钮。 “由...引起”位指向broadcastEvents中的NullPointerException,这是XPage运行时的核心方法。因此它似乎与您的应用程序逻辑无关,而是更深层次的东西。

搜索“NullPointerException”和“broadcastEvents”我遇到了这个技术说明https://www-304.ibm.com/support/entdocview.wss?uid=swg1LO84237。不可否认,它适用于9.0,但这并不意味着在相同情况下早期版本中不存在该问题。

它听起来与内存泄漏没有关系 - 它没有给出内存不足的错误,而是在broadcastEvents中遇到NullPointerException,第317行.IBM可能能够揭示该行发生的事情以及它为什么会抛出NPE。