Status/Resolution/Reason: Closed/Withdrawn/Duplicate
Reporter/Name(from Bugbase): Dan Switzer / Dan Switzer (Dan Switzer)
Created: 12/16/2015
Components: Core Runtime
Versions: 10.0
Failure Type:
Found In Build/Fixed In Build: Final /
Priority/Frequency: Normal / Some users will encounter
Locale/System: English / Platforms All
Vote Count: 1
Duplicate ID: CF-3863748
Problem Description:
There is an issue where in how CF compiles components that have per-application mappings.
The problem is if a component "extends" another component that's based on an per-application mapping, you can get unexpected results.
To illustrate the problem, I've attached an example that shows off the issue. There are two applications "App-1" and "App-2", which both set up some per-application mappings. They both attempt to create an instance of the "test.cfc". However, this CFC extends "app1com.base". The "app1com" mapping only exists in the "App-1" example.
If you run "App-2" example first, the code will error as you expect. However, if you run "App-1" first (which has the mapping) the "test.cfc" component will successfully compile. After "App-1" has run, "App-2" will start working because the component is loaded from class cache.
What's even stranger, is all of the following are disabled in the CF Admin:
* Trusted cache
* Component cache
* Save class files
* Cache web server paths
I only have "Cache template in request" enabled. (See the screenshot included in the zip).
Steps to Reproduce:
Run "App-2" in the attachment, then run "App-1". Instructions are included in the zip as well.
Actual Result:
Errors in App-2 initially, but will start working after App-1 is run.
Expected Result:
It should always error in App-2.
Any Workarounds:
None that I have been able to find.
----------------------------- Additional Watson Details -----------------------------
Watson Bug ID: 4100853
External Customer Info:
External Company:
External Customer Name: Dan Switzer
External Customer Email:
External Test Config: My Hardware and Environment details:
ColdFusion 10, CentOS 6.6 under Apache 2.2.
Attachments:
- December 17, 2015 00:00:00: 1_component-compilation-mapping-issue.zip
Comments: