[Ipopt] Continual Crashes with Mac OS-X MATLAB Mex Files

Tony Kelman kelman at berkeley.edu
Mon Jan 19 12:30:55 EST 2015

Not owning an actual Mac myself, all I can say here is keep trying different combinations of Blas and Lapack implementations (BUILD vs -framework Accelerate vs -lblas), and GCC vs Clang compilers for the C and C++ components, different settings for -stdlib=libstdc++ vs -stdlib=libc++ (in ADD_CXXFLAGS, probably), and shared vs static linking (--enable-matlab-static).

Based on tickets #250 and #252, the problem might be due to the exceptions that Ipopt throws internally for flow control in different unusual algorithmic conditions. Your code is apparently especially susceptible to those numerical issues that cause problems. It’s possible something could be done in Matlab mex interface code to mitigate this or make things more robust. But as I’ve said before, I don’t personally use Matlab any more, or own a Mac. I only use Ipopt via its C API these days with the Julia bindings, though we don’t have access to Matlab’s MA57 there which is an issue. Acceptable loss for now, in exchange for freedom from Matlab.

If Mumps 5.0 can provide multithreading and be faster than MA57, or if someone wants to have a look at Elemental’s new sparse LDL which can return inertia and should be usable by Ipopt, I think those are good long-term projects worth looking into, since they can benefit everyone whether or not you use Matlab.


From: Anil Rao 
Sent: Monday, January 19, 2015 7:52 AM
To: ipopt at list.coin-or.org 
Subject: [Ipopt] Continual Crashes with Mac OS-X MATLAB Mex Files


I am writing again about continual crashes in Mac OS-X with MATLAB.   It does not matter whether we compile our own Mac OS-X mex file or use the precompiled mex files.  In either case the IPOPT mex file causes fatal crashes in MATLAB.  I note that the fatal crash occurs using either the built-in version of MA57 or Mumps.  Much to my surprise the crashes with Mac versions of MATLAB do not seem to exist in Windows.

I do not know what to do to fix the problem.  My goal is to compile a "crash-free" mex file using the MATLAB MA57 library.  In other words, I do not want to create a mex file that requires the MA57 source code because I want to be able to distribute the mex file.  

I am grateful if somebody can help.  


Anil Rao


Anil V. Rao, PhD
Associate Professor
Department of Mechanical and Aerospace Engineering
University of Florida
Gainesville, FL 32611-6250
Tel:  (352) 672-1529
E-mail:  anilvrao at gmail.com

Ipopt mailing list
Ipopt at list.coin-or.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/ipopt/attachments/20150119/5de981b5/attachment.html>

More information about the Ipopt mailing list