Invoking Examples.exe wordcount -p 2 -n 2 --local causes crash
ejoebstl opened this issue · 1 comments
ejoebstl commented
Invoking Examples.exe wordcount -p 2 -n 2 --local
with the latest commit (360ff09) causes an ArgumentOutOfRangeException.
The issue was already occurring in release_0.4.
Exception Details:
System.IndexOutOfRangeException was unhandled
HResult=-2146233080
Message=Index was outside the bounds of the array.
Source=Microsoft.Research.Naiad
StackTrace:
at Microsoft.Research.Naiad.BaseController..ctor(Configuration config) in d:\Schuldateien\SS 14\Sources\naiad\Naiad\Runtime\Controlling\Controller.cs:line 771
at Microsoft.Research.Naiad.NewController.FromConfig(Configuration conf) in d:\Schuldateien\SS 14\Sources\naiad\Naiad\Runtime\Controlling\Controller.cs:line 283
at Microsoft.Research.Naiad.InternalOneOffComputation..ctor(Configuration configuration) in d:\Schuldateien\SS 14\Sources\naiad\Naiad\Runtime\SubgraphManager.cs:line 67
at Microsoft.Research.Naiad.NewComputation.FromArgs(String[]& args) in d:\Schuldateien\SS 14\Sources\naiad\Naiad\Runtime\Controlling\Controller.cs:line 220
at Microsoft.Research.Naiad.Examples.WordCount.WordCount.Execute(String[] args) in d:\Schuldateien\SS 14\Sources\naiad\Examples\Naiad\WordCount.cs:line 98
at Microsoft.Research.Naiad.Examples.Program.Main(String[] args) in d:\Schuldateien\SS 14\Sources\naiad\Examples\Program.cs:line 105
at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
InnerException:
frankmcsherry commented
Hi.
the -p argument indicates the intended process number (out of the number supplied to -n) this process will assume. So, with "-n 2", only values of "-p 0" and "-p 1" are valid. We should probably put better error reporting in there to explain what went wrong (which happens to be an out of bounds access on the list of hostnames, when the process tries to find which port it should be binding to).
If you had intended to set the number of threads, this is "-t 2" or whichever value you would like in there.