What is the "primary message table for module 77"?

1 ビュー (過去 30 日間)
Tonny Madsen
Tonny Madsen 2016 年 10 月 5 日
コメント済み: Bo Li 2016 年 10 月 11 日
We use the engine interface to call functions in Matlab from Python. But every now and then we get the following message during engOpen, after which the application exists unconditionally:
Internal Error: A primary message table for module 77 was already registered with a differing collection of error messages.
Process exited with code 1
What exactly is going on here? Right my application exits consistently for R2016a!
A little background:
  • We open the engine multiple times from the application. We sometimes see some transient errors from Matlab, in which case, we close the engine and re-open it again. This works fine in our unit tests (where Matlab is opened via the engine API 15 times) and most of the time in the application.
  • We have seen this problem both in Matlab R2011b and R2016a (we have not used any on the intervenient releases) Right now we see the issue consistently on R2016a!

採用された回答

Bo Li
Bo Li 2016 年 10 月 5 日
You may try to create a dummy Engine object using engOpen and keep it alive until the end of the application. Meanwhile, you can use engOpen to create Engine repeatedly. The dummy Engine can avoid the issue of unloading/loading of related libraries.
The other solution is to consider MATLAB Engine API for Python:
  4 件のコメント
Bo Li
Bo Li 2016 年 10 月 11 日
Yes, using engOpenSingleUse on Windows for the "dummy Engine" makes sense. On Linux, engOpen is enough as Engines cannot be shared.

サインインしてコメントする。

その他の回答 (0 件)

Community Treasure Hunt

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

Start Hunting!

Translated by