Erro ao chamar o arquivo m compilado (.jar) em um aplicativo Java multiencadeado

Eu tenho um arquivo m simples

function [fRate,Height,Width] = media(filename)  
obj = mmreader(filename);  
fRate = obj.FrameRate;  
Width = obj.Width;  
Height = obj.Height;  
end

Que eu tenho compilado com sucesso usando o MATLAB Builder JA em um arquivo .jar.

Eu testei o arquivo .jar em um único aplicativo encadeado e ele funciona sem nenhum problema.

O erro veio quando eu usá-lo em um aplicativo GUI multi-threaded. Eu corro o .jar como um segmento em uma das classes que criei e o seguinte erro ocorre.

Um erro inesperado foi detectado pelo Java Runtime Environment:

EXCEPTION_ACCESS_VIOLATION (0xc0000005) no pc = 0x6d9c08b0, pid = 5920, tid = 4788

Java VM: Cliente Java HotSpot (TM) VM (10.0-b19 modo misto windows-x86) Quadro problemático:

C [jvm.dll + 0x1108b0]

Após a depuração, descobri que o erro ocorre quando meu thread está chamando
media = new Media(); (Eu nomeio meu .jar como Media.jar)

Este é o meu código Java:
// mediaProperty.java

<p>public class mediaProperty implements Runnable {</p><pre><code>public void mediaProperty() { Matlab_options matlab = new Matlab_options(); Object[] mediaProp = null; java.util.List lstMedia = new ArrayList(); Media media = null; try { media = new Media(); ... mediaProp = media.media(3, lstMedia); ... } catch (Exception p) { System.out.println("Exception: " + p.toString()); } finally { MWArray.disposeArray(mediaProp); if (media != null) { media.dispose(); } } } public void run() { mediaProperty(); } </code></pre>

}<br>

// GUI.java

private Thread mediap;

if (mediap == null) {<br>mediap = new Thread(new mediaProperty());<br>mediap.start();<br>}

O que está errado? É meu código?

questionAnswers(1)

yourAnswerToTheQuestion