XPages problem after upgrading to 8.5.2

Some of our applications end up with error 500 after upgrading to 8.5.2.After examining log files I’ve found this exception:

java.lang.ClassCastException: com.sun.faces.context.FacesContextImpl incompatible with com.ibm.xsp.context.FacesContextEx

at com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:136)

at com.ibm.xsp.webapp.FacesServletEx.service(FacesServletEx.java:137)

at com.ibm.xsp.webapp.DesignerFacesServlet.service(DesignerFacesServlet.java:86)

at com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet(ComponentModule.java:538)

at com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(NSFComponentModule.java:1140)

at com.ibm.designer.runtime.domino.adapter.ComponentModule$AdapterInvoker.invokeServlet(ComponentModule.java:803)

at com.ibm.designer.runtime.domino.adapter.ComponentModule$ServletInvoker.doService(ComponentModule.java:758)

at com.ibm.designer.runtime.domino.adapter.ComponentModule.doService(ComponentModule.java:527)

at com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(NSFComponentModule.java:1124)

at com.ibm.domino.xsp.module.nsf.NSFService.doServiceInternal(NSFService.java:513)

at com.ibm.domino.xsp.module.nsf.NSFService.doService(NSFService.java:342)

at com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(LCDEnvironment.java:304)

at com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:261)

at com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:291)

Subject: Not solved

After bit more digging I found this exception. It seems to be a root cause.

com.ibm.domino.xsp.bridge.http.exception.XspCmdException: HTTP: Error Reading Post Data:

at com.ibm.domino.xsp.bridge.http.engine.XspCmdNativeBridge.native_read(Native Method)

at com.ibm.domino.xsp.bridge.http.engine.XspCmdNativeBridge.read(XspCmdNativeBridge.java:428)

at com.ibm.domino.xsp.bridge.http.engine.XspCmdNativeContext.read(XspCmdNativeContext.java:75)

at com.ibm.domino.xsp.bridge.http.servlet.XspCmdServletInputStream.fillBuffer(XspCmdServletInputStream.java:118)

at com.ibm.domino.xsp.bridge.http.servlet.XspCmdServletInputStream.<init>(XspCmdServletInputStream.java:77)

at com.ibm.domino.xsp.bridge.http.servlet.XspCmdHttpServletRequest.getInputStream(XspCmdHttpServletRequest.java:1296)

at com.ibm.domino.xsp.bridge.http.servlet.XspCmdHttpServletRequest.loadParameters(XspCmdHttpServletRequest.java:841)

at com.ibm.domino.xsp.bridge.http.servlet.XspCmdHttpServletRequest.getParameter(XspCmdHttpServletRequest.java:1035)

at com.ibm.designer.runtime.domino.adapter.servlet.LCDAdapterHttpServletRequest.getParameter(LCDAdapterHttpServletRequest.java:268)

at com.ibm.xsp.http.FileUploadRequestWrapper.getParameter(FileUploadRequestWrapper.java:604)

at javax.servlet.ServletRequestWrapper.getParameter(ServletRequestWrapper.java:161)

at com.sun.faces.context.RequestParameterMap.get(ExternalContextImpl.java:629)

at com.ibm.xsp.context.FacesContextExImpl.<init>(FacesContextExImpl.java:171)

at com.ibm.xsp.domino.context.DominoFacesContext.<init>(DominoFacesContext.java:32)

at com.ibm.xsp.domino.context.DominoFacesContextFactoryImpl.getFacesContext(DominoFacesContextFactoryImpl.java:67)

at com.ibm.xsp.controller.FacesControllerImpl.getFacesContext(FacesControllerImpl.java:175)

at com.ibm.xsp.webapp.FacesServlet.getFacesContext(FacesServlet.java:251)

at com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:136)

at com.ibm.xsp.webapp.FacesServletEx.service(FacesServletEx.java:137)

at com.ibm.xsp.webapp.DesignerFacesServlet.service(DesignerFacesServlet.java:86)

at com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet(ComponentModule.java:538)

at com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(NSFComponentModule.java:1140)

at com.ibm.designer.runtime.domino.adapter.ComponentModule$AdapterInvoker.invokeServlet(ComponentModule.java:803)

at com.ibm.designer.runtime.domino.adapter.ComponentModule$ServletInvoker.doService(ComponentModule.java:758)

at com.ibm.designer.runtime.domino.adapter.ComponentModule.doService(ComponentModule.java:527)

at com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(NSFComponentModule.java:1124)

at com.ibm.domino.xsp.module.nsf.NSFService.doServiceInternal(NSFService.java:513)

at com.ibm.domino.xsp.module.nsf.NSFService.doService(NSFService.java:342)

at com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(LCDEnvironment.java:304)

at com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:261)

at com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:291)

Subject: Same error over here

Currently in one of our applications we are receiving the same issue. If we create a new application after the first time this error occured that application also is causing errors ( so it seems that the xsp render engine is somehow bugged when it occures an error ).

After some research I found that one of the custom controls we build was using the simple action Execute script in the beforepageload event. As soon as I remove these calls from the custom controls the error is gone as well.

On top of that: When I open the specific control with the execute script calls still inside my designer also throws a class cast exception :

An error has occurred. See error log for more details.

com.ibm.designer.domino.xsp.internal.events.simpleactions.uimodel.SimpleActionElement incompatible with com.ibm.designer.domino.xsp.internal.events.simpleactions.uimodel.SimpleActionElementRoot

Subject: same here as well

You described my case exactly.

App worked in 8.5.1 for 9+ months but since the update getting these 500 errors about once a week. Seems to break other xpages apps as well when it happens. Restarted/refeshing http seems to fix for a while.

Any luck working around this issue?

Subject: same problem with our custom classes

It started with 852 upgrade. Once problem occurs, it spreads to other xpages and we have to restart http.

Has anybody opened PMR for this? Definitely bug.

http://www-10.lotus.com/ldd/ddwiki.nsf/page.xsp?documentId=10ADEE1A69FEFF9385257727003DDF59&action=openDocument (read section “classloader problems at runtime” at the end)

Subject: same here

I’ve got the same error. I’m using an afterPageLoad simple action with an execute client script.

java.lang.ClassCastException

An error has occurred. See error log for more details.

com.ibm.designer.domino.xsp.internal.events.simpleactions.uimodel.SimpleActionElement incompatible with com.ibm.designer.domino.xsp.internal.events.simpleactions.uimodel.SimpleActionElementRoot

Subject: Same problem

Hi

We are experiencing the same issue and it is driving me mad. Did you manage to resolve this?

Subject: Stepan & Steven | Do you have the full scenario? …

… and have you called it in with Support?

Have you a sample app that reproduces this?

paul_hannan at ie.ibm.com

Subject: Servlet manager

Are you using domino servlets on the servers with this issue? We are and we suspect the servlet manager to be causing the issue.

Subject: Downgrade

We tried really hard but with no success. We had to perform a downgrade to be able to run our application.