Title:
missing cfobjects and cfinclude template files when cfclasses class files have root:root default permissions
| View in TrackerStatus/Resolution/Reason: Closed/Withdrawn/CannotReproduce
Reporter/Name(from Bugbase): Jeremiah Brock / Jeremiah Brock ()
Created: 11/29/2017
Components: Caching
Versions: 2016
Failure Type: Crash
Found In Build/Fixed In Build: 2016.0.05.303689 / NA
Priority/Frequency: Normal / All users will encounter
Locale/System: English / Linux Red Hat 7.0
Vote Count: 3
Problem Description: When the class files become owned by root:root after an update, the instances running as non root users will exibit errors for missing cached class files
Steps to Reproduce:
1. Start the instance (with a non root user) and make sure the settings for "Cache class files" and "Trusted Cache" are enabled.
2. Access an application hosted by the instance that contains a cfinclude or cfobject statement and check to see that wwwroot/WEB-INF/cfclasses class files show up.
3. Change ownership of the new class files to root:root
4. Restart the instance
5. Access the same application again (everything should work great)
6. Login to cfadmin and clear the template cache / component cache
7. Access the same application again (should error with missing cfinclude)
Actual Result: Missing files error - for files that exist on the filesystem.
Expected Result: Should check the filesystem again if they are not found in the cfclasses cache data after clearing component/template cache.
Any Workarounds: Fixing ownerships within the wwwroot/WEB-INF/cfclasses directory or unchecking "Trusted Cache" and clearing cache again - which will allow for the instance to re-read the filesystem and re-compile when it doesn't find the compiled class files (due to permissions).
Suggestions :
1. An error should be logged in the exceptions log when the compiled class files are unable to write to the cfclasses directory
2. It would be nice for the application to re-read from the actual filesystem instead of erroring when Trusted Cache is enabled and no matching cfclasses class file exists (due to permissions).
Attachments:
Comments: