Broken server JS library - "Error while parsing JavaScript code"

One of my server javascript libraries, which was working yesterday, is now broken and I can’t see the problem.

Earlier today, I commented out a global variable and made minor changes to two functions. Now, every time I load an XPage that uses this library I get the error message:

Error while executing JavaScript computed expression

Error while reading library ‘/ISWXPageLib.jss’

Error while parsing JavaScript code

The error message is followed immediately by the stack trace. No information is given about a specific line of my code causing the error.

I’ve inspected my code a few times and can’t see any problems. It appears to be correct syntax, so I have no idea why the error is occurring. Does anyone know what the problem could be?

The full stack trace is as follows:

com.ibm.xsp.exception.EvaluationExceptionEx: Error while executing JavaScript computed expression

com.ibm.xsp.binding.javascript.JavaScriptValueBinding.getValue(JavaScriptValueBinding.java:129)

javax.faces.component.UIOutput.getValue(UIOutput.java:159)

com.ibm.xsp.renderkit.html_basic.OutputTextRenderer.encodeEnd(OutputTextRenderer.java:80)

com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeEnd(ReadOnlyAdapterRenderer.java:138)

javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:956)

com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:680)

com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:675)

com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:675)

com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:675)

com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:675)

com.ibm.xsp.application.ViewHandlerExImpl.renderComponent(ViewHandlerExImpl.java:571)

com.ibm.xsp.application.ViewHandlerExImpl.doRender(ViewHandlerExImpl.java:559)

com.ibm.xsp.application.ViewHandlerExImpl._renderView(ViewHandlerExImpl.java:312)

com.ibm.xsp.application.ViewHandlerExImpl.renderView(ViewHandlerExImpl.java:341)

com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:103)

com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:210)

com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:120)

com.ibm.xsp.controller.FacesControllerImpl.render(FacesControllerImpl.java:240)

com.ibm.xsp.webapp.FacesServlet.serviceView(FacesServlet.java:201)

com.ibm.xsp.webapp.FacesServletEx.serviceView(FacesServletEx.java:151)

com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:148)

com.ibm.xsp.webapp.FacesServletEx.service(FacesServletEx.java:128)

com.ibm.xsp.webapp.DesignerFacesServlet.service(DesignerFacesServlet.java:113)

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

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

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

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

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

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

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

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

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

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

com.ibm.jscript.InterpretException: Error while reading library ‘/ISWXPageLib.jss’

com.ibm.designer.runtime.script.WorkplaceDesignerOptions$LibraryEntry.loadLibrary(WorkplaceDesignerOptions.java:162)

com.ibm.designer.runtime.script.WorkplaceDesignerOptions$LibraryEntry.(WorkplaceDesignerOptions.java:126)

com.ibm.designer.runtime.script.WorkplaceDesignerOptions$LibraryEntry.(WorkplaceDesignerOptions.java:119)

com.ibm.designer.runtime.script.WorkplaceDesignerOptions.loadLibrary(WorkplaceDesignerOptions.java:214)

com.ibm.jscript.types.FBSGlobalObject.importLibrary(FBSGlobalObject.java:633)

com.ibm.jscript.engine.ProgramContext.(ProgramContext.java:52)

com.ibm.jscript.JSExpression.createProgramContext(JSExpression.java:422)

com.ibm.jscript.JSExpression.evaluateValue(JSExpression.java:233)

com.ibm.xsp.javascript.JavaScriptInterpreter.interpret(JavaScriptInterpreter.java:193)

com.ibm.xsp.javascript.JavaScriptInterpreter.interpret(JavaScriptInterpreter.java:165)

com.ibm.xsp.binding.javascript.JavaScriptValueBinding.getValue(JavaScriptValueBinding.java:75)

javax.faces.component.UIOutput.getValue(UIOutput.java:159)

com.ibm.xsp.renderkit.html_basic.OutputTextRenderer.encodeEnd(OutputTextRenderer.java:80)

com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeEnd(ReadOnlyAdapterRenderer.java:138)

javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:956)

com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:680)

com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:675)

com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:675)

com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:675)

com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:675)

com.ibm.xsp.application.ViewHandlerExImpl.renderComponent(ViewHandlerExImpl.java:571)

