Uploaded image for project: 'Confluence Data Center'
  1. Confluence Data Center
  2. CONFSERVER-8855

Page title length is not being validated, leading to errorpage for titles longer than 255 characters

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Low
    • 2.5.5, 2.6.0
    • 2.5.2, 2.5.4
    • None

    Description

      Even though the page title has a max length limit of 255 characters the validation of this constraint is not implemented.

      When a user enters a page title longer than 255 characters an error page with an exception is displayed.

      Input:
      01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789

      Exception thrown:

      Cause:
      org.springframework.jdbc.UncategorizedSQLException: (HibernateTemplate): encountered SQLException [Data truncation: Data truncated for column 'TITLE' at row 1]; nested exception is java.sql.BatchUpdateException: Data truncation: Data truncated for column 'TITLE' at row 1
      at org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.translate(SQLStateSQLExceptionTranslator.java:99)
      caused by: java.sql.BatchUpdateException: Data truncation: Data truncated for column 'TITLE' at row 1
      at com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.java:1237)

      Stack Trace: [hide]

      org.springframework.jdbc.UncategorizedSQLException: (HibernateTemplate): encountered SQLException [Data truncation: Data truncated for column 'TITLE' at row 1]; nested exception is java.sql.BatchUpdateException: Data truncation: Data truncated for column 'TITLE' at row 1
      java.sql.BatchUpdateException: Data truncation: Data truncated for column 'TITLE' at row 1
      at com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.java:1237)
      at com.mysql.jdbc.PreparedStatement.executeBatch(PreparedStatement.java:936)
      at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeBatch(NewProxyPreparedStatement.java:1723)
      at net.sf.hibernate.impl.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:54)
      at net.sf.hibernate.impl.BatcherImpl.executeBatch(BatcherImpl.java:128)
      at net.sf.hibernate.impl.SessionImpl.executeAll(SessionImpl.java:2438)
      at net.sf.hibernate.impl.SessionImpl.execute(SessionImpl.java:2393)
      at net.sf.hibernate.impl.SessionImpl.flush(SessionImpl.java:2261)
      at net.sf.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:61)
      at org.springframework.orm.hibernate.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:472)
      at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:397)
      at com.atlassian.xwork.interceptors.XWorkTransactionInterceptor$1.beforeResult(XWorkTransactionInterceptor.java:89)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:181)
      at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
      at com.opensymphony.xwork.interceptor.DefaultWorkflowInterceptor.intercept(DefaultWorkflowInterceptor.java:55)
      at com.atlassian.confluence.core.ConfluenceWorkflowInterceptor.intercept(ConfluenceWorkflowInterceptor.java:39)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
      at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
      at com.atlassian.confluence.core.ConfluenceValidationInterceptor.intercept(ConfluenceValidationInterceptor.java:16)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
      at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
      at com.atlassian.confluence.util.LoggingContextInterceptor.intercept(LoggingContextInterceptor.java:48)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
      at com.atlassian.confluence.security.actions.PermissionCheckInterceptor.intercept(PermissionCheckInterceptor.java:47)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
      at com.atlassian.confluence.pages.actions.PageAwareInterceptor.intercept(PageAwareInterceptor.java:114)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
      at com.atlassian.confluence.spaces.actions.SpaceAwareInterceptor.intercept(SpaceAwareInterceptor.java:67)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
      at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
      at com.atlassian.confluence.core.actions.LastModifiedInterceptor.intercept(LastModifiedInterceptor.java:39)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
      at com.atlassian.confluence.core.ConfluenceAutowireInterceptor.intercept(ConfluenceAutowireInterceptor.java:25)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
      at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
      at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
      at com.atlassian.xwork.interceptors.XWorkTransactionInterceptor.intercept(XWorkTransactionInterceptor.java:98)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
      at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
      at com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:115)
      at com.opensymphony.webwork.dispatcher.ServletDispatcher.serviceAction(ServletDispatcher.java:229)
      at com.opensymphony.webwork.dispatcher.ServletDispatcher.service(ServletDispatcher.java:199)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:917)
      at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:391)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:297)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:178)
      at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:117)
      at com.atlassian.confluence.util.profiling.ProfilingPageFilter.parsePage(ProfilingPageFilter.java:137)
      at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:51)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:210)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:178)
      at com.atlassian.core.filters.ServletContextThreadLocalFilter.doFilter(ServletContextThreadLocalFilter.java:21)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:210)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:178)
      at com.atlassian.confluence.util.LoggingContextFilter.doFilter(LoggingContextFilter.java:46)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:210)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:178)
      at com.atlassian.confluence.util.UserThreadLocalFilter.doFilter(UserThreadLocalFilter.java:44)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:210)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:178)
      at com.atlassian.seraph.filter.SecurityFilter.doFilter(SecurityFilter.java:182)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:210)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:178)
      at com.atlassian.seraph.filter.LoginFilter.doFilter(LoginFilter.java:159)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:210)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:178)
      at com.atlassian.confluence.util.ClusterHeaderFilter.doFilter(ClusterHeaderFilter.java:35)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:210)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:178)
      at com.atlassian.johnson.filters.JohnsonFilter.doFilter(JohnsonFilter.java:96)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:210)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:178)
      at org.springframework.orm.hibernate.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:172)
      at com.atlassian.spring.filter.FlushingSpringSessionInViewFilter.doFilterInternal(FlushingSpringSessionInViewFilter.java:29)
      at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:210)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:178)
      at com.atlassian.util.profiling.filters.ProfilingFilter.doFilter(ProfilingFilter.java:122)
      at com.atlassian.core.filters.ProfilingAndErrorFilter.doFilter(ProfilingAndErrorFilter.java:27)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:210)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:178)
      at com.atlassian.confluence.util.RequestCacheThreadLocalFilter.doFilter(RequestCacheThreadLocalFilter.java:25)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:210)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:178)
      at com.atlassian.core.filters.gzip.GzipFilter.doFilter(GzipFilter.java:61)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:210)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:178)
      at com.atlassian.core.filters.AbstractEncodingFilter.doFilter(AbstractEncodingFilter.java:37)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:210)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:178)
      at com.sun.dse.wikis.auth.SsoFilter.doFilter(SsoFilter.java:136)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:210)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:178)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:270)
      at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:241)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:182)
      at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:160)
      at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
      at com.sun.webserver.connector.nsapi.NSAPIProcessor.process(NSAPIProcessor.java:149)
      at com.sun.webserver.connector.nsapi.NSAPIConnector.service(NSAPIConnector.java:995)

      Attachments

        Issue Links

          Activity

            People

              sleberrigaud Samuel Le Berrigaud
              15d9a6950818 Igor Minar
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - 0.5h
                  0.5h
                  Remaining:
                  Remaining Estimate - 0.5h
                  0.5h
                  Logged:
                  Time Spent - Not Specified
                  Not Specified