MWMCR exception - Attempted to read or write protected memory.

1 view (last 30 days)
I have made a Matlab .dll with my .NET builder, but when i try to access the class MDClass in my namespace MelanomaDetection get the following error:
{"The type initializer for 'MelanomaDetection.MDClass' threw an exception."}
Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
MWArray at MathWorks.MATLAB.NET.Utility.MWMCR.mclIsMCRInitialized() at MathWorks.MATLAB.NET.Utility.MWMCR..cctor()
I just initialize it like this:
var m = new MDClass();
I don't have any restrictions in my Matlab program, neither in my .NET app.
Thanks in advance for any help!

Answers (2)

Kaustubha Govind
Kaustubha Govind on 7 Oct 2011
Have you copied mclmcrrt7x.dll to a location outside of the MCR installation directory? It looks like that could cause this error: http://www.mathworks.com/support/solutions/en/data/1-AN5VOX/index.html
  8 Comments
Kim
Kim on 31 Oct 2011
Okay, then could it be my runtime environment that is wrong? is there any special features you have to set up?
I'm running the newest MCR 7.16, and my .dll has been compiled in Matlab 2011b, so that should fit.
The MCR still crashes though...
Kaustubha Govind
Kaustubha Govind on 31 Oct 2011
Kim: Perhaps it will be best if you contact MathWorks Tech Support about this, since you seemed to have tried a lot of things already?

Sign in to comment.


Guy
Guy on 20 Oct 2011
I've discovered a problem with mclIsMCRInitialized(), and raised it here some four months ago, in that if you try to call this function and the MCR is not initialized, then it doesn't return 0 as documented, but rather crashes with a segmentation fault. This doesn't make it terrible useful. I'd be interested to know if you're testing the return value of this function in order to then decide whether to call mclInitializeApplication(). If so, then it sounds like the same issue and I can only suggest forcing an initial MCR initialization, rather than making it conditional on a returned value of 0 from mclIsMCRInitialized().
  1 Comment
Kim
Kim on 25 Oct 2011
I can't seem to force an MCR initialization, how would you do this?
I've tried with InitializeApplication() but it doesn't seem to work.

Sign in to comment.

Categories

Find more on C Shared Library Integration in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!