MATLAB 2017 Editor Causing Error: Error in rmiml.visibleInToolstrip

I just upgraded from MATLAB 2016b to 2017a. When I start up with the editor closed it initializes just fine. When the editor window is opened, or if it is opened on start up I get the following errors.
Cell contents reference from a non-cell array object.
Error in contains (line 8) TF = strcmpi(str{1}(k{1}:(length(pattern)+k{1}-1)),pattern);
Error in rmi.isInstalled
Error in rmiml.visibleInToolstrip
Cell contents reference from a non-cell array object.
Error in contains (line 8) TF = strcmpi(str{1}(k{1}:(length(pattern)+k{1}-1)),pattern);
Error in rmi.isInstalled
Error in rmiml.visibleInToolstrip.
This happens every time a new .m file is opened. It also happens sometimes when running a script (not sure why it does in some cases and not in others), it makes opening and working with files lag as it is constantly dealing with this error. I have uninstalled and reinstalled which did not change anything. This is on a Windows 10 machine.

5 Comments

I have a related error. When I load a file, open a file for editing (not running) from the Command Window, or when I Save As, clicking OK from the file dialog I get this string of errors with Matlab 2017a:
Not enough input arguments.
Error in date (line 6)
ndd = length(Jdd);
Error in rmimap.StorageMapper
Error in rmimap.StorageMapper.getInstance
Error in rmiml.hasReqDataFile
Error in rmiml.visibleInToolstrip
macOS Sierra 10.12.6 iMac 2017
Simon: could you show the output for
which -all length
I suspect you might have a length.m in your path.
Indeed I do:
built-in (/Applications/MATLAB_R2017a.app/toolbox/matlab/elmat/length)
length is a built-in method % string method
length is a Java method % java.lang.String method
length is a Java method % java.lang.CharSequence method
length is a built-in method % containers.Map method
length is a Java method % java.io.File method
/Applications/MATLAB_R2017a.app/toolbox/matlab/datatypes/@categorical/length.m % categorical method
/Applications/MATLAB_R2017a.app/toolbox/matlab/iofun/@timer/length.m % timer method
/Applications/MATLAB_R2017a.app/toolbox/matlab/bigdata/@tall/length.m % tall method
/Applications/MATLAB_R2017a.app/toolbox/distcomp/parallel/@distributed/length.m % distributed method
/Applications/MATLAB_R2017a.app/toolbox/distcomp/parallel/@codistributed/length.m % codistributed method
/Applications/MATLAB_R2017a.app/toolbox/distcomp/lang/@Composite/length.m % Composite method
/Applications/MATLAB_R2017a.app/toolbox/distcomp/gpu/@gpuArray/length.m % gpuArray method
/Applications/MATLAB_R2017a.app/toolbox/dsp/filterdesign/@qfft/length.m % qfft method
/Applications/MATLAB_R2017a.app/toolbox/imaq/imaq/@videoinput/length.m % videoinput method
/Applications/MATLAB_R2017a.app/toolbox/instrument/instrument/@visa/length.m % visa method
/Applications/MATLAB_R2017a.app/toolbox/instrument/instrument/@udp/length.m % udp method
/Applications/MATLAB_R2017a.app/toolbox/instrument/instrument/@tcpip/length.m % tcpip method
/Applications/MATLAB_R2017a.app/toolbox/instrument/instrument/@icgroup/length.m % icgroup method
/Applications/MATLAB_R2017a.app/toolbox/instrument/instrument/@icdevice/length.m % icdevice method
/Applications/MATLAB_R2017a.app/toolbox/instrument/instrument/@i2c/length.m % i2c method
/Applications/MATLAB_R2017a.app/toolbox/instrument/instrument/@gpib/length.m % gpib method
/Applications/MATLAB_R2017a.app/toolbox/instrument/instrument/@Bluetooth/length.m % Bluetooth method
/Applications/MATLAB_R2017a.app/toolbox/robust/rctobsolete/robust/@icsignal/length.m % icsignal method
/Applications/MATLAB_R2017a.app/toolbox/matlab/serial/@serial/length.m % serial method
/Applications/MATLAB_R2017a.app/toolbox/shared/statslib/@dataset/length.m % dataset method
/Applications/MATLAB_R2017a.app/toolbox/matlab/timeseries/@tscollection/length.m % tscollection method
Yes, I had an old date.m on my path in one of my libraries. I renamed it so now this is the only date.m:
>> which -all date
/Applications/MATLAB_R2017a.app/toolbox/matlab/timefun/date.m
Now I can open files from the command window without the error. So far, so good. Thank you, Walter Roberson.

Sign in to comment.

Answers (1)

I am assuming you are using MATLAB R2017a.
Can you check if you have multiple pathdef.m files in your path? You can do this by running the following command in MATLAB:
which -all pathdef.m
The ‘pathdef.m’ that is currently used must be the one pertaining to MATLAB R2017a.
If an older ‘pathdef.m’ exists, it will shadow the new one and does not add the directory to the path. If you have an older ‘pathdef.m’,try renaming it and see if it fixes the error.

2 Comments

Thank you for the help. The result is: D:\Program Files\MATLAB\R2017a\toolbox\local\pathdef.m Which I believe is the correct one. If I search in D:\Program Files\MATLAB\R2017a\toolbox\local\ it does find other pathdef.m files in \template, \template\ja, and \local\ja. Would those cause problems?
Oh! And I should have added that renaming the others did not fix the problem.
I only have the error when I open the editor. Thanks again!

Sign in to comment.

Asked:

on 21 May 2017

Edited:

on 1 Aug 2017

Community Treasure Hunt

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

Start Hunting!