在XPiNC V10中开发XPages时出现StackoverflowError

时间:2018-10-24 20:25:33

标签: xpages domino-designer-eclipse

嗨,我遇到了一个主要问题,该问题发生在IBM Notes 9.0.1 FP10和现在的V10中。我相信这可能与Openntf Domino API的最新版本有关。仅打开Notes Client,一切都很好。打开设计器,然后又在客户端(XPiNC)中恢复到XPages时,我开始遇到错误500s,并且共享内存或XPiNC变得无响应之后,Notes崩溃。通过浏览器访问相同页面时,我没有任何问题。

我在多台PC上遇到了完全相同的问题。我过去可以通过降级到9.0.1 FP9来解决此问题。该溶液是100%可重现的。显然,我不再希望留在Notes 9.0.1 FP9上。

没有其他用户-他们不使用Domino Designer并且在Notes Client 9.0.1 FP8或更低版本上-受此问题的影响。

日志跟踪提供了以下内容。第一个(最多... 17个)被声明一次。之后的日志将重复数十次,直到我认为一切都不对了。

任何帮助将不胜感激,这使我发疯了几个月。

    CLFAD0256E: Dispatcher Servlet Problem - java.util.concurrent.ExecutionException: java.lang.StackOverflowError
javax.servlet.ServletException: java.util.concurrent.ExecutionException: java.lang.StackOverflowError
    at com.ibm.domino.xsp.module.nsf.NSFService.doService(Unknown Source)
    at com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(Unknown Source)
    at com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(Unknown Source)
    at com.ibm.domino.xsp.bridge.websrv.servlets.DispatcherServlet.service(Unknown Source)
    at org.eclipse.equinox.http.registry.internal.ServletManager$ServletWrapper.service(Unknown Source)
    at org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(Unknown Source)
    at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(Unknown Source)
    at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(Unknown Source)
    at javax.servlet.http.HttpServlet.service(Unknown Source)
    at com.ibm.pvc.webhttpservice.BridgeServlet.service(Unknown Source)
    at com.ibm.pvc.internal.webcontainer.VirtualHost.handleRequest(Unknown Source)
    at com.ibm.ws.webcontainer.WebContainer.handleRequest(Unknown Source)
    at com.ibm.wsspi.webcontainer.WebContainer.handleRequest(Unknown Source)
    at com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(Unknown Source)
    at com.ibm.ws.http.HttpConnection.readAndHandleRequest(Unknown Source)
    at com.ibm.ws.http.HttpConnection.run(Unknown Source)
    at com.ibm.ws.util.ThreadPool$Worker.run(Unknown Source)
Caused by: java.util.concurrent.ExecutionException: java.lang.StackOverflowError
    at java.util.concurrent.FutureTask.report(Unknown Source)
    at java.util.concurrent.FutureTask.get(Unknown Source)
    ... 17 more
Caused by: java.lang.StackOverflowError
    at sun.nio.cs.UTF8_Decoder.decodeArrayLoop(Unknown Source)
    at sun.nio.cs.UTF8_Decoder.decodeLoop(Unknown Source)
    at java.nio.charset.CharsetDecoder.decode(Unknown Source)
    at sun.net.www.ParseUtil.decode(Unknown Source)
    at sun.security.provider.PolicyFile.canonicalizeCodebase(Unknown Source)
    at sun.security.provider.PolicyFile.access$700(Unknown Source)
    at sun.security.provider.PolicyFile$5.run(Unknown Source)
    at sun.security.provider.PolicyFile$5.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Unknown Source)
    at sun.security.provider.PolicyFile.getPermissions(Unknown Source)
    at sun.security.provider.PolicyFile.getPermissions(Unknown Source)
    at sun.security.provider.PolicyFile.implies(Unknown Source)
    at java.security.ProtectionDomain.implies(Unknown Source)
    at java.security.AccessController.checkPermissionHelper(Unknown Source)
    at java.security.AccessController.checkPermission(Unknown Source)
    at java.lang.SecurityManager.checkPermission(Unknown Source)
    at COM.ibm.JEmpower.applet.XPagesSecurityManager.checkPermission(Unknown Source)
    at COM.ibm.JEmpower.applet.XPagesSecurityManager.checkPermission(Unknown Source)
    at java.lang.SecurityManager.checkRead(Unknown Source)
    at java.io.File.isDirectory(Unknown Source)

1 个答案:

答案 0 :(得分:0)

我认为这不是官方发展援助。我怀疑您遇到的是启用了“自动生成”的DDE设置。 XPiNC与DDE共享源代码。在Notes中打开应用程序将缓存已构建的Java文件。在DDE中进行构建会重建Java文件,因此XPiNC将不再使用它们。 doService()是对XPages运行时(Servlet)的初始调用。没有人遇到这个问题,因为他们没有重建Java源代码。

我对XPiNC开发的建议是通过在浏览器中进行测试来使其按您的需要工作。然后在XPiNC中进行最终测试,以发现任何意外的怪癖。