[gatein-issues] [JBoss JIRA] (GTNPORTAL-3450) Impossible to upload file in Content Explorer when tmpdir does not exist

Tran Trung Thanh (JIRA) issues at jboss.org
Wed Apr 23 02:48:33 EDT 2014


     [ https://issues.jboss.org/browse/GTNPORTAL-3450?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Tran Trung Thanh updated GTNPORTAL-3450:
----------------------------------------

              Status: Pull Request Sent  (was: Open)
    Git Pull Request: https://github.com/gatein/gatein-portal/pull/836


Fix description:
- When uploading a file, check if tmpdir exists. If not, create it
                
> Impossible to upload file in Content Explorer when tmpdir does not exist
> ------------------------------------------------------------------------
>
>                 Key: GTNPORTAL-3450
>                 URL: https://issues.jboss.org/browse/GTNPORTAL-3450
>             Project: GateIn Portal
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>    Affects Versions: 3.5.8.Final
>            Reporter: Tran Trung Thanh
>
> We have a problem when trying to upload files.
> We noticed that the "org.exoplatform.upload.UploadService" Service uses java.io.tmpdir (System Properties) to create the portal/eXoUpload directory needed to upload files.
> If the directory does not exist (ie, deleted : custermer's case deleted by tmpwatch command).
> << we can view the file tree but nothing happens, it stays at 0 % (blocking).
> *Error log:* 
> {code}DEBUG [org.exoplatform.upload.UploadService] (ajp-10.11.2.212-8009-42) IOException while upload resource
> org.apache.commons.fileupload.FileUploadBase$IOFileUploadException: Processing of multipart/form-data request failed. /tmp/portal/eXoUpload/upload__175985d8_14550fb3b24_d1a_00000003.tmp (Aucun fichier ou dossier de ce type)
> 	at org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:367)
> 	at org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(ServletFileUpload.java:126)
> 	at org.exoplatform.upload.UploadService.createUploadResource(UploadService.java:120)
> 	at org.exoplatform.upload.UploadService.createUploadResource(UploadService.java:96)
> 	at org.exoplatform.web.handler.UploadHandler.execute(UploadHandler.java:123)
> 	at org.exoplatform.web.handler.UploadHandler.execute(UploadHandler.java:60)
> 	at org.exoplatform.web.WebAppController.service(WebAppController.java:358)
> 	at org.exoplatform.portal.application.PortalController.onService(PortalController.java:125)
> 	at org.exoplatform.container.web.AbstractHttpServlet.service(AbstractHttpServlet.java:132)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 	at org.exoplatform.web.login.RememberMeFilter.doFilter(RememberMeFilter.java:84)
> 	at org.exoplatform.web.login.RememberMeFilter.doFilter(RememberMeFilter.java:54)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 	at org.exoplatform.web.filter.ExtensibleFilter$ExtensibleFilterChain.doFilter(ExtensibleFilter.java:114)
> 	at com.filhetallard.dis.extranet.adp.portlet.common.SitesAccessFilter.doFilter(SitesAccessFilter.java:195)
> 	at com.filhetallard.dis.extranet.fac.exo.web.FilterAdapter.doFilter(FilterAdapter.java:23)
> 	at org.exoplatform.web.filter.ExtensibleFilter$ExtensibleFilterChain.doFilter(ExtensibleFilter.java:110)
> 	at org.exoplatform.platform.common.admin.TermsAndConditionsFilter.doFilter(TermsAndConditionsFilter.java:77)
> 	at org.exoplatform.web.filter.ExtensibleFilter$ExtensibleFilterChain.doFilter(ExtensibleFilter.java:110)
> 	at org.exoplatform.web.filter.ExtensibleFilter.doFilter(ExtensibleFilter.java:84)
> 	at org.exoplatform.web.filter.GenericFilter.doFilter(GenericFilter.java:78)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 	at org.exoplatform.web.CacheUserProfileFilter.doFilter(CacheUserProfileFilter.java:78)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 	at org.exoplatform.frameworks.jcr.web.ThreadLocalSessionProviderInitializedFilter.doFilter(ThreadLocalSessionProviderInitializedFilter.java:116)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 	at org.exoplatform.services.security.web.SetCurrentIdentityFilter.doFilter(SetCurrentIdentityFilter.java:88)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 	at org.exoplatform.web.login.ClusteredSSOFilter.doFilter(ClusteredSSOFilter.java:62)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 	at org.exoplatform.container.web.PortalContainerFilter.doFilter(PortalContainerFilter.java:69)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
> 	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:235)
> 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
> 	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:183)
> 	at org.jboss.web.tomcat.service.session.ClusteredSessionValve.handleRequest(ClusteredSessionValve.java:135)
> 	at org.jboss.web.tomcat.service.session.ClusteredSessionValve.invoke(ClusteredSessionValve.java:94)
> 	at org.jboss.web.tomcat.service.session.JvmRouteValve.invoke(JvmRouteValve.java:88)
> 	at org.jboss.web.tomcat.service.session.LockingValve.invoke(LockingValve.java:62)
> 	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
> 	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:95)
> 	at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
> 	at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
> 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> 	at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:402)
> 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> 	at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.internalProcess(ActiveRequestResponseCacheValve.java:74)
> 	at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:47)
> 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
> 	at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:436)
> 	at org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:385)
> 	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:451)
> 	at java.lang.Thread.run(Thread.java:701)
> Caused by: java.io.FileNotFoundException: /tmp/portal/eXoUpload/upload__175985d8_14550fb3b24_d1a_00000003.tmp (Aucun fichier ou dossier de ce type)
> 	at java.io.FileOutputStream.open(Native Method)
> 	at java.io.FileOutputStream.<init>(FileOutputStream.java:212)
> 	at java.io.FileOutputStream.<init>(FileOutputStream.java:160)
> 	at org.apache.commons.io.output.DeferredFileOutputStream.thresholdReached(DeferredFileOutputStream.java:165)
> 	at org.apache.commons.io.output.ThresholdingOutputStream.checkThreshold(ThresholdingOutputStream.java:221)
> 	at org.apache.commons.io.output.ThresholdingOutputStream.write(ThresholdingOutputStream.java:127)
> 	at org.apache.commons.fileupload.util.Streams.copy(Streams.java:101)
> 	at org.apache.commons.fileupload.util.Streams.copy(Streams.java:64)
> 	at org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:362)
> 	... 65 more{code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the gatein-issues mailing list