Parallel computing corruption problem (Windows)
조회 수: 7 (최근 30일)
이전 댓글 표시
Hello,
I'm having a problem with parallel computing that is driving me nuts as I feel like I've exhausted all plausible causes. When I first installed matlab, parpool worked and I was able to run a parallel for loop. After that it didn't work and keeps failing with a long chain of errors.
Warning: Failed to remove the following invalid children under the profiles node: local > In NamedNodesCollection>NamedNodesCollection.refreshCache at 302 In NamedNodesCollection>NamedNodesCollection.refreshCacheIfRequired at 267 In NamedNodesCollection>NamedNodesCollection.getAllNames at 115 In Settings.Settings>iReplaceBadDefaultProfileWithLocal at 674 In Settings.Settings>Settings.hGetProperty at 148 In Settings.Settings>Settings.buildProperties at 629 In Settings.Settings>Settings.Settings at 324 In argumentsParser>iGetClusterAndNumWorkers at 112 In argumentsParser at 43 In parpool at 91 Warning: Failed to remove the following invalid children under the profiles node: local > In NamedNodesCollection>NamedNodesCollection.refreshCache at 302 In NamedNodesCollection>NamedNodesCollection.refreshCacheIfRequired at 267 In NamedNodesCollection>NamedNodesCollection.getAll at 59 In NamedNodesCollection>NamedNodesCollection.getAllNames at 116 In Settings.Settings>iReplaceBadDefaultProfileWithLocal at 674 In Settings.Settings>Settings.hGetProperty at 148 In Settings.Settings>Settings.buildProperties at 629 In Settings.Settings>Settings.Settings at 324 In argumentsParser>iGetClusterAndNumWorkers at 112 In argumentsParser at 43 In parpool at 91 Warning: Failed to remove the following invalid children under the profiles node: local > In NamedNodesCollection>NamedNodesCollection.refreshCache at 302 In NamedNodesCollection>NamedNodesCollection.refreshCacheIfRequired at 267 In NamedNodesCollection>NamedNodesCollection.nameExists at 107 In Settings.Settings>iReplaceBadDefaultProfileWithLocal at 695 In Settings.Settings>Settings.hGetProperty at 148 In Settings.Settings>Settings.buildProperties at 629 In Settings.Settings>Settings.Settings at 324 In argumentsParser>iGetClusterAndNumWorkers at 112 In argumentsParser at 43 In parpool at 91 Warning: The local profile cannot be found. Your installation might be corrupt. Error using parpool (line 99) The operation must modify one or more Settings files for these levels: factory, user, but you do not have write permission on these levels: user.
I reinstalled matlab, and then it worked again the first time, but not again. Since then it hasn't worked even after reinstalling. Trying to open the cluster manager fails with error:
com.mathworks.jmi.MatlabException: The operation must modify one or more Settings files for these levels: factory, user, but you do not have write permission on these levels: user. at com.mathworks.jmi.NativeMatlab.SendMatlabMessage(Native Method) at com.mathworks.jmi.NativeMatlab.sendMatlabMessage(NativeMatlab.java:265) at com.mathworks.jmi.MatlabLooper.sendMatlabMessage(MatlabLooper.java:120) at com.mathworks.jmi.Matlab.mtFeval(Matlab.java:1541) at com.mathworks.jmi.MatlabWorker.feval(MatlabWorker.java:197) at com.mathworks.toolbox.distcomp.ui.profile.model.MatlabProfileManager$1.runOnMatlabThread(MatlabProfileManager.java:72) at com.mathworks.jmi.MatlabWorker$2.run(MatlabWorker.java:79) at com.mathworks.jmi.NativeMatlab.dispatchMTRequests(NativeMatlab.java:440)
I have full access to all of these places and matlab is not being very clear about what any of this means. I deleted the files that it generates in AppData/Roaming/Mathworks, but to no effect (I followed another post). All matlab-related folders have write permissions. I can't find any mention of this error while searching on Google so I'm completely stuck.
Does anyone have any idea what's going on?
Thanks!
댓글 수: 2
답변 (3개)
Elwin Chan
2014년 4월 11일
Hi Bogdan,
It looks like you've got corrupted settings somehow. Can you try closing MATLAB and then deleting the parallel.settings file in your preferences directory? You can find out the location of your preferences directory using this command in MATLAB
prefdir
Also, please can you check that this file exists: matlabroot \toolbox\distcomp\parallel.settings, and perhaps paste its contents or attach it so that I can check it is correct?
Finally, do you have write access to your preferences directory from inside MATLAB?
Thanks,
Elwin
댓글 수: 4
Elwin Chan
2014년 4월 15일
Hi Bogdan,
Unfortunately, I missed out a line of code from my previous comment. Apologies for that. Please can you try this:
s = Settings;
s.parallel
s.parallel.addNode('test')
s.parallel.test.addKey('testKey')
s.parallel.test.testKey = {}
s.parallel.test.isSet('testKey')
s.parallel.removeNode('test')
We are actually trying to write to the parallel.settings file in your preferences directory - it certainly seems as if you have the permissions to do so, but for some reason we aren't able to.
I'm hoping that this new code will throw some light on things.
Thanks, Elwin
Matlab2010
2014년 10월 27일
Spoke to Matlab tech support about this. The answer is as follows. Type
which -all assert
In my case, the issue was caused by the built in ASSERT function being shadowed by something else (Kevin Murphys toolbox). Hence rename the function of concern. Solved:)
댓글 수: 0
Bogdan
2014년 4월 9일
댓글 수: 1
Matlab2010
2014년 10월 23일
편집: Matlab2010
2014년 10월 23일
I am getting this error as well. It has started all of a sudden in some code that was running parfor for ages without any problem. Prior to the start of the prblem, no changes were made to any settings on my PC. Any solutions? Matlab?
Warning: Failed to remove the following invalid children under the profiles node:
local
> In NamedNodesCollection>NamedNodesCollection.refreshCache at 302
In NamedNodesCollection>NamedNodesCollection.refreshCacheIfRequired at 267
In NamedNodesCollection>NamedNodesCollection.getAllNames at 115
In Settings.Settings>iReplaceBadDefaultProfileWithLocal at 678
In Settings.Settings>Settings.hGetProperty at 148
In Settings.Settings>Settings.buildProperties at 630
In Settings.Settings>Settings.Settings at 325
In PoolArrayManager>iShouldAutoCreate at 152
In PoolArrayManager>PoolArrayManager.getOrAutoCreateWithCleanup at 42
In pctTryCreatePoolIfNecessary at 23
In remoteparfor>remoteparfor.tryRemoteParfor at 27
In parallel_function at 433
In myFun at 16
In st_NIKE_03>@(x)myFun(x,LPM{k}.Data) at 30
In st_NIKE_parameterSweep at 56
In st_NIKE_03 at 31
and my ver
K>> ver
----------------------------------------------------------------------------------------------------
MATLAB Version: 8.3.0.532 (R2014a)
MATLAB License Number:
Operating System: Microsoft Windows 7 Professional Version 6.1 (Build 7601: Service Pack 1)
Java Version: Java 1.7.0_11-b21 with Oracle Corporation Java HotSpot(TM) 64-Bit Server VM mixed mode
----------------------------------------------------------------------------------------------------
MATLAB Version 8.3 (R2014a)
Simulink Version 8.3 (R2014a)
Bioinformatics Toolbox Version 4.4 (R2014a)
Control System Toolbox Version 9.7 (R2014a)
Curve Fitting Toolbox Version 3.4.1 (R2014a)
DSP System Toolbox Version 8.6 (R2014a)
Data Acquisition Toolbox Version 3.5 (R2014a)
Financial Toolbox Version 5.3 (R2014a)
Image Processing Toolbox Version 9.0 (R2014a)
Instrument Control Toolbox Version 3.5 (R2014a)
Optimization Toolbox Version 7.0 (R2014a)
Parallel Computing Toolbox Version 6.4 (R2014a)
Signal Processing Toolbox Version 6.21 (R2014a)
SimMechanics Version 4.4 (R2014a)
Simscape Version 3.11 (R2014a)
Simulink Control Design Version 4.0 (R2014a)
Stateflow Version 8.3 (R2014a)
Statistics Toolbox Version 9.0 (R2014a)
Symbolic Math Toolbox Version 6.0 (R2014a)
Wavelet Toolbox Version 4.13 (R2014a)
참고 항목
카테고리
Help Center 및 File Exchange에서 Parallel Computing Fundamentals에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!