Title:
Pages with frames sometimes load the wrong page when updating multiple frames
| View in TrackerStatus/Resolution/Reason: Closed/Fixed/
Reporter/Name(from Bugbase): Sean Coyne / Sean Coyne (Sean Coyne)
Created: 07/01/2012
Components: Installation/Config, Connector
Versions: 10.0
Failure Type:
Found In Build/Fixed In Build: Final / 282837
Priority/Frequency: Major / Most users will encounter
Locale/System: English / Mac 10.7 64-bit
Vote Count: 4
Problem Description:
I logged this bug in the prerelease tracker (#3152064). It was closed and my post in the forums was basically ignored. That said, I am still experiencing this with the "Final" build of CF 10, as is at least one other person, so I am not alone. I have confirmed that it is related to the mod_jk modifications for the web server connector. It does not happen if you use Tomcat w/o Apache (using the built in webserver). I have confirmed this on a fresh install of OS X Lion 64 bit as well.
I ran the tests (outlined below) and confirmed with Charles Proxy that the request for "frame2.cfm" returned the content from "frame1.cfm". ColdFusion itself processed the request fine, but the web server connector returned the wrong content.
It does not happen every time, but often enough to be extremely annoying. It seems pretty random. I setup a Selenium test to load the frames over and over and sometimes it can go 1000 times w/o seeing it and other times it will only make it 10 times before it loads the wrong content. It seems that whenever multiple requests are made at the same time that sometimes the connector can return the content from one request to another.
Here is the original bug I submitted:
When using the apache connector, with a frameset page like the example attached, when you load both frames at the same time, one frame or the other will load the wrong page. This does NOT happen when using the built in server, but only when using the Apache connector.
Steps to Reproduce:
Unzip the example to anywhere under the webroot and open the index.cfm page in a browser (both Chrome and Firefox display this behavior for me)
Click the "Reload all frames" link which is simply a link to index.cfm with the target="_top" attribute so it should just reload both frames. One frame loads frame1.cfm and the other loads frame2.cfm. These should never change, however sometimes frame1 will load the content from frame2.cfm and vice versa.
You can see a demo of this here: http://screencast.com/t/9p0S8VwMUhx3
I am running the public beta build on Mac OS X 10.7.3 64-bit. I am using the Apache that is bundled w/ OS X, and the Apache connector installed as part of the CF install. I have not modified the connector settings in any way. If I load this same test using the built in web server I do not see this behavior.
Actual Result:
Frame loads incorrect page (both frames show same page rather than each showing different pages)
Expected Result:
Each frame loads the correct page. You can also see an example of this in this screencast: http://screencast.com/t/9p0S8VwMUhx3
Any Workarounds:
None that I know of.
Notes: This bug affects any pages with frames. My example is a super simplified version, however FarCry which uses frames heavily in its user admin area is affected in my testing.
----------------------------- Additional Watson Details -----------------------------
Watson Bug ID: 3227975
Keywords:
FixTested
External Customer Info:
External Company:
External Customer Name: Sean Coyne
External Customer Email:
External Test Config: My Hardware and Environment details:
Mac OS X Lion (10.7.4) 64-bit.
Apache (ships w/ Lion, other versions, like the version from Macports, do not work at all w/ the mod_jk connector)
Attachments:
- July 02, 2012 00:00:00: 1_frametest.zip
Comments: