Hi,
I have tried but am unable to recreate this.
Please provide the simplest possible web application (it should be
possible to do this in a single Servlet) that demonstrates the issue.
Please make sure you provide the source code for the web application.
Thanks,
Mark
On 14/04/2023 19:40, William L. Cunningham wrote:
Thanks, yes it happens with any file upload.
-----Original Message-----
From: Mark Thomas <ma...@apache.org>
Sent: Friday, April 14, 2023 9:36 AM
To: users@tomcat.apache.org
Subject: Re: Tomcat 8.5.85 and above - Issue with file uploads
WARNING: This email originated from an external source. Please be careful when
clicking on any links in external emails.
On 13/04/2023 21:40, William L. Cunningham wrote:
Environment: Windows 2019 Standard with latest JDK 17 and Apache Tomcat 8.5.87.
When trying to upload a file to the application running off Tomcat (custom
software), we are getting the following error since 8.5.85 (works fine on
8.5.84).
ERROR [2023-04-13 15:20:20]:
com.company.dataimporter.servlet.FileUpload::doPost::85 Cannot delete
C:\Program Files\Apache Software Foundation\Tomcat
8.5_Tomcat_Prod\work\Catalina\localhost\company\upload_1da07be9_7508_4
4d3_aee6_28d1d7989727_00000000.tmp
java.lang.IllegalStateException: Cannot delete C:\Program Files\Apache Software
Foundation\Tomcat
8.5_Tomcat_Prod\work\Catalina\localhost\company\upload_1da07be9_7508_44d3_aee6_28d1d7989727_00000000.tmp
at
org.apache.tomcat.util.http.fileupload.disk.DiskFileItem.delete(DiskFi
leItem.java:428) ~[tomcat-coyote.jar:8.5.87]
This same procedure works perfectly fine in 8.5.84. It was something
introduced with 8.5.85. It also works fine on a Linux hosted version (Centos)
for 8.5.84 and above. So it appears to be Windows centric.
When I watch the procedure in the Catalina\localhost\company folder on 8.5.84,
I see the tmp file generated and then immediately deleted (it's a small
upload). On 8.5.85 and above, it's locked and can't be deleted. Thus causing
the error.
Anyone have any thoughts?
Tomcat 8.5.85 includes an updated version of the Commons FileUpload code that
throws an ISE if the temporary file can't be deleted.
https://github.com/apache/tomcat/commit/8d21b9ef4ae30f6f6474f00a72887338a5b745ac
It looks like this may have exposed an underlying Commons IO bug:
https://issues.apache.org/jira/browse/IO-788
Do you see this problem every time you try to upload a file?
Mark
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org