MATLAB Answers

0

Why does MATLAB crash when starting or when using FIGURE or PLOT after I updated my Mac OS Java in versions prior to MATLAB 7.7 (R2008b)?

After I updated Mac OS X Java, which could be a part of the OS X version update, MATLAB crashes with this message when I execute FIGURE, PLOT, or SET. On some machines this occurs with any call to FIGURE or PLOT. On other machines, it always occurs on the same line or a script or function that may contain previous calls to PLOT, FIGURE, or SET. Also, sometimes when I am starting up MATLAB:
 
_NSJVMLoadLibrary: NSAddLibrary failed for /libjawt.dylib
JavaVM FATAL: lookup of function JAWT_GetAWT failed. Exit
This message shows in the terminal if I open MATLAB from the terminal.
If I open MATLAB by clicking on the application, MATLAB just disappears. The same message shows in the Console. Sometimes, no crashdump files are generated.

1 Answer

Answer by MathWorks Support Team on 14 Nov 2016
 Accepted Answer

The crash is possibly related to upgrading the Mac OS Java. This issue has been seen in MATLAB R2007a, R2007b, and R2008a, including both Professional and Student versions.
Configurations reported with this crash:
==============================
Mac OS X10.6.8 with Java 1.6.0_29
Mac OS X10.6.8 with Java 1.6.0_26
Mac OS X 10.5.8 with Java 1.5.0_30
==============================
Please note that OS X 10.6 is not officially suported for MATLAB R2007a, R2007b, and R2008a. Check the System Requirements for a particular MATLAB version here:
If upgrading to a newer version of MATLAB is an option, upgrading MATLAB to versions R2008b or above would fix the crash.
If upgrading is not an option, as a workaround, replace a statement in the matlab7rc.sh file (a hidden file in the MATLAB's bin directory) as follows:
================================================
Step 1:
Close MATLAB, if there is any session open.
Step 2:
Locate the file, 'matlab7rc.sh' as follows:
In Mac Terminal or (X11) xterm , type:
open -a TextEdit $MATLABROOT/bin/.matlab7rc.sh
in which $MATLABROOT is the output of "matlabroot" from the MATLAB command prompt.
For example, for MATLAB R2008a:
open -a TextEdit /Applications/MATLAB_R2008a/bin/.matlab7rc.sh
Step 3:
Open the matlabrc.sh file in the editor to replace a line as follows:
1. Navigate to Line 410 to locate:
DYLD_LIBRARY_PATH=
This line is a part of the following code in the "mac" section of matlab7rc.sh:
 
if [ "$DYLD_LIBRARY_PATH" != "" ]; then
DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH
else
DYLD_LIBRARY_PATH=
fi
2. Change the 4th line in the code mentioned above from
DYLD_LIBRARY_PATH=
to
DYLD_LIBRARY_PATH=/System/Library/Frameworks/JavaVM.framework/Libraries
Step 4:
For users on MATLAB R2008a, directly go to Step 5.
For users on MATLAB R2007a and R2007b, after making the change in the "mac" section, make the same change the "maci" section. This section is right below the "mac" section.
Step 5:
Save the changes by pressing "Command" + "s" keys.
Step 6:
Restart MATLAB.
================================================

  0 Comments

Sign in to comment.