com.ibm.xsp.application.ViewHandlerExImpl.doRender(ViewHandlerExImpl.java:559)

com.ibm.xsp.application.ViewHandlerExImpl._renderView(ViewHandlerExImpl.java:312)

com.ibm.xsp.application.ViewHandlerExImpl.renderView(ViewHandlerExImpl.java:341)

com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:103)

com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:210)

com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:120)

com.ibm.xsp.controller.FacesControllerImpl.render(FacesControllerImpl.java:240)

com.ibm.xsp.webapp.FacesServlet.serviceView(FacesServlet.java:201)

com.ibm.xsp.webapp.FacesServletEx.serviceView(FacesServletEx.java:151)

com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:148)

com.ibm.xsp.webapp.FacesServletEx.service(FacesServletEx.java:128)

com.ibm.xsp.webapp.DesignerFacesServlet.service(DesignerFacesServlet.java:113)

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

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

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

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

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

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

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

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

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

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

com.ibm.commons.vfs.VFSException: Error while parsing JavaScript code

com.ibm.designer.runtime.script.WorkplaceDesignerOptions$LibraryEntry$1.loadObject(WorkplaceDesignerOptions.java:153)

com.ibm.commons.vfs.VFSObjectCache.get(VFSObjectCache.java:106)

com.ibm.commons.vfs.VFSObjectCache.get(VFSObjectCache.java:92)

com.ibm.designer.runtime.script.WorkplaceDesignerOptions$LibraryEntry.loadLibrary(WorkplaceDesignerOptions.java:137)

com.ibm.designer.runtime.script.WorkplaceDesignerOptions$LibraryEntry.(WorkplaceDesignerOptions.java:126)

com.ibm.designer.runtime.script.WorkplaceDesignerOptions$LibraryEntry.(WorkplaceDesignerOptions.java:119)

com.ibm.designer.runtime.script.WorkplaceDesignerOptions.loadLibrary(WorkplaceDesignerOptions.java:214)

com.ibm.jscript.types.FBSGlobalObject.importLibrary(FBSGlobalObject.java:633)

com.ibm.jscript.engine.ProgramContext.(ProgramContext.java:52)

com.ibm.jscript.JSExpression.createProgramContext(JSExpression.java:422)

com.ibm.jscript.JSExpression.evaluateValue(JSExpression.java:233)

com.ibm.xsp.javascript.JavaScriptInterpreter.interpret(JavaScriptInterpreter.java:193)

com.ibm.xsp.javascript.JavaScriptInterpreter.interpret(JavaScriptInterpreter.java:165)

com.ibm.xsp.binding.javascript.JavaScriptValueBinding.getValue(JavaScriptValueBinding.java:75)

javax.faces.component.UIOutput.getValue(UIOutput.java:159)

com.ibm.xsp.renderkit.html_basic.OutputTextRenderer.encodeEnd(OutputTextRenderer.java:80)

com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeEnd(ReadOnlyAdapterRenderer.java:138)

javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:956)

com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:680)

com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:675)

com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:675)

com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:675)

com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:675)

com.ibm.xsp.application.ViewHandlerExImpl.renderComponent(ViewHandlerExImpl.java:571)

com.ibm.xsp.application.ViewHandlerExImpl.doRender(ViewHandlerExImpl.java:559)

com.ibm.xsp.application.ViewHandlerExImpl._renderView(ViewHandlerExImpl.java:312)

com.ibm.xsp.application.ViewHandlerExImpl.renderView(ViewHandlerExImpl.java:341)

com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:103)

com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:210)

com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:120)

com.ibm.xsp.controller.FacesControllerImpl.render(FacesControllerImpl.java:240)

com.ibm.xsp.webapp.FacesServlet.serviceView(FacesServlet.java:201)

com.ibm.xsp.webapp.FacesServletEx.serviceView(FacesServletEx.java:151)

com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:148)

com.ibm.xsp.webapp.FacesServletEx.service(FacesServletEx.java:128)

com.ibm.xsp.webapp.DesignerFacesServlet.service(DesignerFacesServlet.java:113)

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

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

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

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

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

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

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

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

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

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

java.lang.NullPointerException

