[MGNLETK-98] Unable to open edit dialogs with UTF8 enabled Created: 07/Mar/13  Updated: 08/Mar/13  Resolved: 08/Mar/13

Status: Closed
Project: Extended Templating Kit (closed)
Component/s: None
Affects Version/s: 2.0.7
Fix Version/s: None

Type: Bug Priority: Critical
Reporter: Roman Kovařík Assignee: Jaroslav Simak
Resolution: Not an issue Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
relation
is related to DOCU-400 UTF-8 character encoding for Unicode Closed
Template:
Acceptance criteria:
Empty
Date of First Response:

 Description   

Steps to reproduce:

  1. Enable UTF-8.
  2. Use UTF-8 for a page name.
  3. Open this page.
  4. Try to open any dialog on the page ->

Stacktrace from log:

2013-03-07 10:29:30,358 ERROR info.magnolia.jcr.util.SessionUtil                : Exeption during node Search for nodePath: '/untitled5124č-ěč/promos' in repository: 'website'
javax.jcr.PathNotFoundException: /untitled5124č-ěč/promos
	at org.apache.jackrabbit.core.ItemManager.getNode(ItemManager.java:577)
	at org.apache.jackrabbit.core.session.SessionItemOperation$6.perform(SessionItemOperation.java:129)
	at org.apache.jackrabbit.core.session.SessionItemOperation$6.perform(SessionItemOperation.java:125)
	at org.apache.jackrabbit.core.session.SessionItemOperation.perform(SessionItemOperation.java:187)
	at org.apache.jackrabbit.core.session.SessionState.perform(SessionState.java:216)
	at org.apache.jackrabbit.core.SessionImpl.perform(SessionImpl.java:361)
	at org.apache.jackrabbit.core.SessionImpl.getNode(SessionImpl.java:1109)
	at info.magnolia.jcr.wrapper.DelegateSessionWrapper.getNode(DelegateSessionWrapper.java:179)
	at info.magnolia.jcr.wrapper.DelegateSessionWrapper.getNode(DelegateSessionWrapper.java:179)
	at info.magnolia.jcr.wrapper.NodeWrappingDelegateSessionWrapper.getNode(NodeWrappingDelegateSessionWrapper.java:55)
	at info.magnolia.jcr.util.SessionUtil.getNode(SessionUtil.java:78)
	at info.magnolia.module.extendedtemplatingkit.filters.MultiSiteFilter.getSiteForDialog(MultiSiteFilter.java:112)
	at info.magnolia.module.extendedtemplatingkit.filters.MultiSiteFilter.doFilter(MultiSiteFilter.java:66)
	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:91)
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83)
	at info.magnolia.cms.filters.MultiChannelFilter.doFilter(MultiChannelFilter.java:83)
	at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:61)
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83)
	at info.magnolia.module.cache.filter.GZipFilter.doFilter(GZipFilter.java:75)
	at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:61)
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83)
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:85)
	at info.magnolia.cms.security.auth.login.LoginFilter.doFilter(LoginFilter.java:93)
	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:91)
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83)
	at info.magnolia.enterprise.registration.RegistrationFilter.doFilter(RegistrationFilter.java:52)
	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:91)
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83)
	at info.magnolia.cms.filters.UnicodeNormalizationFilter.doFilter(UnicodeNormalizationFilter.java:90)
	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:91)
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83)
	at info.magnolia.cms.filters.CosMultipartRequestFilter.doFilter(CosMultipartRequestFilter.java:91)
	at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:61)
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83)
	at info.magnolia.module.devicedetection.filter.DeviceDetectionFilter.doFilter(DeviceDetectionFilter.java:73)
	at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:61)
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83)
	at info.magnolia.cms.filters.ContentTypeFilter.doFilter(ContentTypeFilter.java:102)
	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:91)
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83)
	at info.magnolia.cms.filters.ContextFilter.doFilter(ContextFilter.java:131)
	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:91)
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83)
	at info.magnolia.cms.filters.CompositeFilter.doFilter(CompositeFilter.java:67)
	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:91)
	at info.magnolia.cms.filters.SafeDestroyMgnlFilterWrapper.doFilter(SafeDestroyMgnlFilterWrapper.java:108)
	at info.magnolia.cms.filters.MgnlFilterDispatcher.doDispatch(MgnlFilterDispatcher.java:67)
	at info.magnolia.cms.filters.MgnlMainFilter.doFilter(MgnlMainFilter.java:108)
	at info.magnolia.cms.filters.MgnlMainFilter.doFilter(MgnlMainFilter.java:94)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
	at java.lang.Thread.run(Thread.java:662)

