Segmentation fault: 11 when calling Matlab Runtime on a Mac

2 Ansichten (letzte 30 Tage)
Timothy Plummer
Timothy Plummer am 20 Jun. 2019
Kommentiert: Walter Roberson am 27 Aug. 2020
In MATLAB, we have created a simple function to generate a magic square (similar to the basic tutorial) and produce an image. We created a Python package using MATLAB Compiler SDK. When we install MATLAB Runtime and run the package on a Mac, we consistently get a "Segmentation fault: 11" error.
Here is what we've tried:
1. Verified that it runs with MATLAB Runtime on a PC that did not have the full version of MATLAB installed.
2. Set the DYLD_LIBRARY_PATH environment variable using the path given in the MATLAB Runtime installation instructions. This was set in the .bash_profile and the path was verified by echoing out DYLD_LIBRARY_PATH on the command line.
3. Ran the python package both inside a conda virtual environment and outside of one.
4. Ran it with Python 3.5, 3.6, and 3.7. (The first two only in a virtual environment.)
5. In the .bash_profile, added the path /Library/Frameworks/Python.framework/Versions/3.7/lib to the DYLD_LIBRARY_PATH (based on a suggestion found online for this error).
6. Ran it with MATLAB Runtime R2019a and R2018b. Initially the packages was created with MATLAB 2019a, and that version of the Runtime was installed on the Mac. Then we created the package using MATLAB 2018b, added that version of the Runtime to the Mac, and tried running it. We did not deleted the R2019a runtime.
7. Checked CPU usage using both the Mac's Activity Monitor app and the top command in the terminal, but the CPU usage never went over 7%.
Here is the testing.py function we're calling with python:
import GenMagic
import matlab
TestNum = 5 #Value must be an integer
print("Matlab Initializing")
client = GenMagic.initialize()
print("Matlab Initialized")
print(TestNum)
print("Running Function")
[outArg1,outArg2] = client.GenMagic(TestNum,nargout=2)
print("Function finished")
print(outArg1)
Here is the GenMagic Matlab program (that was compiled into the GenMagic compiled code):
function [outputArg1,outputArg2] = GenMagic(inputArg1)
%GENMAGIC Summary of this function goes here
% Detailed explanation goes here
outputArg1 = magic(inputArg1);
outputArg2 = ind2rgb(outputArg1,colormap);
close('all')
imwrite(outputArg2,'Magic.png');
end
  3 Kommentare
MatlabUser
MatlabUser am 27 Aug. 2020
I have same issue too.
Segmentation fault: 11
Walter Roberson
Walter Roberson am 27 Aug. 2020
Segmentation fault: 11 is basically trying to access through a bad pointer.

Melden Sie sich an, um zu kommentieren.

Antworten (0)

Kategorien

Mehr zu C Shared Library Integration finden Sie in Help Center und File Exchange

Tags

Produkte


Version

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by