com.ibm.commons.util.io.FastBufferedInputStream.close(FastBufferedInputStream.java:141)

sun.nio.cs.StreamDecoder.implClose(StreamDecoder.java:396)

sun.nio.cs.StreamDecoder.close(StreamDecoder.java:206)

java.io.InputStreamReader.close(InputStreamReader.java:196)

com.ibm.commons.vfs.VFSFile.doLoadAsString(VFSFile.java:440)

com.ibm.commons.vfs.VFSFile.loadAsString(VFSFile.java:428)

com.ibm.designer.runtime.script.WorkplaceDesignerOptions$LibraryEntry$1.loadObject(WorkplaceDesignerOptions.java:141)

com.ibm.commons.vfs.VFSObjectCache.get(VFSObjectCache.java:106)

com.ibm.commons.vfs.VFSObjectCache.get(VFSObjectCache.java:92)

com.ibm.designer.runtime.script.WorkplaceDesignerOptions$LibraryEntry.loadLibrary(WorkplaceDesignerOptions.java:137)

com.ibm.designer.runtime.script.WorkplaceDesignerOptions$LibraryEntry.(WorkplaceDesignerOptions.java:126)

com.ibm.designer.runtime.script.WorkplaceDesignerOptions$LibraryEntry.(WorkplaceDesignerOptions.java:119)

com.ibm.designer.runtime.script.WorkplaceDesignerOptions.loadLibrary(WorkplaceDesignerOptions.java:214)

com.ibm.jscript.types.FBSGlobalObject.importLibrary(FBSGlobalObject.java:633)

com.ibm.jscript.engine.ProgramContext.(ProgramContext.java:52)

com.ibm.jscript.JSExpression.createProgramContext(JSExpression.java:422)

com.ibm.jscript.JSExpression.evaluateValue(JSExpression.java:233)

com.ibm.xsp.javascript.JavaScriptInterpreter.interpret(JavaScriptInterpreter.java:193)

com.ibm.xsp.javascript.JavaScriptInterpreter.interpret(JavaScriptInterpreter.java:165)

com.ibm.xsp.binding.javascript.JavaScriptValueBinding.getValue(JavaScriptValueBinding.java:75)

javax.faces.component.UIOutput.getValue(UIOutput.java:159)

com.ibm.xsp.renderkit.html_basic.OutputTextRenderer.encodeEnd(OutputTextRenderer.java:80)

com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeEnd(ReadOnlyAdapterRenderer.java:138)

javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:956)

com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:680)

com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:675)

com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:675)

com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:675)

com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:675)

com.ibm.xsp.application.ViewHandlerExImpl.renderComponent(ViewHandlerExImpl.java:571)

com.ibm.xsp.application.ViewHandlerExImpl.doRender(ViewHandlerExImpl.java:559)

com.ibm.xsp.application.ViewHandlerExImpl._renderView(ViewHandlerExImpl.java:312)

com.ibm.xsp.application.ViewHandlerExImpl.renderView(ViewHandlerExImpl.java:341)

com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:103)

com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:210)

com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:120)

com.ibm.xsp.controller.FacesControllerImpl.render(FacesControllerImpl.java:240)

com.ibm.xsp.webapp.FacesServlet.serviceView(FacesServlet.java:201)

com.ibm.xsp.webapp.FacesServletEx.serviceView(FacesServletEx.java:151)

com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:148)

com.ibm.xsp.webapp.FacesServletEx.service(FacesServletEx.java:128)

com.ibm.xsp.webapp.DesignerFacesServlet.service(DesignerFacesServlet.java:113)

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

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

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

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

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

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

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

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

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

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

Subject: Let’s see your database

I’m interested seeing what’s wrong with your database, so it would be great if you can send us a copyOn the other hand, what happens if you delete the library and recreate it with the same code. Does that solve the issue?

Subject: Can’t follow up now…

I haven’t tried just copying the code into a new library.

I actually had to revert my changes yesterday, in order to get it working for my boss to do a demo.

Simply changing the modified code back to what it was three days ago, in the same library, made the error go away. Because of this, I’m pretty sure it must be something in the way the code was formatted, but I now don’t have time to investigate further because I have a deadline on some other work.