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

Jan Haderka updated MAGNOLIA-2695:
----------------------------------

     Attachment: stacktrace.txt
    Description: 
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 exception shown in 
attached stacktrace.


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.

  was:
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.


> 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
>
>         Attachments: stacktrace.txt
>
>
> 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 exception shown in 
> attached stacktrace.
> 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