Temporary .upload files persisted indefinitely when using CFThread.

Description

Normally, if you upload a file to the Lucee CFML server, the `tmp-*.upload` file automatically removed once the request is processed. However, it seems that if you spawn a `CFThread` tag during the request, it does two things:

1. It no longer deletes the `.upload` files automatically.
2. It creates a copy of each `.upload` file for each instance of `CFThread`.

I've shared my findings here:

https://www.bennadel.com/blog/3889-temporary-upload-files-are-duplicated-and-persisted-when-a-request-uses-cfthread-in-lucee-cfml-5-3-6-61.htm

I suspect this related to the request cloning behavior that I previously documented:

https://www.bennadel.com/blog/3757-lucee-appears-to-incur-request-cloning-overhead-when-spawning-cfthread-tags-in-lucee-cfml-5-3-3-62.htm

I can definitely understand persisting the `.upload` file beyond the request boundary since a `CFThread` tag may want to reference; but, the fact that it creates duplicates of the temp file seems "buggy."

Environment

  • Lucee 5.3.6.61

  • Linux (4.19.76-linuxkit) 64bit

  • Java 1.8.0_242 (Oracle Corporation) 64bit

Assignee

Michael Offner

Reporter

Ben Nadel

Priority

Minor

Labels

Fix versions

None

Affects versions

Configure