Uploaded image for project: 'PUBLIC - Liferay Portal Community Edition'
  1. PUBLIC - Liferay Portal Community Edition
  2. LPS-101614

Cannot create web content with some special caracters

    Details

    • Fix Priority:
      4

      Description

      Steps to reproduce:

      1. Create a web content
      2. Write this text: https://gist.githubusercontent.com/p2kmgcl/8d004acd08ab90d5009e6d498a535478/raw/994080ce87d20cb22ee52006a8d8bb3d4bfd9c88/Sample%2520text inside the web content body
      3. Press publish

      Expected result:
      The web content is saved
      or
      Provide some warning about this restriction

      Actual result:
      Portal's UI crashes (see screenshot) and server log shows:

      ```
      2019-09-16 09:18:16.945 ERROR [http-nio-8080-exec-6][JDBCExceptionReporter:234] Incorrect string value: '\xF0\x9F\x92\xA9</...' for column 'content' at row 1
      2019-09-16 09:18:16.949 ERROR [http-nio-8080-exec-6][JDBCExceptionReporter:234] Duplicate entry '37638' for key 'PRIMARY'
      2019-09-16 09:18:16.957 ERROR [http-nio-8080-exec-6][PortletServlet:119] javax.portlet.PortletException: org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
      javax.portlet.PortletException: org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
      at com.liferay.portal.kernel.portlet.bridges.mvc.BaseMVCActionCommand.processAction(BaseMVCActionCommand.java:69)
      at com.liferay.portal.kernel.portlet.bridges.mvc.MVCPortlet.callActionMethod(MVCPortlet.java:378)
      at com.liferay.portal.kernel.portlet.LiferayPortlet.processAction(LiferayPortlet.java:88)
      at com.liferay.portal.kernel.portlet.bridges.mvc.MVCPortlet.processAction(MVCPortlet.java:260)
      at com.liferay.portlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:77)
      at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:50)
      at com.liferay.portal.kernel.servlet.PortletServlet.service(PortletServlet.java:115)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
      at org.eclipse.equinox.http.servlet.internal.registration.EndpointRegistration.service(EndpointRegistration.java:153)
      at org.eclipse.equinox.http.servlet.internal.servlet.ResponseStateHandler.processRequest(ResponseStateHandler.java:62)
      at org.eclipse.equinox.http.servlet.internal.context.DispatchTargets.doDispatch(DispatchTargets.java:120)
      at org.eclipse.equinox.http.servlet.internal.servlet.RequestDispatcherAdaptor.include(RequestDispatcherAdaptor.java:48)
      at com.liferay.portlet.internal.InvokerPortletImpl.invoke(InvokerPortletImpl.java:589)
      at com.liferay.portlet.internal.InvokerPortletImpl.invokeAction(InvokerPortletImpl.java:632)
      at com.liferay.portlet.internal.InvokerPortletImpl.processAction(InvokerPortletImpl.java:304)
      at com.liferay.portal.monitoring.internal.portlet.MonitoringInvokerPortlet.processAction(MonitoringInvokerPortlet.java:213)
      at com.liferay.portlet.internal.PortletContainerImpl._processAction(PortletContainerImpl.java:521)
      at com.liferay.portlet.internal.PortletContainerImpl.lambda$processAction$0(PortletContainerImpl.java:150)
      at com.liferay.portlet.internal.PortletContainerImpl._preserveGroupIds(PortletContainerImpl.java:425)
      at com.liferay.portlet.internal.PortletContainerImpl.processAction(PortletContainerImpl.java:143)
      at com.liferay.portlet.SecurityPortletContainerWrapper.processAction(SecurityPortletContainerWrapper.java:93)
      at com.liferay.portlet.RestrictPortletContainerWrapper.processAction(RestrictPortletContainerWrapper.java:76)
      at com.liferay.portal.kernel.portlet.PortletContainerUtil.processAction(PortletContainerUtil.java:118)
      at com.liferay.portal.action.LayoutAction.processLayout(LayoutAction.java:346)
      at com.liferay.portal.action.LayoutAction.execute(LayoutAction.java:170)
      at com.liferay.portal.struts.PortalRequestProcessor._process(PortalRequestProcessor.java:415)
      at com.liferay.portal.struts.PortalRequestProcessor.process(PortalRequestProcessor.java:155)
      at com.liferay.portal.internal.servlet.MainServlet.doPost(MainServlet.java:212)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:660)
      at com.liferay.portal.internal.servlet.MainServlet.service(MainServlet.java:619)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
      at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
      at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:124)
      at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:147)
      at com.liferay.portal.servlet.filters.uploadservletrequest.UploadServletRequestFilter.processFilter(UploadServletRequestFilter.java:112)
      at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:49)
      ```

        Attachments

          Activity

            People

            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Days since last comment:
                4 days ago

                Packages

                Version Package