Stacktrace from page:

HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

java.lang.NullPointerException
	info.magnolia.module.extendedtemplatingkit.sites.ETKSiteManager.mappingMatchesContent(ETKSiteManager.java:317)
	info.magnolia.module.extendedtemplatingkit.sites.ETKSiteManager.getAssignedSite(ETKSiteManager.java:123)
	info.magnolia.module.extendedtemplatingkit.filters.MultiSiteFilter.getSiteForDialog(MultiSiteFilter.java:113)
	info.magnolia.module.extendedtemplatingkit.filters.MultiSiteFilter.doFilter(MultiSiteFilter.java:66)
	info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:91)
	info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83)
	info.magnolia.cms.filters.MultiChannelFilter.doFilter(MultiChannelFilter.java:83)
	info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:61)
	info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83)
	info.magnolia.module.cache.filter.GZipFilter.doFilter(GZipFilter.java:75)
	info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:61)
	info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83)
	info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:85)
	info.magnolia.cms.security.auth.login.LoginFilter.doFilter(LoginFilter.java:93)
	info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:91)
	info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83)
	info.magnolia.enterprise.registration.RegistrationFilter.doFilter(RegistrationFilter.java:52)
	info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:91)
	info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83)
	info.magnolia.cms.filters.UnicodeNormalizationFilter.doFilter(UnicodeNormalizationFilter.java:90)
	info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:91)
	info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83)
	info.magnolia.cms.filters.CosMultipartRequestFilter.doFilter(CosMultipartRequestFilter.java:91)
	info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:61)
	info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83)
	info.magnolia.module.devicedetection.filter.DeviceDetectionFilter.doFilter(DeviceDetectionFilter.java:73)
	info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:61)
	info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83)
	info.magnolia.cms.filters.ContentTypeFilter.doFilter(ContentTypeFilter.java:102)
	info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:91)
	info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83)
	info.magnolia.cms.filters.ContextFilter.doFilter(ContextFilter.java:131)
	info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:91)
	info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83)
	info.magnolia.cms.filters.CompositeFilter.doFilter(CompositeFilter.java:67)
	info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:91)
	info.magnolia.cms.filters.SafeDestroyMgnlFilterWrapper.doFilter(SafeDestroyMgnlFilterWrapper.java:108)
	info.magnolia.cms.filters.MgnlFilterDispatcher.doDispatch(MgnlFilterDispatcher.java:67)
	info.magnolia.cms.filters.MgnlMainFilter.doFilter(MgnlMainFilter.java:108)
	info.magnolia.cms.filters.MgnlMainFilter.doFilter(MgnlMainFilter.java:94)

note The full stack trace of the root cause is available in the Apache Tomcat/6.0.32 logs.
Apache Tomcat/6.0.32

The dialogs work fine without ETK.



 Comments   
Comment by Jaroslav Simak [ 07/Mar/13 ]

This is not an issue - see http://tomcat.apache.org/tomcat-6.0-doc/config/http.html URIEncoding. If we enable UTF-8 support we have to configure it in server.xml as well.

    <Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443"
               URIEncoding="UTF-8" />
Generated at Mon Feb 12 01:48:27 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.