[
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]>
----------------------------------------------------------------