Infinite loop caused by 'idleprocs is redundant'
Hi, thank you for this work!
I am trying to run this code on a Matlab 2012A version on a Ubuntu 11.04 VM. While running the code in parallel, I get the following error. Do you have any workarounds for this issue? Appreciate your help.
[ds.sample.patches{dsidx}, ds.sample.feats{dsidx}]=sampleRandomPatchesbb(ds.sample.initInds(dsidx),20);: 278+2/280 Warning: The value of local variables may have been changed to match the globals. Future versions of MATLAB will require that you declare a variable to be global before you use that variable.
In dsprinterr at 1 In dsdistprocmgr>readslave_atomic at 451 In dsdistprocmgr>readslave at 332 In dsdistprocmgr at 125 In dsrundistributed at 109 In indoor67_main_singleclass at 215 idleprocs is redundant file: '/home/omkar/elementdiscovery/dswork/dsdistprocmgr.m' name: 'readslave_atomic' line: 450
file: '/home/omkar/elementdiscovery/dswork/dsdistprocmgr.m'
name: 'readslave'
line: 332
file: '/home/omkar/elementdiscovery/dswork/dsdistprocmgr.m'
name: 'dsdistprocmgr'
line: 125
file: '/home/omkar/elementdiscovery/dswork/dsrundistributed.m'
name: 'dsrundistributed'
line: 109
file: '/home/omkar/elementdiscovery/indoor67_main_singleclass.m'
name: 'indoor67_main_singleclass'
line: 215
Matrix dimensions must agree. file: '/home/omkar/elementdiscovery/dswork/dsdistprocmgr.m' name: 'readslave_atomic' line: 457
file: '/home/omkar/elementdiscovery/dswork/dsdistprocmgr.m'
name: 'readslave'
line: 332
file: '/home/omkar/elementdiscovery/dswork/dsdistprocmgr.m'
name: 'dsdistprocmgr'
line: 125
file: '/home/omkar/elementdiscovery/dswork/dsrundistributed.m'
name: 'dsrundistributed'
line: 109
file: '/home/omkar/elementdiscovery/indoor67_main_singleclass.m'
name: 'indoor67_main_singleclass'
line: 215
It's been a long time since I looked at this code, but 'idleprocs is reduntant' tends to happen when the same worker finishes twice. This can happen if there's two separate processes acting as the same worker, probably because of a previous session that didn't shut down correctly. Check your system for extra matlab processes. If you run dsmapredclose, I think it should send a signal that will cause all the background processes using that directory to exit--but note that it may take some extra time to actually close everything.
This is unsupported code designed to work on an old cluster we had at CMU; it may be possible to make it work on your system, but it'll be difficult. I'd recommend just using this code as a reference for code that works better on more recent systems.