Unexpected exception while assembling one or more items:For input string: "undefined"

Hi,
I am trying to preview an assembly view (Preview->With Edits) and I get the above message. The page that pops up shows the following. Please advise:

Problem during the assembly of item
Click here to view velocity log

Parameters passed
Name Value 
useEditRevisions yes 
sys_revision -1 
sys_contentid 839 
sys_folderid undefined 
sys_context 0 
sys_siteid undefined 
sys_authtype 0 
sys_variantid 648 
sys_aamode 1 

Error reported
Unexpected exception while assembling one or more items: For input string: "undefined"

Please note: More information may be available on the console

This is likely an error caused by code in the templates (global, snippet or template). There is no way that I know of to “step through” the code and find the cause of the error. Sometimes, useful error messages are in the system’s application server log, which is named server.log. Where it sits might vary depending on your version of Percussion (I only know about 6.7), so do a search in the root folder of your installation.

You mentioned you got the error when you choose “Preview / With Edits”. Does the item preview fine when you do “Preview / Current Revision”? This will at least tell if the caused by an edit that was made since the last check-in.

It happens with Preview->Current Revision as well.
I am pasting the log from server.log. Does not tell me which field or whatever is causing the problem:



2011-07-26 09:55:38,828 ERROR [com.percussion.services.assembly.impl.PSAssemblyService] Failure while processing assembly item
java.lang.NumberFormatException: For input string: "undefined"
        at java.lang.NumberFormatException.forInputString(Unknown Source)
        at java.lang.Integer.parseInt(Unknown Source)
        at java.lang.Integer.parseInt(Unknown Source)
        at com.percussion.services.assembly.data.PSAssemblyWorkItem.o00000(Unknown Source)
        at com.percussion.services.assembly.data.PSAssemblyWorkItem.normalize(Unknown Source)
        at com.percussion.services.assembly.impl.PSAssemblyService.processServletRequest(Unknown Source)
        at sun.reflect.GeneratedMethodAccessor568.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
        at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
        at $Proxy121.processServletRequest(Unknown Source)
        at com.percussion.services.assembly.impl.PSAssemblyServlet.service(Unknown Source)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at com.percussion.webdav.PSWebDavRequestFilter.doFilter(PSWebDavRequestFilter.java:90)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at com.percussion.servlets.PSSecurityFilter.doFilter(Unknown Source)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at com.percussion.servlets.PSCharacterSetFilter.doFilter(Unknown Source)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
        at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)
        at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:159)
        at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
        at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
        at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
        at java.lang.Thread.run(Unknown Source)
2011-07-26 09:55:38,829 ERROR [com.percussion.services.assembly.impl.PSAssemblyServlet] Problem in assembly servlet
com.percussion.services.assembly.PSAssemblyException: Unexpected exception while assembling one or more items: For input string: "undefined"
        at com.percussion.services.assembly.impl.PSAssemblyService.processServletRequest(Unknown Source)
        at sun.reflect.GeneratedMethodAccessor568.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
        at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
        at $Proxy121.processServletRequest(Unknown Source)
        at com.percussion.services.assembly.impl.PSAssemblyServlet.service(Unknown Source)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at com.percussion.webdav.PSWebDavRequestFilter.doFilter(PSWebDavRequestFilter.java:90)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at com.percussion.servlets.PSSecurityFilter.doFilter(Unknown Source)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at com.percussion.servlets.PSCharacterSetFilter.doFilter(Unknown Source)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
        at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)
        at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:159)
        at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
        at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
        at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
        at java.lang.Thread.run(Unknown Source)


Any thoughts based on the logs above ?

thanks.

Most of the time, the log will not tell you exactly which field or line of code is causing the problem, but it will give you clues. What this points to is that there is some method being called which expects an integer is being passed a parameter that is not defined, e.g. the name of variable passed as a parameter may have a typo, or the value itself does not defined, even through the developer of the template expected it to. I’m not sure if you wrote your templates or not, but I would comb through the code and look for velocity calls that take an integer as parameter. Frankly, since Percussion is written in Java and running on a Java application server, it certainly helps me having some Java experience. Without this, it’s even more difficult than it already is to debug and troubleshoot.

I wrote the template - I commented out everything in it except for this:

<html>
<head>
<title>my template</title>
</head>
<body>
</body>

Still gives a numberformatexception. Happens for other templates too. If I login under a different community and try the same with other working templates, I get the same. Is this a permissions thing ? It says sys_folderid and sys_siteid are undefined in the error screen. Is that the problem ?

Are you using the PSO Dynamic Preview or using the standard method? If you are using the standard method, have you created the preview for the specific site (where you have to hard code the site id as a preview parameter?). It looks like there is something wrong with the preview menu action as the sys_folderid and sys_siteid are not being passed to the preview servlet.

  1. I right-click on a content item and choose Edit - shows the ‘Edit Content’ popup window.
  2. I scroll down to the bottom and in the ‘Related Content’ box, click on the template link.
  3. It pops up the ‘<content type> Template’ window. This has the horizontal menus like Content, Edit, View, Workflow, Tools, Preview, Account and Help.
  4. I click on Preview->Current Revisions.
  5. This pops up the error screen that says “Problem during the assembly of item” …Parameters passed… sys_folderid undefined…sys_siteid undefined…
    (exact messages in my original post below).

Is this the standard method ? I have not created any preview with hardcoded siteid values.
Please direct me to which areas I can explore to troubleshoot.