[ 
http://jira.magnolia-cms.com/browse/MAGNOLIA-2695?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Work on MAGNOLIA-2695 started by Jan Haderka.

> Activation fails for nodes with long names when name is longer then max 
> filename length of underlying file system
> -----------------------------------------------------------------------------------------------------------------
>
>                 Key: MAGNOLIA-2695
>                 URL: http://jira.magnolia-cms.com/browse/MAGNOLIA-2695
>             Project: Magnolia
>          Issue Type: Bug
>          Components: activation
>    Affects Versions: 4.0.1, 3.6.5
>         Environment: OpenJDK 1.6.0 on CentOS 5.3 64bit with ext3 filesystem, 
> Magnolia OnAir 4.0.1
>            Reporter: Manfred Stock
>            Assignee: Jan Haderka
>            Priority: Minor
>             Fix For: 3.6.x, 4.0.2, 4.1
>
>
> We've got a case where we automatically generate node names that can become 
> longer than about 220 characters. This seems to be no problem in the author 
> instance, but the activation of such a node fails with the following 
> exception:
> {noformat} 
> 2009-04-21 10:55:33,826 ERROR 
> .magnolia.module.exchangesimple.BaseSyndicatorImpl: Exchange: activation 
> failed for 
> path:/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
> java.io.IOException: File name too long
>         at java.io.UnixFileSystem.createFileExclusively(Native Method)
>         at java.io.File.checkAndCreate(File.java:1716)
>         at java.io.File.createTempFile(File.java:1804)
>         at 
> info.magnolia.module.exchangesimple.BaseSyndicatorImpl.addResources(BaseSyndicatorImpl.java:568)
>         at 
> info.magnolia.module.exchangesimple.BaseSyndicatorImpl.collect(BaseSyndicatorImpl.java:529)
>         at 
> info.magnolia.module.exchangesimple.BaseSyndicatorImpl.activate(BaseSyndicatorImpl.java:293)
>         at 
> info.magnolia.module.exchangesimple.BaseSyndicatorImpl.activate(BaseSyndicatorImpl.java:262)
>         at 
> info.magnolia.module.admininterface.commands.ActivationCommand.execute(ActivationCommand.java:103)
>         at 
> info.magnolia.commands.MgnlCommand.executePooledOrSynchronized(MgnlCommand.java:173)
>         at info.magnolia.commands.MgnlCommand.execute(MgnlCommand.java:160)
>         at 
> info.magnolia.cms.servlets.CommandBasedMVCServletHandler.execute(CommandBasedMVCServletHandler.java:99)
>         at info.magnolia.cms.servlets.MVCServlet.doPost(MVCServlet.java:122)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>         at 
> info.magnolia.cms.filters.ServletDispatchingFilter.doFilter(ServletDispatchingFilter.java:164)
>         at 
> info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:70)
>         at 
> info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
>         at 
> info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:84)
>         at 
> info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:84)
>         at 
> info.magnolia.cms.filters.CompositeFilter.doFilter(CompositeFilter.java:64)
>         at 
> info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:70)
>         at 
> info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
>         at 
> info.magnolia.cms.filters.VirtualUriFilter.doFilter(VirtualUriFilter.java:115)
>         at 
> info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:62)
>         at 
> info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
>         at 
> info.magnolia.cms.i18n.I18nContentSupportFilter.doFilter(I18nContentSupportFilter.java:75)
>         at 
> info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:70)
>         at 
> info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
>         at 
> info.magnolia.module.cache.executor.Bypass.processCacheRequest(Bypass.java:57)
>         at 
> info.magnolia.module.cache.filter.CacheFilter.doFilter(CacheFilter.java:118)
>         at 
> info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:62)
>         at 
> info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
>         at 
> info.magnolia.module.cache.filter.GZipFilter.doFilter(GZipFilter.java:82)
>         at 
> info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:62)
>         at 
> info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
>         at 
> info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:84)
>         at 
> info.magnolia.cms.filters.CosMultipartRequestFilter.doFilter(CosMultipartRequestFilter.java:87)
>         at 
> info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:70)
>         at 
> info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
>         at 
> info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:84)
>         at 
> info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:84)
>         at 
> info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:84)
>         at 
> info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:84)
>         at 
> info.magnolia.cms.security.BaseSecurityFilter.doFilter(BaseSecurityFilter.java:61)
>         at 
> info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:70)
>         at 
> info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
>         at 
> info.magnolia.cms.security.LogoutFilter.doFilter(LogoutFilter.java:88)
>         at 
> info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:62)
>         at 
> info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
>         at 
> info.magnolia.cms.security.auth.login.LoginFilter.doFilter(LoginFilter.java:84)
>         at 
> info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:70)
>         at 
> info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
>         at 
> info.magnolia.enterprise.registration.RegistrationFilter.doFilter(RegistrationFilter.java:50)
>         at 
> info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:70)
>         at 
> info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
>         at 
> info.magnolia.cms.filters.ContentTypeFilter.doFilter(ContentTypeFilter.java:84)
>         at 
> info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:70)
>         at 
> info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
>         at 
> info.magnolia.cms.filters.ContextFilter.doFilter(ContextFilter.java:87)
>         at 
> info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:70)
>         at 
> info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
>         at 
> info.magnolia.cms.filters.CompositeFilter.doFilter(CompositeFilter.java:64)
>         at 
> info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:70)
>         at 
> info.magnolia.cms.filters.MgnlMainFilter.doFilter(MgnlMainFilter.java:96)
>         at 
> info.magnolia.cms.filters.MgnlMainFilter.doFilter(MgnlMainFilter.java:199)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
>         at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
>         at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
>         at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
>         at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
>         at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
>         at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
>         at 
> org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
>         at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
>         at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:773)
>         at 
> org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703)
>         at 
> org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:895)
>         at 
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
>         at java.lang.Thread.run(Thread.java:636)
> 2009-04-21 10:55:33,831 WARN  
> .magnolia.module.exchangesimple.BaseSyndicatorImpl: moving files from failed 
> activation to *.failed1240304133831
> 2009-04-21 10:55:33,832 DEBUG 
> .magnolia.module.exchangesimple.BaseSyndicatorImpl: Cleaning temporary files
> 2009-04-21 10:55:33,832 DEBUG 
> .magnolia.module.exchangesimple.BaseSyndicatorImpl: Clean temporary store - 
> nothing to do
> 2009-04-21 10:55:33,832 ERROR 
> a.module.admininterface.commands.ActivationCommand: can't activate
> java.lang.NullPointerException
>         at 
> info.magnolia.module.exchangesimple.BaseSyndicatorImpl.activate(BaseSyndicatorImpl.java:308)
>         at 
> info.magnolia.module.exchangesimple.BaseSyndicatorImpl.activate(BaseSyndicatorImpl.java:262)
>         at 
> info.magnolia.module.admininterface.commands.ActivationCommand.execute(ActivationCommand.java:103)
>         at 
> info.magnolia.commands.MgnlCommand.executePooledOrSynchronized(MgnlCommand.java:173)
>         at info.magnolia.commands.MgnlCommand.execute(MgnlCommand.java:160)
>         at 
> info.magnolia.cms.servlets.CommandBasedMVCServletHandler.execute(CommandBasedMVCServletHandler.java:99)
>         at info.magnolia.cms.servlets.MVCServlet.doPost(MVCServlet.java:122)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>         at 
> info.magnolia.cms.filters.ServletDispatchingFilter.doFilter(ServletDispatchingFilter.java:164)
>         at 
> info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:70)
>         at 
> info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
>         at 
> info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:84)
>         at 
> info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:84)
>         at 
> info.magnolia.cms.filters.CompositeFilter.doFilter(CompositeFilter.java:64)
>         at 
> info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:70)
>         at 
> info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
>         at 
> info.magnolia.cms.filters.VirtualUriFilter.doFilter(VirtualUriFilter.java:115)
>         at 
> info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:62)
>         at 
> info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
>         at 
> info.magnolia.cms.i18n.I18nContentSupportFilter.doFilter(I18nContentSupportFilter.java:75)
>         at 
> info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:70)
>         at 
> info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
>         at 
> info.magnolia.module.cache.executor.Bypass.processCacheRequest(Bypass.java:57)
>         at 
> info.magnolia.module.cache.filter.CacheFilter.doFilter(CacheFilter.java:118)
>         at 
> info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:62)
>         at 
> info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
>         at 
> info.magnolia.module.cache.filter.GZipFilter.doFilter(GZipFilter.java:82)
>         at 
> info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:62)
>         at 
> info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
>         at 
> info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:84)
>         at 
> info.magnolia.cms.filters.CosMultipartRequestFilter.doFilter(CosMultipartRequestFilter.java:87)
>         at 
> info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:70)
>         at 
> info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
>         at 
> info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:84)
>         at 
> info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:84)
>         at 
> info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:84)
>         at 
> info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:84)
>         at 
> info.magnolia.cms.security.BaseSecurityFilter.doFilter(BaseSecurityFilter.java:61)
>         at 
> info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:70)
>         at 
> info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
>         at 
> info.magnolia.cms.security.LogoutFilter.doFilter(LogoutFilter.java:88)
>         at 
> info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:62)
>         at 
> info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
>         at 
> info.magnolia.cms.security.auth.login.LoginFilter.doFilter(LoginFilter.java:84)
>         at 
> info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:70)
>         at 
> info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
>         at 
> info.magnolia.enterprise.registration.RegistrationFilter.doFilter(RegistrationFilter.java:50)
>         at 
> info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:70)
>         at 
> info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
>         at 
> info.magnolia.cms.filters.ContentTypeFilter.doFilter(ContentTypeFilter.java:84)
>         at 
> info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:70)
>         at 
> info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
>         at 
> info.magnolia.cms.filters.ContextFilter.doFilter(ContextFilter.java:87)
>         at 
> info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:70)
>         at 
> info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
>         at 
> info.magnolia.cms.filters.CompositeFilter.doFilter(CompositeFilter.java:64)
>         at 
> info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:70)
>         at 
> info.magnolia.cms.filters.MgnlMainFilter.doFilter(MgnlMainFilter.java:96)
>         at 
> info.magnolia.cms.filters.MgnlMainFilter.doFilter(MgnlMainFilter.java:199)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
>         at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
>         at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
>         at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
>         at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
>         at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
>         at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
>         at 
> org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
>         at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
>         at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:773)
>         at 
> org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703)
>         at 
> org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:895)
>         at 
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
>         at java.lang.Thread.run(Thread.java:636)
> {noformat} 
> One can reproduce the issue in the JCR browser of the author instance by 
> creating e.g. a datafolder with a name that is at least 221 characters long. 
> A subsequent activation will fail.
> The problem seems to be that some temporary file names that get created in 
> {{BaseSyndicatorImpl}} contain the node name, but there is no check which 
> ensures that the complete filename is shorter than the maximum of 255 
> characters supported by most filesystems.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.magnolia-cms.com/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

----------------------------------------------------------------
For list details see
http://www.magnolia-cms.com/home/community/mailing-lists.html
To unsubscribe, E-mail to: <[email protected]>
----------------------------------------------------------------

Reply via email to