简体   繁体   English

Matlab中的错误:捕获到“ std :: exception”异常消息是:

[英]Error in Matlab: Caught “std::exception” Exception message is:

I can connect with a sever where there are two versions of matlab Matlab_R2013a, Matlab_R2012a and another version of Matlab_R2012b in my local ubuntu 12.10 pc. 我可以在本地ubuntu 12.10 pc中连接一个服务器,其中有两个版本的Matlab Matlab_R2013a,Matlab_R2012a和另一个版本的Matlab_R2012b。 For last few weeks I have been facing a problem. 最近几周我一直面临一个问题。 Sometimes I can run the code in my pc but after if it takes long or if I try to run similar code few times I am getting an error and Matlab No longer works. 有时我可以在PC上运行代码,但是如果花了很长时间或者几次尝试运行类似的代码,我会报错并且Matlab不再起作用。 Same thing is happening for the Matlabs in servers also. 服务器中的Matlab也发生了同样的事情。 I have to restart and then again I can run matlab for a short time but after that again I am facing the same problem again and again. 我必须重新启动,然后可以再次在短时间内运行matlab,但是在那之后,我一次又一次地遇到相同的问题。

The error Matlab showing is Matlab显示的错误是

"Caught "std::exception" Exception message is: Message Catalog MATLAB:services was not loaded from the file. Please check file location, format or contents The desktop configuration was not saved successfully

java.io.FileNotFoundException: /usr/users/ahazra/.matlab/R2013a/matlab.prf (Too many open files) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at com.mathworks.services.Prefs.save(Prefs.java:297) at com.mathworks.services.Prefs$SavePrefsThread.run(Prefs.java:704) java.io.FileNotFoundException: /usr/users/ahazra/.matlab/R2013a/matlab.prf (Too many open files) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at com.mathworks.services.Prefs.save(Prefs.java:297) at com.mathworks.services.Prefs$SavePrefsThread.run(Prefs.java:704) java.io.FileNotFoundException: /usr/users/ahazra/.matlab/R2013a/matlab.prf (Too many open files) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at com.mathworks.services.Prefs.save(Prefs.java:297) at com.mathworks.services.Prefs$SavePrefsThread.run(Prefs.java:704) java.io.FileNotFoundException: /usr/users/ahazra/.matlab/R2013a/matlab.prf (Too many open files) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at com.mathworks.services.Prefs.save(Prefs.java:297) at com.mathworks.services.Prefs$SavePrefsThread.run(Prefs.java:704) java.io.FileNotFoundException: /usr/users/ahazra/.matlab/R2013a/matlab.prf (Too many open files) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at com.mathworks.services.Prefs.save(Prefs.java:297) at com.mathworks.services.Prefs$SavePrefsThread.run(Prefs.java:704) java.io.FileNotFoundException: /usr/users/ahazra/.matlab/R2013a/matlab.prf (Too many open files) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at com.mathworks.services.Prefs.save(Prefs.java:297) at com.mathworks.services.Prefs$SavePrefsThread.run(Prefs.java:704) java.io.FileNotFoundException: /usr/users/ahazra/.matlab/R2013a/matlab.prf (Too many open files) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at com.mathworks.services.Prefs.save(Prefs.java:297) at com.mathworks.services.Prefs$SavePrefsThread.run(Prefs.java:704) java.io.FileNotFoundException: /usr/users/ahazra/.matlab/R2013a/matlab.prf (Too many open files) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at com.mathworks.services.Prefs.save(Prefs.java:297) at com.mathworks.services.Prefs$SavePrefsThread.run(Prefs.java:704) java.io.FileNotFoundException: /usr/users/ahazra/.matlab/R2013a/matlab.prf (Too many open files) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at com.mathworks.services.Prefs.save(Prefs.java:297) at com.mathworks.services.Prefs$SavePrefsThread.run(Prefs.java:704) java.io.FileNotFoundException: /usr/users/ahazra/.matlab/R2013a/matlab.prf (Too many open files) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at com.mathworks.services.Prefs.save(Prefs.java:297) at com.mathworks.services.Prefs$SavePrefsThread.run(Prefs.java:704) java.io.FileNotFoundException: /usr/users/ahazra/.matlab/R2013a/matlab.prf (Too many open files) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at com.mathworks.services.Prefs.save(Prefs.java:297) at com.mathworks.services.Prefs$SavePrefsThread.run(Prefs.java:704) java.io.FileNotFoundException: /usr/users/ahazra/.matlab/R2013a/matlab.prf (Too many open files) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at com.mathworks.services.Prefs.save(Prefs.java:297) at com.mathworks.services.Prefs$SavePrefsThread.run(Prefs.java:704) java.io.FileNotFoundException: /usr/users/ahazra/.matlab/R2013a/matlab.prf (Too many open files) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at com.mathworks.services.Prefs.save(Prefs.java:297) at com.mathworks.services.Prefs$SavePrefsThread.run(Prefs.java:704) java.io.FileNotFoundException: /usr/users/ahazra/.matlab/R2013a/matlab.prf (Too many open files) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at com.mathworks.services.Prefs.save(Prefs.java:297) at com.mathworks.services.Prefs$SavePrefsThread.run(Prefs.java:704) java.io.FileNotFoundException: /usr/users/ahazra/.matlab/R2013a/matlab.prf (Too many open files) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at com.mathworks.services.Prefs.save(Prefs.java:297) at com.mathworks.services.Prefs$SavePrefsThread.run(Prefs.java:704) java.io.FileNotFoundException: /usr/users/ahazra/.matlab/R2013a/matlab.prf (Too many open files) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at com.mathworks.services.Prefs.save(Prefs.java:297) at com.mathworks.services.Prefs$SavePrefsThread.run(Prefs.java:704) java.io.FileNotFoundException: /usr/users/ahazra/.matlab/R2013a/matlab.prf (Too many open files) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at com.mathworks.services.Prefs.save(Prefs.java:297) at com.mathworks.services.Prefs$SavePrefsThread.run(Prefs.java:704) java.io.FileNotFoundException: /usr/users/ahazra/.matlab/R2013a/matlab.prf (Too many open files) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at com.mathworks.services.Prefs.save(Prefs.java:297) at com.mathworks.services.Prefs$SavePrefsThread.run(Prefs.java:704) java.io.FileNotFoundException: /usr/users/ahazra/.matlab/R2013a/matlab.prf (Too many open files) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at com.mathworks.services.Prefs.save(Prefs.java:297) at com.mathworks.services.Prefs$SavePrefsThread.run(Prefs.java:704) java.io.FileNotFoundException: /usr/users/ahazra/.matlab/R2013a/matlab.prf (Too many open files) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at com.mathworks.services.Prefs.save(Prefs.java:297) at com.mathworks.services.Prefs$SavePrefsThread.run(Prefs.java:704) java.io.FileNotFoundException: /usr/users/ahazra/.matlab/R2013a/matlab.prf (Too many open files) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at com.mathworks.services.Prefs.save(Prefs.java:297) at com.mathworks.services.Prefs$SavePrefsThread.run(Prefs.java:704) java.io.FileNotFoundException: /usr/users/ahazra/.matlab/R2013a/matlab.prf (Too many open files) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at com.mathworks.services.Prefs.save(Prefs.java:297) at com.mathworks.services.Prefs$SavePrefsThread.run(Prefs.java:704) java.io.FileNotFoundException: /usr/users/ahazra/.matlab/R2013a/matlab.prf (Too many open files) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at com.mathworks.services.Prefs.save(Prefs.java:297) at com.mathworks.services.Prefs$SavePrefsThread.run(Prefs.java:704) Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at com.mathworks.mlwidgets.workspace.ClassicWhosInformation.<init>(ClassicWhosInformation.java:20) at com.mathworks.mlwidgets.workspace.ClassicWhosInformation.getInstance(ClassicWhosInformation.java:38) at com.mathworks.mlwidgets.workspace.WhosRecordlistModel.setWhosInformation(WhosRecordlistModel.java:45) at com.mathworks.mlwidgets.workspace.MatlabWorkspaceModel.setSuperWhosInformation(MatlabWorkspaceModel.java:519) at com.mathworks.mlwidgets.workspace.MatlabWorkspaceModel.access$400(MatlabWorkspaceModel.java:19) at com.mathworks.mlwidgets.workspace.MatlabWorkspaceModel$1.run(MatlabWorkspaceModel.java:532) at java.awt.event.InvocationEvent.dispatch(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: /usr/local/MATLAB/R2013a/bin/glnxa64/libnativei18n.so: /usr/local/MATLAB/R2013a/bin/glnxa64/libnativei18n.so: cannot open shared object file: Too many open files at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary0(Unknown Source) at java.lang.ClassLoader.loadLibrary(Unknown Source) at java.lang.Runtime.loadLibrary0(Unknown Source) at java.lang.System.loadLibrary(Unknown Source) at com.mathworks.fl.i18n.XMLMessageSystem.<clinit>(Unknown Source) at com.mathworks.mlwidgets.mlservices.scc.SccPrefsPanel.<clinit>(SccPrefsPanel.java:50) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at com.mathworks.mlwidgets.prefs.PrefsDialog.registerPanel(PrefsDialog.java:310) at com.mathworks.mlwidgets.prefs.PrefsDialogRegistrar.preRegisterPanels(PrefsDialogRegistrar.java:37) at com.mathworks.mlwidgets.prefs.PrefsDialog.initialize(PrefsDialog.java:95) at com.mathworks.mlwidgets.prefs.PrefsDialog.access$500(PrefsDialog.java:27) at com.mathworks.mlwidgets.prefs.PrefsDialog$4.run(PrefsDialog.java:224) at com.mathworks.mlwidgets.prefs.PrefsDialog.showPrefsDialog(PrefsDialog.java:238) at com.mathworks.mlwidgets.prefs.PrefsDialog.doShowPrefsDialog(PrefsDialog.java:204) at com.mathworks.mlwidgets.prefs.PrefsDialog.showPrefsDialog(PrefsDialog.java:121) at com.mathworks.mlwidgets.prefs.PrefsDialog.showLastPrefsDialog(PrefsDialog.java:158) at com.mathworks.mlservices.MLPrefsDialogServices.showLastPrefsDialog(MLPrefsDialogServices.java:45) at com.mathworks.mde.desk.MLDesktop$PreferencesAction.actionPerformed(MLDesktop.java:2649) at com.mathworks.mwswing.ChildAction.actionPerformed(ChildAction.java:214) at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.setPressed(Unknown Source) at com.mathworks.toolstrip.plaf.RegularButtonUI$RegularToolstripButtonListener.mouseReleasedImpl(RegularButtonUI.java:327) at com.mathworks.toolstrip.plaf.RegularButtonUI$RegularToolstripButtonListener.mouseReleased(RegularButtonUI.java:321) at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source) at java.awt.Component.processMouseEvent(Unknown Source) at javax.swing.JComponent.processMouseEvent(Unknown Source) at com.mathworks.mwswing.MJButton.processMouseEvent(MJButton.java:362) at java.awt.Component.processEvent(Unknown Source) at java.awt.Container.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Window.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) java.io.FileNotFoundException: /usr/users/ahazra/.matlab/R2013a/matlab.prf (Too many open files) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at com.mathworks.services.Prefs.save(Prefs.java:297) at com.mathworks.services.Prefs$SavePrefsThread.run(Prefs.java:704) java.io.FileNotFoundException: /usr/users/ahazra/.matlab/R2013a/matlab.prf (Too many open files) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at com.mathworks.services.Prefs.save(Prefs.java:297) at com.mathworks.services.Prefs$SavePrefsThread.run(Prefs.java:704) java.io.FileNotFoundException: /usr/users/ahazra/.matlab/R2013a/matlab.prf (Too many open files) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at com.mathworks.services.Prefs.save(Prefs.java:297) at com.mathworks.services.Prefs$SavePrefsThread.run(Prefs.java:704) Exception in thread "AWT-EventQueue-0" java.lang.RuntimeException: IInternalException for "matlab.desktop.currentfolder.lastfolder.ColumnSizes": Cannot open a temp file to save the Settings object. It could due to out of file handle or other reasons. at com.mathworks.services.settings.Setting.nativeSet(Native Method) at com.mathworks.services.settings.Setting.set(Setting.java:900) at com.mathworks.services.settings.Setting.set(Setting.java:758) at com.mathworks.services.settings.Setting.set(Setting.java:700) at com.mathworks.mlwidgets.explorer.model.table.ExplorerTableConfigurationSerializer.saveColumnSizes(ExplorerTableConfigurationSerializer.java:181) at com.mathworks.mlwidgets.explorer.model.table.ExplorerTableConfigurationSerializer.save(ExplorerTableConfigurationSerializer.java:69) at com.mathworks.widgets.grouptable.GroupingTableConfiguration$1.propertyChange(GroupingTableConfiguration.java:157) at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source) at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source) at com.mathworks.widgets.grouptable.GroupingTableConfiguration.setColumnSize(GroupingTableConfiguration.java:628) at com.mathworks.widgets.grouptable.GroupingTableConfiguration.setColumnSize(GroupingTableConfiguration.java:616) at com.mathworks.widgets.grouptable.GroupingTableConfiguration.setColumnSizeIfNotFixed(GroupingTableConfiguration.java:610) at com.mathworks.widgets.grouptable.GroupingTable$27$1.actionPerformed(GroupingTable.java:862) at javax.swing.Timer.fireActionPerformed(Unknown Source) at javax.swing.Timer$DoPostEvent.run(Unknown Source) at java.awt.event.InvocationEvent.dispatch(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) java.io.FileNotFoundException: /usr/users/ahazra/.matlab/R2013a/matlab.prf (Too many open files) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at com.mathworks.services.Prefs.save(Prefs.java:297) at com.mathworks.services.Prefs$SavePrefsThread.run(Prefs.java:704) Caught "std::exception" Exception message is: Message Catalog MATLAB:services was not loaded from the file. Please check file location, format or contents"

I removed the local .matlab folder. 我删除了本地.matlab文件夹。 But after that also I am facing this same problem again. 但是在那之后我也再次面临着同样的问题。

Please help me solve this problem in MATLAB. 请帮助我在MATLAB中解决此问题。 Thank you in advance. 先感谢您。

Answer The problem was basically that too many files were open. 回答问题基本上是打开了太多文件。

I have experienced a similar problem and, as Petesh suggests, it is a file handle problem - MATLAB can only have so many open files at once. 我遇到了类似的问题,正如Petesh所建议的那样,这是一个文件句柄问题-MATLAB一次只能有这么多打开的文件。 The quick fix is to do fclose all in the MATLAB command window. 快速解决方法是在MATLAB命令窗口中fclose all To check how many file handles you have open, use fopen('all') which will display a list of active handles. 要检查您打开了多少个文件句柄,请使用fopen('all') ,它将显示活动句柄的列表。 (My version of MATLAB 2013a gets full up at 512 open files). (我的MATLAB 2013a版本在512个打开的文件中显示完整)。

The key error message to pick out of all the lines of errors it generates is 挑出它产生的所有错误行的关键错误消息是

(Too many open files)

The better solution is to make sure any scripts you have close files after opening them, especially if, say, you are opening files each time in a loop. 更好的解决方案是确保打开脚本后,所有脚本都具有关闭文件的功能,尤其是在每次循环中都打开文件的情况下。

