The following ColdFusion updates are now available for download:

ColdFusion 11 Update 5

This Update includes approximately 115 bug fixes related to Language, Mobile Support, File Management, Document Management, Administrator, Connector and several other areas.

It also addresses a vulnerability mentioned in the security bulletin APSB 15-07 and support for Apache 2.4.10. With this update the Web Server Config tool now backs up all the connector configurations files.

For the details refer this technote.

ColdFusion 10 Update 16

ColdFusion 10 Update 16 includes approximately 35 bug fixes related to File Management, ORM, Language, Document Management and certain other areas. It also addresses a vulnerability mentioned in the security bulletin APSB15-07.

For the details refer this technote.

101 Comments to “ColdFusion 11 Update 5 and ColdFusion 10 Update 16 released”

  1. Ron Stewart
    (subscribing)
  2. Justin
    CF Administrator does not find this update... yet...
    My update site is set to: http://www.adobe.com/go/coldfusion-updates
  3. Raymond Camden
    Ditto - it isn't showing up as available.
  4. Miguel-F
    [subscribe]
  5. bobstamp
    [subscribe]
  6. Jim
    Same as Justin above... :-|
  7. Adam Cameron
    [subscribe]
  8. Adam Cameron
    Anit is aware of the issue with it not showing up in CFAdmin (make sure to follow him on Twitter: https://twitter.com/anitkumar85). It doesn't show up if you've already got Update 4 installed, apparently. Perhaps try rolling back to update 3 first? I was able to install it OK from update 3.

    --
    Adam
  9. Justin
    The update shows up now... Thanks Team CF!
  10. Anit Kumar Panda
    It's fixed. Please check now and report back.
  11. Jim
    Yep, works now....thanks!
  12. Piyush
    Justin,
    Can you please try force refreshing your browser,
    and try checking for update again.

    Thanks,
    Piyush.
  13. Miguel-F
    I cannot find the reported vulnerability "CVE-2015-0345" to get further details.
  14. Henry
    [subscribe]
  15. Phil
    [subscribe]
  16. charlie arehart
    Good to see the update released in final form, guys.

    I see already one nice improvement, not mentioned above, nor in the technote or "bugs fixed" page: the web server config tool (wsconfig) now warns us that removal of a connector will remove any customized settings/tweaks one may have made to that connector's configuration. Thanks for that.

    Also, for the information of readers here, if one does CF11 update 6, and then reconfigures the connectors (as one should), the isapi_redirect.dll will now be dated 3/11/2015.
  17. charlie arehart
    Sorry, I said "cf11 update 6" in my last comment and of course I meant the one in this blog entry, update 5.

    Also, I do see that the "bugs fixed" docs for CF11 does at least imply the change I highlighted, in the entry labelled, "WSConfig does not back up all the config files it changes." That's not in the CF10 "bigs fixed" guide.

    Speaking of that, I've not yet had a chance to confirm if the updated prompt in the wsconfig UI is only in 11 and not 10. Anyone else know or notice it yet?
  18. Dave Cordes
    [subscribe]
  19. Immanuel Noel
    Charlie, the WSConfig configurations are prompted for, and backed-up only on ColdFusion 11.
    The fix will be available on ColdFusion 10 in a future release.
  20. Aaron Neff
    [subscribe]
  21. Haxtbh
    Getting a major issue when encrypting strings after installing this update. Gives the error

    "Expected static method coldfusion.runtime.CFPage.Encrypt(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"

    when attempting to encrypt any string using different encryption types. Tried across two applications after installing the update, rerunning web server config and restarting CF services.
  22. Nimit Sharma
    @haxtbh

    Thanks for reporting this issue.

    We are looking into it and will get back to you.
  23. Preethi
    Clearing the contents of {cfrootdir}/wwwroot/WEB-INF/cfclasses folder should take care of this. Please make a note to also restart the server. Let us know in case you still have an issue.
  24. Haxtbh
    @Preethi

    Thanks. That seems to have fixed it. Hopefully wont have to do this on all my deployments though!
  25. Ron Stewart
    @haxtbh: Did you encounter this on CF10 or CF11?
  26. Haxtbh
    @Ron

    This was CF 11
  27. Ron Stewart
    @haxtbh: Thanks; was just curious. Somewhere along the way, I've gotten in the habit of clearing the template and component caches after updating due to running into something like this on one of our production servers. I know it's a bit of a performance hit but it has always felt safer.
  28. Dan G. Switzer, II
    The CF10 Update 16 "Post Install" indicates the connectors do not need to be rebuilt if they've been rebuilt after Update 14.

    Can we get a confirmation that the connector hasn't changed for Apache since U14?

    Thanks!
  29. Piyush
    Dan,
    That is correct. The last ColdFusion 10 update that carried any connector related changes was Update 14.
  30. Chris
    [subscribe]
  31. Dan G. Switzer, II
    @Piyush:

    Thanks for confirming!
  32. Piyush
  33. Miguel-F
    @Piyush - Thank you for the follow up.
  34. Adam
    @Haxtbh I had a similar issue with encrypt/decrypt after updating I got an error message but here is how I fixed it. Previously my code was

    --cfset SecretHere = encrypt(TheStringHere, TheSecretKey, "AES", "hex")--

    I changed it to

    --cfset SecretHere = encrypt("#TheStringHere#", TheSecretKey, "AES", "hex")--
  35. Apul
    After the latest update on CF 11 the following CFFORM and CFINPUT statement stopped working? Is there an issue with how CFFORM and CFINPUT work in CF 11? Any suggestions.

    -cfform action="/search.cfm" method="get" name="headerSearch" id="headerSearch"-
       -fieldset-
       -legend-Search-legend-
       -cfinput type="text" autocomplete="off" name="q" id="headerSearchTerms" maxlength="255" value="#headerSearchTerms#" /-
    -/fieldset-
    -/cfform-
  36. MRC
    what is the latest version of the Java JVM that is supported ?
  37. Hari
    Hi MRC,

    JDK 1.8 is supported. Ref. http://wwwimages.adobe.com/content/dam/Adobe/en/products/coldfusion/pdfs/cf11/coldfusion11-support-matrix.pdf
    Any update level with the supported version should be fine.
  38. Piyush
    Apul,
    Can you please explain what the code snippet you've shared, is intended to do.
    Also what is the error or behavioral change post Update 5?
    You may also mail me the details at pnayak@adobe.com.
  39. Dattanand
    @Apul,

    The snippet you shared seems to work fine. What kind of error are we expecting here?
  40. Tom
    Just wanted to throw a "me too" in on the "Expected static method coldfusion.runtime.CFPage.Encrypt(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"

    error.

    Typically, we disable all caching. However, a class file got generated before I could disable the settings. Deleting the class file and restarting CF 11 u5 seems to have resolved 99% of our issues. Though, one page is still throwing the error.

    I did rebuild the connector and it still hasn't resolved the error. Working with the vendor to address.
  41. Matthew
    Subscribe
  42. Piyush
    Tom,
    Can you share the relevant code that is causing the exception.
    You can share the cfm page or just the relevant code extract.
    just wondering why it would work in all cases but one.
    You can mail it to pnayak@adobe.com
  43. Apul
    @Piyush The code had started to work again after clearing the classes. Must have been a related issue.
  44. Chris
    Piyush, same sporadic issues here with Encrypt. On the same page, a few lines of decrypt and encrypt work fine till it gets to this one:

    <a target="new" href="empProfile.cfm?hexid=#encrypt(session.app_emp_id, mySecretKey, "BLOWFISH", "HEX")#">

    Tried restarting the server with no change.

    Side note, I found that the following is no longer valid and would throw the coldfusion.runtime.CFPage.Encrypt(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; null
    error:
    <cfset deString=decrypt("#stringtoDecrypt#", "#secretKey#", "blowfish", "hex")>
    it needed to be changed to:
    <cfset deString=decrypt(stringtoDecrypt, secretKey, "blowfish", "hex")>

    Chris
  45. Tom
    I cannot share the code. It isn't mine to share.

    Uninstalling update 5 did resolve the issue on the last page that wouldn't render. All of the pages are working at this point.
  46. Phil
    Found a bug with IMAP. getHeaderOnly() takes a very long time when messages have large attachments.

    https://bugbase.adobe.com/index.cfm?event=bug&id=3972721
  47. Rahul
    [subscribe]
  48. Henry
  49. Slaven
    Subscribe
  50. Gareth
    On the Encrypt issues.

    We pre-compile our CFM and CFC templates, our customers now have CF11 compiled binaries that don't work with updater 5. Have the java classes for Encrypt changed so much that it's not compatible with pre-updater 5? is there a way Adobe could rectify this?

    "Expected static method coldfusion.runtime.CFPage.Encrypt(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"
  51. David
    I have experience the same error on working pages before update 5.


    Details: Expected static method

    How do I clear the cache?
  52. Rachael
    We are experiencing the Expected static method coldfusion.runtime.CFPage.Encrypt(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; error also.

    We clear the cache and things will work for a few days and then it's back.
  53. Rachael
  54. Roland
    We can no longer delete image files in CF11 after update 4 or 5. The following code now fails with the message "ColdFusion could not delete the file c:\inetpub\cns_root2\test2.png for an unknown reason." If you try to delete the file through windows explorer, you get the message "File cannot be deleted because it is in use by coldfusion.exe". If you wait about a minute, then you can delete the file.

    This has broken every piece of image processing code.

    cfset f = "C:\inetpub\cns_root2\test2.png"
    cfset img = ImageNew(f)
    cffile action="delete" file="#f#"


    Trace:

    coldfusion.tagext.io.FileUtils$CouldNotDeleteFileException: ColdFusion could not delete the file C:\inetpub\cns_root2\test2.png for an unknown reason.
    body:    at coldfusion.tagext.io.FileUtils.delete(FileUtils.java:1061)
    body:    at coldfusion.tagext.io.FileTag.delete(FileTag.java:550)
    body:    at coldfusion.tagext.io.FileTag.doStartTag(FileTag.java:355)
    body:    at coldfusion.runtime.CfJspPage._emptyTcfTag(CfJspPage.java:2991)
    body:    at cftest2ecfm1733740874.runPage(C:\inetpub\cns_root2\cfm\test.cfm:7)
    body:    at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:246)
    ...
  55. charlie arehart
    Roland, while you await any sort of response from Adobe, I'll say that since that is so unusual (and I've heard no one else report it), if I were in your shoes I'd first check to confirm that the update(s) you applied did complete successfully.

    It's not enough that "cf came up". And even if a recent install clearly said "success" in the UI at the end of the install, it could be that some previous update did not run correctly.

    I'd check the hf-updates folder (under cf, and its cfusion folder or that of any instances you added), and look in the folder created for each update to view its log (the log file a date and ending with install). In that log, open it and don't go to the bottom. Rather, look about 2 pages down from the top to see a list of the count of successes and failures. You want to see all successes, no failures. A single warning may not be too worrisome.

    But again check that not just for the latest you did, but any previous ones. It's just a good sanity check (really for everyone, but especially for such an odd problem as this.)

    Hope that's helpful.
  56. Piyush
    Tom/Chris/David/Rachael,

    The signature of Encrypt method has changed with Update 5. The method is no longer static. So pre-compiled cfm pages that are using this method will result in the ""Expected static method" error.

    To rectify this behavior you need to delete those classes from the {cfrootdir}/wwwroot/WEB-INF/cfclasses directory and clear the CF cache (CF administator > Server Settings > Caching).
    In case the affected application is hosted on multiple ColdFusion server instances, ensure that you have followed the steps mentioned above for all the server instances.

    If you are using pre-compiled classes, you need to get the cfml pages compiled again.
  57. Dattanand
    @Roland
    we acknowledge that this is a bug that existed from CF11 and I have logged a bug for this issue Bug# 3975890.
  58. Haxtbh
    @Piyush This should probably be mentioned in the update notes, much like you mentioned the web connector needing rerunning.

    A number of people have experienced this issue and people are not expecting to have to clear out or recompile cfml after an update.

    Those who don't subscribe to this blog may never know how to resolve this!
  59. Roland
    @Dattanand - thanks for looking into it!

    @Charlie - I appreciate the suggestions, but believe me, I didn't come and post a reproducible test case and a stack trace without trying those things first. ;)
  60. Vamsee
    @Roland, to add to what Dattanand mentioned, this seems to be an issue for .PNG images. The code worked fine for other image types.
  61. Vamsee
    @Haxtbh, the below "Known Issues" URL has been linked to from within the update notes and talks about the Encrypt signature change.

    https://helpx.adobe.com/coldfusion/release-note/coldfusion-11-update-5---known-issues.html

    That said, perhaps a mention of the same in the main tech note article would have been a better option.
  62. Vamsee
    @Rachael, not sure why the Encrypt signature change issue would resurface after you've cleared the cache. Could it be that you are operating in a clustered environment? If so, you might want to clear the cache from all instances. Hope that helps.
  63. charlie arehart
    Roland, to your point in comment 59, in my experience/observation, only one in a few hundred folks with a problem post-update would think to check the most recent and all past CF update logs to confirm they all worked without error. If you did so before writing, that's great to hear but you didn't say and we couldn't have known. :-)

    Again, I was just trying to help while you awaited a reply from someone at Adobe. Hope it may help other readers as something to consider. Looking forward to hearing how your problem resolves.
  64. Aaron Neff
    @Roland and @Charlie, I also confirmed this in January.

    @Dattanand and @Vamsee, 3975890 is a duplicate of 3929327.

    Thanks!,
    -Aaron
  65. Welton
    Hello,

    After upgrading to update 5 when using cflocation, the path is adding rather than replace.

    In our case, in checking the login screen after being made, I use cflocation, just passing the file name, because this in the same folder.

    But for some reason, rather than redirect to the page, and this is concatenated with the current page.

    ex .:
    The current page is => local / path / index.cfm
    Rather than change to => local / path / home.cfm
    This is what happens => local / path / index.cfm / local / path / home.cfm
  66. Immanuel Noel
    @Welton, I just tried cooking up a simple repro case for <cflocation url="<localfile.name>">, and it works good for me.
    Are you using one of the CGI variables to identiy the home.cfm path? Also, are the connectors reconfigured after applying HF5?
  67. greg
    I am experiencing the same issue as comment #35. cfform/cfinput no longer working after installing update5 using Internet Explorer 9 or 11 (Firefox does work but is not used in my company). The form should submit when pressing enter in the text field, it does not submit. I tried clearing template cache, deleting cfclasses, restarting, etc. Uninstalling Update5 (back to Update4) worked.
    <cfform action="RequestHistory.cfm" method="POST">
    <cfinput type="Text" name="SearchNumber" size="13" maxlength="13" required="Yes" validate="regular_expression" pattern="[A-Za-z0-9]" onchange="document.forms[0].submit()">
    </cfform>
  68. Piyush Kumar Nayak
    Greg,
    I am unable to observe the issue with the code you've shared on Chrome and IE11. On submit, I am posting the content to the same page.
    Do you see this across different browsers? Do you see any errors logged in the browser debugger? Also what platform is your ColdFusion hosted on?
  69. greg
    Nothing is output in the IE console. We are running ColdFusion 11 Update 5 on Windows Server 2008. I agree, it is working in Firefox and Chrome. Our primary browser in our corporate is IE9, it wont post. I did a test with IE11, it did not work for me either.
  70. Mike
    Had the same encrypt issue. Followed the instructions on deleting the files from cfclasses and restarting cf service. Seems to be working so far.
  71. Giancarlo Gomez
    So I had to revert this hotfix because it just introduced too many errors. Pretty much all those mentioned above and it appears that numeric validation is broken.

    In an old site using cfform validation, a field that was being validated as a float now fails if a comma is there. For instance 1,000.00 fails where as 1000.00 does not and this never happened before. Another place, it is also broken at a cfargument level. A cfargument with a type of numeric fails if the value like above is passed with a comma as where before it has not.

    I honestly refuse to add it to the bug base as sometimes it feels like it is not looked into unless voted up (experience with the WebSocket issues I originally posted). I think this should suffice for the team to test and apply a fix.
  72. Apul
    Hey Greg #67 After clearing the classes it worked then stopped? So I had to revert to taking out the cfform and cfinput and making it regular inputs. My other CFFOrm and CFINPUT code seems to work so some do and some do not.
  73. Giancarlo Gomez
    Well I will need to revert part my previous comment, as I just tested on cf10 and I get an error as well for passing a numeric value with a comma. So I will do my due diligence to make sure I remove commas from this legacy codebase I am working/supporting on now when passing it into a function.
  74. Stephen Holland-Chang
    Im on Windows 2008 r2/ IIS 7.5 running 64 bit. I installed this update then did as I was instructed and ran the Web Configuration Connector app as Admin, removed the existing All Sites. Then Added all sites. Restarted my Server and CF pages no longer load. Also i do not see in any of my directories Jarkarta or CFIDE. Anybody have any idea what went wrong here? Its like the connector just didnt work. Any help would be greatly appreciated!
  75. charlie arehart
    @Stephen, since this was on Windows, were you careful to "run as administrator", as indicated in the update technote, and also other resources on the matter (like my blog entry, at http://www.carehart.org/blog/client/index.cfm/2013/9/13/why_you_must_update_cf10_webserver_connector, which applies just as well to 11 as to 10).

    If you don't, you could experience that very problem, as the config tool wouldn't have the permission needed to add them. That said, you say you did do the remove. Are you saying that the remove did do the removal of the CFIDE and jakarta virtual directories? That would be odd. Did you by any chance close it after doing the remove, perhaps forgetting to "run as admin" that second time? If you do it now, does it work?

    If it still fails, do you see anything displayed in the black box which opens when you run the config tool? either any errors, or the indication of the add/remove of virtual directories?

    Also, did you check the log in the [cf]\config\wsconfig folder? It may give some insight into what happened.

    And you mention confirming that there was no CFIDE or jakarta virtual directory. You did do a refresh in the interface, right? You could think there were none but then find they where indeed there. And what about checking the isapi filter (should be a tomcat one) and the handler mappings (should be ones for .cfm, .cfc, and so on). And these should be at the server level and in each site, pointing to one connector folder, since you said you did it for "all sites".

    I'll note that I help people solve problems with the connector every day, and there are all kinds of problems people can have (many brought on by them or folks in the past failing to "run as admin"). There are other issues related to misconfiguration of the IIS settings due to vestiges of settings from past releases, or from people manually tweaking things to try to get them to work over the years. The connector tool could have a hard time handling such instances.

    But in your case, it would be odd indeed if it could do the remove of all the virtual directories, but not add them back.

    Let us know what you may find or think about the above.
  76. Piyush
    Greg/Apul,
    Looks like there's a change in the behavior with Update 5 when using IE11.
    Hitting the enter key in the input box does not submit the form, but clicking anywhere outside the input box does.
    will investigate further and get back.
  77. Piyush
    Stephen,
    When you create an IIS connector here's what happens at the webserver's end:
    - virtual mappings are created for CFIDE (points to CFIDE in CF's internal wbroot) and jakarta (points to the folder containing the isapi_redirect DLL)
    - handler mappings are created for .cfm, .cfml, .cfc, .cfr, cfswf files.
    - An ISAPI filter is configured pointing to isapi_redirect.dll (at <cf_root>/config/wsconfig/<magic_num>/).
    - default document for the site is set to index.cfm
    (If you are creating a connector with "All sites", these attributes will be set the server level rather than a site level)

    And here's what happens at the CF server end:
    - A folder is created at <cf_root>/config/wsconfig/<magic_num> which contains the isapi_redirect.dll and other properties files.
    - The connector properties are stored in the wsconfig.properties file at <cf_root>/config/wsconfig/.
    - The steps performed by the WSconfig tool to create the connector are logged in the wsconfig.log file at <cf_root>/config/wsconfig/wsconfig.log
    - And finally the wsconfig tool restarts the webserver with a message prompt.

    The content of the wsconfig.properties file would look something like this:
    1=IIS,2,true,"",bitness64
    1.srv=localhost,cfusion.
    where, 1 just an index number. If you have multiple connectors you'll have additional lines starting with 2.. and so on.
    2 is the ID of the website you are creating the connector with. If you are creating a connector with "All Sites" this number should be set to "0".
    bitness64 is the "bitness" of the connector you are creating. If you check the "configure 32 bit webserver" option in the wsconfig tool UI, this will be set to "bitness32". Ensure that this setting matches the corresponding setting of the application pool of your website.

    After creating a connector you can check if these settings/files/folders are physically present. If not delete or remove any stale files or settings and try running the tool again with administrator privileges.
    As suggested by Charlie, you should check the wsconfig.log for clues first.
  78. Stephen HC
    Thanks so much Charlie and Piyush for the helpful information. I had to revert from a previous image as I was not able to get it working before i had to bring our servers online again, i should have saved the logs. I did indeed make sure to read your article Charlie and i ran as admin. When i say i removed I mean that i launched the connector app and then selected [All Sites] which already existed and clicked Remove. Then I added it back as i assumed this is what is needed to be done to reset the connector after an update? I will give this another try this weekend and then post back with a response. If it fails again ill save the logs. I did also notice that the Handler mappings for the Server level in IIS was pointing to /config/wsconfig/1/ which was not the newest one that was created. Each time i tried to run the connector it created a new /config/wsconfig/x and the last one was /config/wsconfig/5/ None of the handler mappings for .cfm were pointing to that new one. I tried to manually change it and restart CF/Web/Server and still no go. So it was like the connector didnt seem to do anything at all. Anyways, will post back after i try this again. Wish CF was not so finicky with updates these days...
  79. charlie arehart
    Stephen, given that you say the remove left the filters and mappings pointing to the 1 folder, I would suspect this is because at some point in the past someone DID forget to "run as admin", and/or DID manually tweak things, in such a way that CF could not/did not remove the values.

    When I walk folks through a connector rebuild, I have them do the remove, then we open the applicationhost.config (in windows\system32\inetsrv\config) and we search to see if any references to ColdFusion remain. There should be none, at least for isapi filters, handler mappings, and the Jakarata or CFIDE virtual directory mappings. If there are, they should be removed. (There may be some remaining CF references for other reasons, but assess them carefully.)

    And of course, one must edit that file VERY carefully. Leaving a missing quote or closing slash in the XML could botch your IIS config, so do be careful. That's where it may be tempting to use a better editor than notepad, so you have better undo capabilities.

    But here's a REAL gotcha that often catches people out: if you use (or get) another editor like Notepad++, beware that if it's a 32-bit editor,you DO NOT WANT TO EDIT THIS FILE WITH THAT. If you open and edit this file in a 32-bit editor, when you save the file it's not saved back to the same folder, but to \windows\syswow64\inetsrv\config, and it will NOT therefore affect IIS. Worse, when you open the file in windows\system32 again (with a 32-bit editor), it will NOT load that file but rather the one in windows\syswow64. (So my point is that you or someone may even have found that file and tweaked it, and not realized that your changes were going to the wrong file.)

    Anyway, once we ensure there are no remaining vestiges of CF references to handlers, isapi filters, or VDs, then I point out that they could also be found (and overriding the file above) in the web.config of any site or folder within a site, so I have them search for any web.config's in the website docroots which have any references to coldfusion. (I recommend a free tool called FileLocator lite that makes quick work of that, but there are others of course.)

    Once all vestiges of references to CF handlers, isapi filters, and VDs are gone from all the config files, THEN I have them add back the connector. This (along with remembering to "run as admin") takes care of literally 99% of problems people have with "oddness" in the connector configuration.

    And as such, the finickiness seems more often than not to be from people's own doing, though I realize they're just scrambling to solve a problem when it hits. (And of course, I am available to help people do all the above, which can be done in just several minutes when you do it as often as I do.) But I offer the above (as I have elsewhere) in case it may help readers here, and I realize it may not be your particular problem/solution, Stephen.
  80. Matthew
    Anyone else notice a decrease in caching performance (ehcache / trusted cache) with update 16 to CF 10.

    I don't have specifics yet, but we're looking at FusionReactor and seeing some longer loading templates than we've had in a while. Templates that typically never ran longer the 5/6/7 seconds are, on occasion, hitting 20-30. Odd behavior, just wondering if anyone else is seeing similar.

    We rebuilt connectors (yes, as admin) and cleared the class files as well.

    (We're running Windows Server 2008 R2, IIS 7.5.)
  81. Anthony
    [subscribe]
  82. charlie arehart
    Matthew (#80), some good news is that you can better answer that for yourself, since you have FusionReactor. When you next see a slow page, use FR's "stack trace" button for the request (on the right, on the requests>activity page, while a page is running). If you can catch the page still running when you do it, it will tell you what the page is doing at that moment. After doing a few, you'll have a clear idea if there's some common problem they are suffering. For more, see a youtube video I did for the FR folks: https://www.youtube.com/watch?v=K6JKRAaZAFU

    To be clear, though, I'm not aware of any generic change with these updates that should make any sort of CF innately caching slower.

    As for your asking if "trusted cache" could be slower now, well, as a point of clarification, there is no "trusted cache", per se. Rather, that checkbox you see (on the CF Admin "Caching" page) is rather a feature which influences how template caching (the option above it, to size the cache) works. It's a common source of confusion, but I'll assume that's what you really had in mind.

    All that said, you could see slowness if due to the clear and delete operations you have done (in response to other discussions above), or if your template cache is undersized. But all that's too much for a comment, so I'll try to do a blog post tomorrow with more info and link to it here, if it may be helpful.

    One last thing: you wonder also about both ehcache and trusted/template cache and whether operations against them could be "slower". FWIW, they really are not related to each other, being in separate areas of the heap, so again I'd not expect an update to cause both to be inherently slower.

    Of course, if perhaps something is putting pressure on the heap, and if it may be filling, that could make many operations slower. Again, a stack trace could confirm why your pages are slow, and other features in FR (or the CF Server Monitor or SeeFusion) could help you understand if your heap is filling and--more important--if the "used memory" they may show is truly "in use". I'll pick up on that in the blog post as well.

    Hope the above is helpful for now.
  83. Adam Cameron
    Can you lot please sort your unsubscribe function out? I've unsubbed from this thread at least three times now.

    Cheers.

    --
    Adam
  84. Matthew
    Thanks for the response Charlie. I could have articulated my original question more clearly. The issue that we're seeing has to do with increased response times, which I thought may have been related to a decrease in caching performance with the update.

    The particularly slow responses (30s+) are occurring irregularly, which is to say, it's hard to catch them in FR.

    Now that the weekend has past, I've got some more specifics. Prior to updating, we were seeing our average template response time (via FR daily reports) at around 40ms. Post update, that number has gone up to close to 60ms. In the grand scheme of things, not a huge difference, except that it seems the average is really being driven up by some irregular, extremely long response times.

    Some further digging showed that memory usage also spiked (from using 25% of heap preupdate, to around 75% now). We just ran the garbage collector manually and are trying to track down what is causing the increase. It seems to be climbing back up again. The perplexing aspect is that nothing has changed, except for the update to CF.

    I'll update if we manage to find the culprit. Any suggestions are appreciated.
  85. charlie arehart
    Matthew, here's more good news: you can use FusionReactor to send alerts if/when any request is slower than x seconds, sot hat you will have in that email a stack trace of the request at that moment that it takes that long. Of course, you'd not want to make it 5 or 10 seconds, as you may have lots of such requests, but for your problem of them taking 30 seconds, even if you only left it on for a few hours you should have good evidence by then of the real cause of the problem.

    I do happen to have yet another youtube video I'd done for the FR folks showing how to setup such alerts: https://www.youtube.com/watch?v=TyPnyZV0yVM&index=1&list=PLDIpVdHiiEMft_tF58s37lJlumUmC00_W

    BTW, for those not using FusionReactor, you can get the same sort of alerts (with stack traces) using the CF Server Monitor (if on CF Enterprise) or SeeFusion.
  86. Matthew
    Again, thanks Charlie. We've done that, but the information hasn't been helpful. No references to .cfm templates in the stack traces. Doesn't seem to be a specific line of code triggering the long load times (which would make sense, since the only thing that has changed was the update to 16). Considering rolling back to see if that corrects the issue.
  87. charlie arehart
    Matthew, as you may know, it's not too unusual that you may see stack traces which have no cfm references. But I'd not conclude so readily that it "make sense, as the only thing that changed was update to 16". There are any number of reasons you can have stack traces that show a CF page running slow and NOT referring to a line of code, which may have nothing to do with the update.

    But I DO understand your contention is that you have done nothing but the update, and now things are slow. I'm just saying that when I help people dig into things this way, we can often find what IS the problem (whatever the cause).And sometimes, something like an update is just a coincidence, but yes, it could be the root cause, or something you do (perhaps uniquely) that is creating a stress point with it.

    I'll just add that it would be important to know what the stack traces say, to know what the problem is (even if they don't point to a line of code). But this forum comment area really isn't the right place to elaborate on things (like for you to share it and folks here to analyze it). That's just my opinion, of course. Adobe (or you, or other readers) may feel otherwise.

    If you're interested in my services to diagnose things, I may be able to help with this. Check out the consulting page at carehart.org for more on my rates, approach, and more, including contact info. Note I mention there my satisfaction guarantee, so you won't pay for time you don't feel is valuable. (As I'm not Adobe, I can't offer refunds for problems that ARE due to CF bugs, but I can often help find workarounds--in this case, perhaps allowing you to keep the update and all it gives while easing the stresspoint that makes things seeem slow/hung.)

    Totally your call. If you prefer not to work that way, the best thing may be to open a forum thread in the "CF Admin" forum, https://forums.adobe.com/community/coldfusion/coldfusion_administration. I and other folks who like help solving problems do try to keep an eye on that.

    Hope that's helpful.
  88. Samson
    I'm having issues with output parameters on a stored procedure. I used to have dbvarname, but that stopped any output parameters from working. I removed those around update 3.

    Now I'm having issues with my 3rd output parameter in a procedure that's working just fine under cf9.

    <cfprocparam type="out" cfsqltype="cf_sql_integer" variable="local.customerId">

    The other two parameters come out as local just fine. They are varchars. This doesn't work as either a numeric or integer.

    When I try to assign arguments.customerid = local.customerid it tells me local.customerid doesn't exist. Since it's a number and the default of the proc is null, I'm just assuming that CF is getting a real null for the value and treating it as undefined.
  89. Nimit Sharma
    @Samson,

    This issue was reported as Bug , which is fixed now.

    For more information please refer, https://bugbase.adobe.com/index.cfm?event=bug&id=3971083

    Regards,
    Nimit
  90. Piyush
    Matthew,
    Can you confirm if the caching settings at CF administrator> Server Settings> Caching are optimally set.
    On a production system you may specifically want the following settings enabled:
    Component cache, Trusted cache, Cache template in request, Save class files.

    Can you also confirm if it is the same cfm pages, that are taking longer to process, everytime.
  91. Matthew
    @Piyush Yes, caching settings are optimally set - all those settings are enabled. We are also using cfache on the pages in question.

    It is the same .cfm templates that are generating the longer processing times. 99% of the time when they run, they are fine: uncached they might run around 300-400ms, cached they'll only take 1ms. But they pop up in Fusion Reactor with times ranging from 10,000-30,000ms on occasion, which is really troubling. We did not have this issue before updating.

    Additionally, we know it's not the queries on the page. Their execution time is consistently low, even when the template takes a long time to load.
  92. charlie arehart
    Matthew, did you create a forum post with the details of the stack trace? Or since Adobe is now asking for more about this, would you share one here? We just need about the first 10 lines (typically) of a single stack trace you get while the request shows to be running.

    I realize you said "it doesn't point to any line of CFML", but you've not said what it does show, and there may be something informative there. (It would also be helpful to know if you would say that you see that stack trace not changing over refreshes at intervals of about 5 seconds.)
  93. Phil
  94. Jason Andres
    [subscribe]
  95. Dave Cordes
    Has anyone seen this CFPOP bug since applying the update?

    https://bugbase.adobe.com/index.cfm?event=bug&id=3970419
  96. Matthew
    @Charlie Sorry for taking so long to respond. Happy to provide the stacktrace. Would be thrilled to know if it points to anything that we can address. Thanks!

    "ajp-bio-8012-exec-5876" Id=28791 RUNNABLE (in native)
    java.lang.Thread.State: RUNNABLE
    at java.net.SocketOutputStream.socketWrite0(Native Method)
    at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109)
    at java.net.SocketOutputStream.write(SocketOutputStream.java:153)
    at org.apache.coyote.ajp.AjpProcessor.output(AjpProcessor.java:307)
    at org.apache.coyote.ajp.AbstractAjpProcessor$SocketOutputBuffer.doWrite(AbstractAjpProcessor.java:1258)
    at org.apache.coyote.Response.doWrite(Response.java:520)
    at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:412)
    at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:371)
    at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:442)
    at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:430)
    at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:91)
    at com.intergral.fusionreactor.j2ee.filter.surrogate.FusionReactorServletResponseInterposer$1.write(FusionReactorServletResponseInterposer.java:75)
    at com.intergral.fusionreactor.j2ee.trackedstream.TrackedStream2.write(TrackedStream2.java:31)
    at com.intergral.fusionreactor.j2ee.filter.softkill.SoftKillResponseStream.write(SoftKillResponseStream.java:104)
    at coldfusion.runtime.CachedBufferedOutputStream.flushBuffer(CachedBufferedOutputStream.java:102)
    at coldfusion.runtime.CachedBufferedOutputStream.flush(CachedBufferedOutputStream.java:171)
    - locked coldfusion.runtime.CachedBufferedOutputStream@dc2dd82
    at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:297)
    at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:141)
    - locked java.io.OutputStreamWriter@36d40526
    at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:229)
    at java.io.PrintWriter.flush(PrintWriter.java:320)
    - locked java.io.OutputStreamWriter@36d40526
    at coldfusion.runtime.NeoJspWriter.flush(NeoJspWriter.java:320)
    at coldfusion.runtime.NeoPageContext.flushOutput(NeoPageContext.java:2010)
    at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:42)
    at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:58)
    at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38)
    at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22)
    at coldfusion.filter.CachingFilter.invoke(CachingFilter.java:62)
    at coldfusion.CfmServlet.service(CfmServlet.java:219)
    at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42)
    at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at sun.reflect.GeneratedMethodAccessor93.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at com.intergral.fusionreactor.j2ee.filterchain.WrappedFilterChain.doFilter(WrappedFilterChain.java:97)
    at com.intergral.fusionreactor.j2ee.filter.FusionReactorRequestHandler.doNext(FusionReactorRequestHandler.java:472)
    at com.intergral.fusionreactor.j2ee.filter.FusionReactorRequestHandler.doHttpServletRequest(FusionReactorRequestHandler.java:312)
    at com.intergral.fusionreactor.j2ee.filter.FusionReactorRequestHandler.doFusionRequest(FusionReactorRequestHandler.java:192)
    at com.intergral.fusionreactor.j2ee.filter.FusionReactorRequestHandler.handle(FusionReactorRequestHandler.java:507)
    at com.intergral.fusionreactor.j2ee.filter.FusionReactorCoreFilter.doFilter(FusionReactorCoreFilter.java:36)
    at sun.reflect.GeneratedMethodAccessor53.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at com.intergral.fusionreactor.j2ee.filterchain.WrappedFilterChain.doFilter(WrappedFilterChain.java:79)
    at sun.reflect.GeneratedMethodAccessor50.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at com.intergral.fusionreactor.agent.filter.FusionReactorStaticFilter.doFilter(FusionReactorStaticFilter.java:53)
    at com.intergral.fusionreactor.agent.pointcuts.NewFilterChainPointCut$1.invoke(NewFilterChainPointCut.java:41)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:422)
    at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:199)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314)
    - locked org.apache.tomcat.util.net.SocketWrapper@38d4fba9
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:745)
  97. Miket03
    Updated CF 10 to Update 16. Everything was looking good until recently. We use CFIMAGE to resize and get thumbnails from images for display purposes. After the update, our thumbnails look like crap. What happened????
  98. Byron_K
    Thank you Piyush for comment 77.

    I see that wsconfig.exe has an "upgrade" option from command line. (I have read Charlie's excellent blog about the "upgrade" option and also the wsconfig user guide).


    Can we use this "upgrade" option with ColdFusion 11 Update 5?

    (our problem: the wsconfig GUI (remove/add) breaks all of our custom CFIDE mappings and other CFIDE settings, such as IP restrictions, etc).

    Thanks in advance,
    Byron
  99. Piyush
    Byron,
    The upgrade option should work fine.
  100. Charlie Arehart
    Matthew (#96), so sorry for missing your request to me for thoughts on the stack trace you'd shared here. I realize you may no longer have the problem (do let us know).

    But FWIW, I would note that the stack trace shows clearly that the request in question was sending its resulting output to the browser (it was at "org.apache.catalina.connector.OutputBuffer.write", and ultimately "java.net.SocketOutputStream.socketWrite0").

    I had noted that you'd want to check that at repeated intervals (even just a few seconds) to make sure that this was indeed consistently what the slow request was doing.

    If all the slow requests of interest to you are indeed constantly showing that sort of stack trace, it would not seem to be related to CF or any update. I would think instead that it was something related to the sending of your output from CF out of the server and to the users. There could be issues in the network along that path.

    Did you by any chance ever notice if either the IP address of the requests (shown in FR) might have shown it to be perhaps for a small subset of addresses, or if perhaps the user agent (shown in the FR request details page and its "headers" tab) might indicate that such slow requests were from mobile devices? or could it be people on a slow network (uniquely)? Just guessing, admittedly.

    Again, I realize this may all be moot for ou at this point. Hope it may help someone else, if they may have similar stack traces and find this discussion in the future.
  101. Matthew
    @charlie

    Thanks for the response, albeit delayed.

    That was a long time ago. I'm actually with a different company now. I don't remember if/how we got it resolved back then. I don't think we did though.

Leave a Comment

Leave this field empty: