Java 1.6.0_51 breaks MATLAB 2012b and below

The Java 1.6.0_51 update released today breaks MATLAB 2012b and below. You can open the program but it does not register any mouse or keyboard interaction until the window is resized.
Is there a patch coming?

3 comentarios

the cyclist
the cyclist el 19 de Jun. de 2013
I have 10.8.4, and I ran 2012b just fine.
Mark
Mark el 19 de Jun. de 2013
It may be the Java for OS X 2013-004 update released today that is now bundled with 10.8.4
Stewart
Stewart el 20 de Jun. de 2013
As another user pointed out in http://www.mathworks.com/matlabcentral/answers/79691-java-1-6-0_51-breaks-matlab-2012b-on-mac-os-x-10-6-8 that from the command line, 'matlab -nodesktop' DOES work in the mean time.
The '-nojvm' option will not allow any GUI items, but '-nodesktop' will let you create plots and use the GUI features.

Iniciar sesión para comentar.

 Respuesta aceptada

Shashank Prasanna
Shashank Prasanna el 22 de Jun. de 2013
Editada: Shashank Prasanna el 22 de Jun. de 2013
This issue has been fixed.
The was an issue in the Java security updates that Apple released for Mac OS X (as mentioned above). These updates install Java 1.6.0_51 and the exact build number looks like this (ending with M4508):
Java™ SE Runtime Environment (build 1.6.0_51-b11-456-10M4508) You can check if you have installed the xM4508 versions by running any one of the following commands on the Terminal of your Mac OS X:
java -version
OR
/usr/libexec/java_home -v 1.6 -exec java -version
If you have previously installed the xM4508 versions of the Java updates you can upgrade to the fixed xM4509 version by manually installing the following update:
Mac OS 10.7.x and 10.8.x:
================
Mac OS 10.6.x:
================
Confirm that you have the updated Java version by executing any of the above two commands. The exact build number looks like this (ending with M4509):
Java(TM) SE Runtime Environment (build 1.6.0_51-b11-457-10M4509)
updates already (ending with M4508), you should receive this fix (ending with M4509) automatically through Software Update / App Store.
If you need further assistance feel free to contact Technical Support.
Regards

3 comentarios

Malcolm Lidierth
Malcolm Lidierth el 22 de Jun. de 2013
It is worth checking the SHA1 checksum on the downloaded file against that on the web page- the broken version was still being delivered a few hours ago, possibly because of cached versions.
Andi
Andi el 24 de Jun. de 2013
Does this solution also fix the problem with matlabpool (R2011a, OSX 10.6.8). I tried an older workaround which worked after a previous Java update but does not work for this one. Many thanks!
Denny Lie
Denny Lie el 25 de Jun. de 2013
This solution (xM4509) works for me (Mountain Lion, Matlab R2012a). Thank you :)

Iniciar sesión para comentar.

Más respuestas (13)

Julien Aubert
Julien Aubert el 19 de Jun. de 2013

6 votos

I found this workaround, should work until Apple/Mathworks issues a patch:
Download the Apple Java SE 2013-003 update (no longer on the Apple website but I found this link: http://apple-java-for-mac.en.softonic.com/mac/download)
Then download and install Pacifist http://www.charlessoft.com
Use Pacifist to open the Apple Java package and install using the install option of Pacifist.
Your Java SE should be downgraded to where it was prior to applying the 2013-004 patch. This worked for me, matlab is functional again.
J

8 comentarios

Mark
Mark el 19 de Jun. de 2013
That works for now. Thanks.
Kate
Kate el 20 de Jun. de 2013
This worked perfectly for me -- thanks! I'm running Matlab 2010b under Mac OS 10.8.4 and this installed Java version 1.6.0_45.
For anyone who's curious or concerned, Pacifist is just a shareware (free trial) tool to let you install older versions of applications, bypassing any "safeguards" Mac OS has in place. The whole process was simple, easy, and much faster than Googling for other options. Thanks, Julien!
Nimit Dhulekar
Nimit Dhulekar el 20 de Jun. de 2013
Another solution is to use your Apple developer login to get the Java for OS X 2013-003 Developer Package. You can then install this using Pacifier and it reverts back to the older Java 1.6.0_45 version. Tested R2012a and R2012b on 10.6.8, both working fine now.
Mark
Mark el 20 de Jun. de 2013
Editada: Mark el 20 de Jun. de 2013
Interesting. I tried this and now MATLAB won't even start.
Update: the file above is for OS10.7 and above. If you have 10.6.8, don't try the 2013-003 update with pacifist. It will prevent Java from working on your machine.
Thomas Moran
Thomas Moran el 20 de Jun. de 2013
This worked for me running 2012a on 10.7.5. Java Control Panel still shows Java 7 Update 25, but MATLAB is back to normal.
Elmer
Elmer el 20 de Jun. de 2013
Thank you, thank you, thank you! This solved the problem for me with R2012b on 10.8.4
(I only wish I had your answer several hours ago)
Luis
Luis el 21 de Jun. de 2013
Also worked for me. Also running 2012a on 10.7.5. Thank you.
Roser Juanola-Parramon
Roser Juanola-Parramon el 22 de Jun. de 2013
Editada: Roser Juanola-Parramon el 22 de Jun. de 2013
Works for me too! many thanks!

Iniciar sesión para comentar.

Ken Atwell
Ken Atwell el 22 de Jun. de 2013

3 votos

As Art noticed first, a new update to Java was posted on Friday. Run Software Update, and if that does not correct the problem, you will need to download and install the update manually:
Thanks once again for your patience; we especially appreciate everyone chipping in here with suggestions and workarounds.
Ken Atwell
Product Manager, MATLAB Platforms
John
John el 21 de Jun. de 2013
Another method for OS X 10.7/10.8:
Note that this may also remove any other versions of Java installed alongside 1.6
In Terminal, copy and paste these 3 commands to remove enough of the new Java version to allow re-installation of Java 1.6.0_45:
sudo rm -rf /System/Library/Java/JavaVirtualMachines
sudo rm -rf /System/Library/Frameworks/JavaVM.framework
sudo pkgutil --forget com.apple.pkg.JavaForMacOSX107
Then open the downloaded disk image and install JavaForOSX.pkg
You will now need to turn off automatic system updates, and refrain from installing the 2013-004 update when it gets offered again via the App Store.

6 comentarios

Mario
Mario el 21 de Jun. de 2013
Editada: Mario el 21 de Jun. de 2013
Dear John,
It works for me perfectly!! Excellent!. I'm going to point to your answer as the correct.
Thanks.
Antonio
Antonio el 21 de Jun. de 2013
Editada: Antonio el 21 de Jun. de 2013
Perfect tnks Jhon
Piotr
Piotr el 21 de Jun. de 2013
Thank you. I works great.
Christine
Christine el 21 de Jun. de 2013
I was able to remove enough of the new version of Java using on OS X 10.8 and reinstall java with
sudo rm -rf /System/Library/Java/JavaVirtualMachines sudo rm -rf /System/Library/Frameworks/JavaVM.framework sudo pkgutil --forget com.apple.pkg.JavaForMacOSX108
but with
...108 instead of ...107 . Just wanted to share. Thanks so much for your help!
John
John el 21 de Jun. de 2013
Editada: John el 21 de Jun. de 2013
Sorry, I didn't have time to find a new 10.8 machine to test. It appears that a 10.8 machine upgraded from 10.7 (that already had Java 1.6 installed) does not use the 10.8 package identifier. So there are 3 packages available depending on which OS you have and/or how it was upgraded:
com.apple.pkg.JavaForMacOSX10.6
com.apple.pkg.JavaForMacOSX107
com.apple.pkg.JavaForMacOSX108
To find which is installed on your machine, use the following terminal command:
pkgutil --pkgs=.*Java.*
Substitute the appropriate package version into the 'forget' command.
If you need to find out when a package was installed, use the following:
pkgutil --pkg-info com.apple.pkg.JavaForMacOSX10.6 | grep "install"
Convert from Unix seconds to local time using:
date -j -f "%s" [insert time in seconds]
For 10.6.8, you will need to find a copy of 'Java for Mac OS X 10.6 Update 15'. This is no longer available from Apple, and I cannot recommend any sites, although you can find it if you look hard! Always check downloads from non-Apple sites for security by checking the SHA1 value of the downloaded file. See http://support.apple.com/kb/ht1652 for how to do that. SHA1 values for the two files required can be found by looking in the Wayback Machine:
Java for Mac OS X 10.6 Update 15:
Java for OS X 2013-003 (for OS X 10.7 & 8)
Niklas Roth
Niklas Roth el 24 de Jun. de 2013
Thanks John!! Had the same problem and your solution worked!! =D

Iniciar sesión para comentar.

Ken Atwell
Ken Atwell el 20 de Jun. de 2013

1 voto

Both MathWorks and Apple are aware of the problem, and we are actively investigating. We will post updates here as we learn more. As others have reported, MATLAB versions R2012b and earlier are impacted. The only identified work-around just now is to use Time Machine or similar means to revert to the previous Java release.
Thanks for your understanding and patience.
Ken Atwell
Product Manager, MATLAB Platforms

4 comentarios

Jose
Jose el 21 de Jun. de 2013
Is there a timeline on when the update will be released? Is there a way to sign up for notifications for the update?
Sidney Markowitz
Sidney Markowitz el 21 de Jun. de 2013
Ken,
This update broke our application too and we have figured out the problem and the fix, which was tricky to narrow down but easy to implement. I posted the details on StackOverflow, which should be all your developers need to get a fix out. Unfortunately it does not provide a workaround for users other than the Time Machine method you posted, or reverting to an older Java version for those lucky enough to have one available in their Java Preferences panel. Here is the link to my answer: http://stackoverflow.com/a/17226346/2507292
Malcolm Lidierth
Malcolm Lidierth el 21 de Jun. de 2013
@Ken I have a Mac Pro updated to Mountain Lion from Snow Leopard with JDK 7 installed. Just replacing the copy of the JDK6 in the /System/Library/Java/JavaVirtualMachines solved the problem for me.
If Apple or TMW could provide a copy of that it could prove a quick fix for some users - there may be copies on the web as suggested by other posters but one of reliable provenance would be better.
MATLABers might also check in /Library/Java/JavaVirtualMachines - they may have a copy there.
Ken Atwell
Ken Atwell el 22 de Jun. de 2013
The new update has been released; see my new answer elsewhere on this page.

Iniciar sesión para comentar.

Shashank Prasanna
Shashank Prasanna el 19 de Jun. de 2013

0 votos

Here is the support roadmap:
On Mountain Lion (OS X 10.8) MATLAB R2012b is supported but not releases prior to that.

5 comentarios

Mark
Mark el 19 de Jun. de 2013
Yep, well 2012b is broken. This may actually be related to the Java for OS X 2013-004 update released today.
Shashank Prasanna
Shashank Prasanna el 19 de Jun. de 2013
Thanks for the info. Are you able to confirm that this issue persists on the Prerelease Version of MATLAB R2013b? Let me know
Mark
Mark el 19 de Jun. de 2013
I haven't checked 2013b but 2013a works.
Stewart
Stewart el 20 de Jun. de 2013
This does not answer the question. According to the roadmap, there is 2-year support for 10.6 still in effect. Saying that R2012b is not supported on releases prior to 10.6 contradicts the roadmap.
Shashank Prasanna
Shashank Prasanna el 22 de Jun. de 2013
Hi Stewart, this was before the diagnosis of the issue. Please look at Ken Atwell's post for the latest information.

Iniciar sesión para comentar.

Mark
Mark el 20 de Jun. de 2013
I found a temporary workaround for OS 10.6.8 at least, and involves no installations:
Close all programs
Go to Applications / Utilities / Java Preferences
The Java Prefs app will open
In the 'General' Tab, change the order of Java SE, so that the two with the older versions are on top. The versions are in the RH column on my system. For example, my toplisted version was 1.6.0_51..., which is the latest version updated yesterday. There were also two entries for 1.6.0_24... Drag these so they are on top (64-bit first)
Close the app
Start MATLAB. Now I can type and everything is good.

1 comentario

This will only work if you have other Java's installed. On my system, it seems the update (not sure which or when) has wiped all previous versions. The older verion folders are all symlinked to the 1.6 tree, see
user@host /System/Library/Frameworks/JavaVM.framework/Versions $ ls -l
total 72
lrwxr-xr-x 1 root wheel 5 Jun 19 14:06 1.3 -> 1.3.1
drwxr-xr-x 3 root wheel 102 Jul 20 2009 1.3.1
lrwxr-xr-x 1 root wheel 10 Jun 19 14:06 1.4 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Jun 19 14:06 1.4.2 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Jun 19 14:06 1.5 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Jun 19 14:06 1.5.0 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Jun 19 14:06 1.6 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Jun 19 14:06 1.6.0 -> CurrentJDK
drwxr-xr-x 10 root wheel 340 Jun 19 14:09 A
lrwxr-xr-x 1 root wheel 1 Jun 19 14:07 Current -> A
lrwxr-xr-x 1 root wheel 59 Jun 19 14:06 CurrentJDK -> /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents
I tried this option, but only the latest 1.6.0_51 is available. Manually installing a new java on OSX seems a bit hairy.

Iniciar sesión para comentar.

Tobias
Tobias el 20 de Jun. de 2013

0 votos

This has also happened to me, Matlab 2012a, OS X 10.7.5.
Fabs
Fabs el 20 de Jun. de 2013

0 votos

I ran into this problem today. If you have a time machine backup, you can simply replace /System/Library/Java with a time machine backup from before the update. No need to install anything. https://discussions.apple.com/message/22294042#22294042

2 comentarios

Mario
Mario el 20 de Jun. de 2013
Hi,
I have the same problem.
I did the TM restoration, but it doesn't seems to work for me. Is there any way to get rid of the 004 update and instal the 003?, I do have the JavaForOSX2013-003.dmg http://tinyurl.com/mr2fakx
Thanks.
—MATLAB R2012a—OS X 10.8.4—Xcode 4.6.3—Java 004—
Fabs
Fabs el 21 de Jun. de 2013
Hm, it definitely worked for me. It may be a stupid question, but did you make sure you really restored the old (pre-update) folder? I believe Apple issued the update 06/19, so the folder after restoration should have a date 06/18 or older.

Iniciar sesión para comentar.

Antonio
Antonio el 21 de Jun. de 2013

0 votos

it is inconceivable that the apple makes available an update without first being her some of its operation. is inconceivable block the work of the people.
Art
Art el 22 de Jun. de 2013

0 votos

Apple has released a new version of the 1.6.0_51 update, so it is no longer necessary to hack a downgrade. The fix is described here: http://lists.apple.com/archives/java-dev/2013/Jun/msg00055.html
You have to manually download the JavaForOSX2013-0004 update. I've tried it and it restored my Matlab to working again. This was a rather nasty mix-up.
ML
ML el 27 de Jul. de 2013

0 votos

So, how about Java 7 support on OS X sometime this century?
Why do I have to install EOL Java 6 just to install your stuff? Most developers simply fail to build for 64-bit, but you guys are 64-bit, and still not Java 7 compliant. What gives?
It's time to get JAVA itself on your Product Roadmap as well: http://www.mathworks.com/support/sysreq/roadmap.html ...which seems long overdue.
Timothy
Timothy el 30 de Ag. de 2013

0 votos

Shame the Java update was not rolled out as a 'Software Update', or if it was my Pro didn't do it. I've had heartache for a couple of months almost making me buy a new Pro and Matlab V13 :-) - Damm it now works...

Categorías

Más información sobre Introduction to Installation and Licensing en Centro de ayuda y File Exchange.

Productos

Etiquetas

Preguntada:

el 19 de Jun. de 2013

Respondida:

el 2 de Oct. de 2013

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by