See also: How to close file handle in matlab? 另请参阅: 如何在matlab中关闭文件句柄?

It must because you open a .txt file too many times, but without close them timely. 一定是因为您打开.txt文件太多次,但没有及时关闭它们。 try this : 尝试这个 :

fidout = fopen([saveLabel_path, 'new_Label.txt'], 'a');
fprintf(fidout, '%s \n', final_label);
fprintf(fidout, '\n');
fclose(fidout);

to avoid it still warning you, just add this : fclose all; 为了避免它仍然警告您,只需添加以下内容:fclose all; Be carefull, because you will never see this error again, say goodbye to it forever ... 请小心,因为您将永远不会再看到此错误,请永远对它说再见...

wish it can help you ... 希望它可以帮助您...

me too also got the same problem. 我也有同样的问题。 close the all the opened files inside the loop using fclose() function to throw the error away... have fun M.Santhanakumar 使用fclose()函数关闭循环中所有打开的文件,以消除错误……玩得开心M.Santhanakumar

According to what files you might have opened and not close, use the $fclose$ function in Matlab (eg. $fclose('myfile')$). 根据您可能已打开但未关闭的文件,在Matlab中使用$ fclose $函数(例如$ fclose('myfile')$)。 I often use $fclose('all')$ in order to make sure that I don't miss any file :) 我经常使用$ fclose('all')$来确保我不会错过任何文件:)

if u are getting this error in Matlab, a path is a problem, suppose if ur using any other software like python java, 如果您在Matlab中遇到此错误,则路径存在问题,假设您使用的是其他任何软件(例如python java),

so u have to do clear the temp file in an environmental variable for example 因此,您必须清除环境变量中的临时文件,例如

if u see like this path in[ C:\\Python27\\Scripts] in the environmental variable and go to temp delete this line error will be clear. 如果您在环境变量的this path in[ C:\\Python27\\Scripts]中看到这样的this path in[ C:\\Python27\\Scripts]并转到temp,则此行错误将被清除。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM