tracker issue : CF-3759721

select a category, or use search below
(searches all categories and all time range)
Title:

cfimage writetobrowser throwing error on CF10 Mac OS X Mavericks Java 1.7

| View in Tracker

Status/Resolution/Reason: Closed/Fixed/

Reporter/Name(from Bugbase): Jennifer Kang / Jennifer Kang (Jennifer Kang)

Created: 05/13/2014

Components: CFIMAGE

Versions: 10.0

Failure Type: Non Functioning

Found In Build/Fixed In Build: Final / 11,0,04,293239

Priority/Frequency: Critical / All users will encounter

Locale/System: English / Mac 10 All

Vote Count: 13

Listed in the version 11.0.04.293328 Issues Fixed doc
Problem Description: <cfimage action="writeToBrowser"... produces error java.lang.ClassNotFoundException: javax.media.jai.util.ImagingException

Steps to Reproduce: Add <cfimage action="writeToBrowser" source="YOUR-SOURCE" format="YOUR-FORMAT">

Actual Result: Error: java.lang.ClassNotFoundException: javax.media.jai.util.ImagingException

Expected Result: Image should appear

Any Workarounds: none

----------------------------- Additional Watson Details -----------------------------

Watson Bug ID:	3759721

External Customer Info:
External Company:  
External Customer Name: mjrjweb
External Customer Email:  
External Test Config: My Hardware and Environment details: ColdFusion 10,287689 (update 13 for Mavericks applied), Mac OS X 10.9.2, Apache/2.2.22, Java 1.7.0_55

Attachments:

  1. May 14, 2014 00:00:00: 1_cfimage_error.png
  2. September 04, 2014 00:00:00: 2_cfimage-windows-error.png

Comments:

Error occurred immediately after updating to Mavericks and updating Java. Tried to rollback to Java 1.6.0_45.jdk but then CF would not start.
Comment by External U.
12125 | May 13, 2014 01:55:40 PM GMT
This is a show stopper for us -- we could really use a solution.
Vote by External U.
12153 | May 13, 2014 02:02:06 PM GMT
See also: http://stackoverflow.com/questions/23638167/cfimage-writetobrowser-throwing-error-on-cf10
Comment by External U.
12126 | May 13, 2014 02:55:27 PM GMT
It seems that the Mavericks update deletes the JVM located in /System/Library/Java Installing the dmg located at http://support.apple.com/kb/DL1572?viewlocale=en_US reinstalled 1.6.0.jdk and fixed the issue. However, it still should be explored as to why 1.7 does not work for cfimage.
Comment by External U.
12127 | May 13, 2014 05:18:20 PM GMT
As of CF10 Update 8, JDK 1.7 is officially supported. See: http://helpx.adobe.com/coldfusion/kb/coldfusion-10-update-8.html That would seem to indicate Adobe are obligated to fix this issue. Also of note, I experience the same exception simply trying to run imageRead( some-PNG-file ) on OSX 10.9.4, Java 1.7.0_60-b19.
Comment by External U.
12128 | August 11, 2014 02:47:32 PM GMT
Easily reproduced bug on a supported platform and Java version. Sounds to me like it needs to be fixed.
Vote by External U.
12154 | August 11, 2014 02:53:53 PM GMT
+1 to fix this bug since it effects me on OSX Mavericks as well
Vote by External U.
12155 | August 12, 2014 02:00:13 PM GMT
We are not able to reproduce the issue Tested on: MAC OSX 10.9.2 Java 1.7 update 67 CF10 update 13 Apache 2.2.27, and the image renders fine in the browser. (Comment added from ex-user id:nawani)
Comment by Adobe D.
12129 | August 22, 2014 06:15:46 AM GMT
To date, I have only been able to reproduce issues like this one, and the similar issue I previously commented on in this thread, while inside a FW/1 service. When I attempted to create a stand-alone repro case, I did not get any errors. Interestingly, I also did not see the image written to the browser. Here's the stack trace I see when I attempt to use imageRead() from inside a FW/1 service: https://gist.github.com/atuttle/0df4ad1dec804eace6a3 --- Unrelated to that stack trace: Here's my attempt at a stand-alone repro case for the writeToBrowser bug. Note that you'll need to provide your own "img.png" file. https://gist.github.com/atuttle/d8a27bdb3e3f9e03f9c4 I do not get any error, but the image is also not written to the browser and nothing shows up in the page source for it either. Here's the output that I see: CF: 10,0,13,287689 OS: Mac OS X 10.9.4 x86_64 Java: 1.7.0_60 Image included with html: [image is displayed here] Image included with <cfimage action="writetobrowser" ...>: [nothing here, where we would expect to see the image]
Comment by External U.
12130 | August 22, 2014 08:28:08 AM GMT
I'm having the same issue. It effects me when I try and use cfimage resize. It has always worked correctly until recently. This is currently devesting my website because I need to resize uploaded images. I am also on Mavericks
Vote by External U.
12156 | August 25, 2014 11:59:56 AM GMT
Was able to duplicate Windows server: ColdFusion Version ColdFusion 10,283111 Edition Standard Operating System Windows Server 2008 R2 OS Version 6.1 Update Level /C:/ColdFusion10/cfusion/lib/updates/hf1000-CF-3332326.jar Adobe Driver Version 4.1 (Build 0001) JVM Details Java Version 1.7.0_67
Comment by External U.
12131 | September 03, 2014 02:40:26 PM GMT
Please fix throwing error on latest update with Java 8
Vote by External U.
12157 | October 20, 2014 10:10:20 PM GMT
I am also getting this error after just having upgraded to yosmite. I think I did have the same error with maverick but rolled back to 6. Any news on this bug? I seem to be getting it on any cfimage tag
Comment by External U.
12132 | November 18, 2014 08:06:04 AM GMT
Happening on yosmite as well
Vote by External U.
12158 | November 18, 2014 08:06:58 AM GMT
I have since upgraded to ColdFusion 11 and this bug continues to be a problem. Not only that, but it fails silently. No error message is shown on the screen; only in the exception log file. https://gist.github.com/atuttle/df18dc7e29e9b7d23217
Comment by External U.
12133 | November 18, 2014 09:57:49 AM GMT
Shouldn't even need voting on
Vote by External U.
12159 | November 18, 2014 10:00:42 AM GMT
+1 / subscribe / ................................
Vote by External U.
12160 | November 18, 2014 10:04:37 AM GMT
On CF11 on Yosemite and this is a problem for me as well. I have the problem when trying to use ImageReadBase64 also. The big problem here is that ColdFusion 11 can't use 1.6, which maybe is a workaround for this problem. So until this is fixed, I'm hosed.
Vote by External U.
12161 | November 24, 2014 03:27:44 PM GMT
We recently upgraded to ColdFusion 11 and the write to browser functionality broke. It works perfectly on cold fusion 10
Vote by External U.
12162 | November 24, 2014 04:32:42 PM GMT
Wow -- this feature used to be sure handy -- now that we have upgraded to CF 11 -- no dice. Please fix.
Vote by External U.
12163 | November 24, 2014 04:39:18 PM GMT
I have tried to repro the scenario with CF11 update 3. The image is being written to the browser & no exceptions are generated. Could you try on this latest update & also do let us know if we are missing some other detail.
Comment by S P.
12134 | December 05, 2014 06:54:43 AM GMT
Unfortunately I am not in a position to install a pre-release update to my only development environment right now to test this for you (and I probably won't be any time soon). Once the update is finalized I will be happy to install it and verify that this bug is fixed for me. Does your reply indicate that you are able to reproduce this problem with CF11 Update 2?
Comment by External U.
12135 | December 05, 2014 09:52:33 AM GMT
I can see the image being displayed onto the browser with CF11 GM build as well as CF11/HF2, both on MAC 10.9.5 & 10.10, without any exceptions. And the image formats I tried are png, gif, jpeg, jpg & bmp. Is there something that I am still missing?
Comment by S P.
12136 | December 08, 2014 07:33:41 AM GMT
Am I misunderstanding what cfimage action="writetobrowser" is supposed to do? Here is yet another repro case: https://gist.github.com/atuttle/e957e4b9db7dc8293512 Running this on CF11u2 I see the image metadata dumped, but the image itself is never written to the browser: https://www.dropbox.com/s/u39axyl3xvg2ljk/Screenshot%202014-12-08%2009.19.35.png?dl=0
Comment by External U.
12137 | December 08, 2014 08:50:04 AM GMT
@Adam, I don't see any code like <cfimage action="writetobrowser" > in this example.
Comment by Rupesh K.
12138 | December 08, 2014 09:01:48 AM GMT
You're right. Sorry about that. That was my fault: I have changed this repro code so many times that I forgot that I had removed that portion. I have updated the same gist link. Here is an updated screen shot: https://www.dropbox.com/s/mh7l07j449bnl15/Screenshot%202014-12-08%2009.38.48.png?dl=0 As you can see, the image is still not displayed correctly. The network request for it in the CFFileServlet returns a 404.
Comment by External U.
12139 | December 08, 2014 09:10:21 AM GMT
That's weird. The example seems to be working fine for me. By any chance, have you removed CFFileServlet from the web.xml? Can you also check if the files are being created at <cfinstallDir>/tmpCache/CFFileServlet/_cf_image directory?
Comment by Rupesh K.
12140 | December 08, 2014 09:49:40 AM GMT
The image does appear to be copied to the _cf_image directory. The CFFileServlet is still in web.xml in two places: the servlet definition and the servlet mapping. Neither is commented out. Could it be apache config? I'm using vhosts. Here's my vhost config for the site that I'm testing on: https://gist.github.com/atuttle/6a494bea671788bb2bae
Comment by External U.
12141 | December 08, 2014 10:02:47 AM GMT
I think fundamentally a few of the image functions are broken. For me specifically it's imageRead - although it may be others, my code doesn't get past that. createObject("java", "java.lang.System").getProperty("java.version") reports a Java version for me of 1.8.0_25. I'm using a brand new iMac 5k with Yosemite and the latest CF11 installer and update 3. Below is the Coldfusion error from the logs. It seems to me that there is some component of Java that is missing. We have another almost identical, slightly older iMac in the office and it doesn't have the issue, neither does my older machine. As a few other people mentioned, this is a real deal breaker for us. None of my forms that handle images work as they all rely on this core functionality. It works live on the server, but I can't develop there.
Comment by External U.
12142 | December 09, 2014 10:44:23 AM GMT
Dec 09, 2014 3:57:26 PM org.apache.catalina.core.StandardWrapperValve invoke SEVERE: Servlet.service() for servlet [CfmServlet] in context with path [/] threw exception [Servlet execution threw an exception] with root cause java.lang.ClassNotFoundException: javax.media.jai.util.ImagingException at java.net.URLClassLoader$1.run(URLClassLoader.java:372) at java.net.URLClassLoader$1.run(URLClassLoader.java:361) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:360) at coldfusion.bootstrap.BootstrapClassLoader.loadClass(BootstrapClassLoader.java:213) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at coldfusion.tagext.io.ImageTag.<init>(ImageTag.java:81) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:408) at java.lang.Class.newInstance(Class.java:438) at coldfusion.runtime.NeoPageContext$TagSet.getTagHandlerInstance(NeoPageContext.java:2528) at coldfusion.runtime.NeoPageContext.getTagHandlerInstance(NeoPageContext.java:2395) at coldfusion.runtime.CfJspPage._initTag(CfJspPage.java:1917) at cftest2ecfmDVAPR-1132078092.runPage(/Volumes/Data/Server/pad/1_1/test.cfm:18) at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:246) at coldfusion.tagext.lang.IncludeTag.handlePageInvoke(IncludeTag.java:736) at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:572) at coldfusion.filter.CfincludeFilter.invoke(CfincludeFilter.java:65) at coldfusion.filter.IpFilter.invoke(IpFilter.java:45) at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:466) at coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:42) at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40) at coldfusion.filter.PathFilter.invoke(PathFilter.java:142) at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:94) at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28) at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38) 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 coldfusion.inspect.weinre.MobileDeviceDomInspectionFilter.doFilter(MobileDeviceDomInspectionFilter.java:121) 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 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catal ...
Comment by External U.
12143 | December 09, 2014 10:47:00 AM GMT
Following up on my note below - myself and Charlie A spent some time looking at this tonight and noticed some things. I've got 3x iMacs here, 2x running Yosemite, 1x on Mavericks. All are using CF11 update 3 (final release from today) 1. Mavericks with JRE 1.7 works 2. Yosemite with JRE 1.7 does not work * 3. Yosemite with JRE 1.8 does not work * * gets the imagingException mentioned in this bug. We were testing imageRead rather than writeToBrowser, but the stack trace is very similar.
Comment by External U.
12144 | December 09, 2014 06:53:23 PM GMT
Can't work on any forms or anything that handles image uploads - right now, for us, this is a major issue. The only workaround is to develop on a separate web server running on non Mac OS, which isn't possible for everyone. We're running Yosemite - don't have the issue on Mavericks.
Vote by External U.
12164 | December 10, 2014 05:06:21 AM GMT
JAI-related jar files(jai_codec.jar, jai_core.jar, mlibwrapper_jai.jar) are missing from /System/Library/Java/Extensions/ folder and this path is loaded from ColdFusion server start script. As previous OS editions had apple JDK 6 (which had these files), we did not ship them with ColdFusion. However, when you upgrade to Yosemite, these libraries are apparently being removed during the OS upgrade process. Can you download JDK 1.6 from the apple site (see - http://support.apple.com/kb/DL1572), and ensure the required JAI libraries are present in the aforementioned folder? We will see how best we can address this fix from our side. Thanks for pointing it out.
Comment by S P.
12145 | December 12, 2014 06:17:36 AM GMT
@SPraethi Installed Java - not found the files yet to see if it fixes the problem - but when I put the filename into spotlight it pulls up the CF installation log from my cfroot and in it there is the following: Install File: /Applications/ColdFusion11/WEB-INF/cfusion/lib/jai_codec.jar Status: SUCCESSFUL Install File: /Applications/ColdFusion11/WEB-INF/cfusion/lib/jai_core.jar Status: SUCCESSFUL Install File: /Applications/ColdFusion11/WEB-INF/cfusion/lib/jai_imageio.jar Status: SUCCESSFUL Towards the end of the log there is then: Delete File: Source:jai_codec.jar Status: SUCCESSFUL Delete File: Source:jai_imageio.jar Status: SUCCESSFUL Delete File: Source:jai_core.jar Status: SUCCESSFUL I'm not expert when it comes to log entries, but could it be that the CF installer is deleting those libraries?
Comment by External U.
12146 | December 12, 2014 09:54:14 AM GMT
Ok, ran the Java install, confirmed the files were in the /System/Library/Java/Extensions/ folder and restarted the CF server. Can confirm that it solved my issue and now both imageRead and writeToBrowser are working fine. Good fix, thank you. I guess the CF installer needs an update. On the CF blog a few people been mentioning some issues with DDX functions - maybe there is a similar cause? I don't know. Thank you all the same.
Comment by External U.
12147 | December 12, 2014 10:09:45 AM GMT
Personally I don't see requiring an EOL'd JDK as an acceptable workaround. I hope that a more forward-thinking resolution will be found.
Comment by External U.
12148 | December 12, 2014 10:22:07 AM GMT
Functionality broken in both Mavericks and Yosemite.
Vote by External U.
12165 | December 22, 2014 03:08:04 PM GMT
This issue is fixed and the fix will be available as part of the upcoming update of ColdFusion 11.
Comment by S P.
12149 | January 23, 2015 03:11:00 AM GMT
CF11 update3 still an issue.
Comment by External U.
12150 | February 06, 2015 04:55:29 PM GMT
The fix will be available in the next CF11 update.
Comment by S P.
12151 | February 10, 2015 12:25:31 AM GMT
So the solution to this is to require either an upgrade to CF11 or a downgrade to JDK 1.6? Is that right?
Comment by External U.
12152 | February 15, 2016 01:15:56 PM GMT