I have a compiled program running constantly, gathering data in a paper mill. Program starts up and works as expected but after several days (thousands of successful method calls), it may throw the following error:
Error using GuiConnectionClass/getCommand:
Method 'getCommand' is not defined for class 'GuiConnectionClass' or is removed from MATLAB's search path.
Has anyone seen this behaviour and understood it?
I have got this error twice in two weeks. I catch the error and try again but once the error occurs, it is persistent. Restarting the program solves the problem. I have not seen the problem in non-compiled code.
The affected method calls the built in webwrite to read the next command from a server:
function cmd = getCommand(c,side)
url = ['http://' c.address '/api/pulp_scan.get_cmd?side=' side];
options = weboptions('Timeout',10);
cmd = webwrite(url,options);
I am not performing any weird tricks. No messing with the path. No @functionPointers. GuiConnectionClass inherits only handle.
I suspect that the webwrite depends on something under the hood that has silently crashed. I traced webwrite down to matlab.internal.webservices.HTTPConnector and from there it turns into calls of java or .net objects.