{"action":"opened","issue":{"url":"https://api.github.com/repos/MSRCCS/Prajna/issues/157","repository_url":"https://api.github.com/repos/MSRCCS/Prajna","labels_url":"https://api.github.com/repos/MSRCCS/Prajna/issues/157/labels{/name}","comments_url":"https://api.github.com/repos/MSRCCS/Prajna/issues/157/comments","events_url":"https://api.github.com/repos/MSRCCS/Prajna/issues/157/events","html_url":"https://github.com/MSRCCS/Prajna/issues/157","id":135293565,"number":157,"title":"daemon doesn't work in remote machine","user":{"login":"soloman817","id":3477345,"avatar_url":"https://avatars.githubusercontent.com/u/3477345?v=3","gravatar_id":"","url":"https://api.github.com/users/soloman817","html_url":"https://github.com/soloman817","followers_url":"https://api.github.com/users/soloman817/followers","following_url":"https://api.github.com/users/soloman817/following{/other_user}","gists_url":"https://api.github.com/users/soloman817/gists{/gist_id}","starred_url":"https://api.github.com/users/soloman817/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/soloman817/subscriptions","organizations_url":"https://api.github.com/users/soloman817/orgs","repos_url":"https://api.github.com/users/soloman817/repos","events_url":"https://api.github.com/users/soloman817/events{/privacy}","received_events_url":"https://api.github.com/users/soloman817/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2016-02-22T02:17:43Z","updated_at":"2016-02-22T02:17:43Z","closed_at":null,"body":"Hi,\r\n\r\nI did the following:\r\n\r\n1. I built Prajna with `build.cmd R` from the master branch source code;\r\n2. I copied the client folder to two machines\r\n3. I deleted the folder `C:\\Prajna` on both machines\r\n4. I turned off the Windows Firewall completely on both machines\r\n5. I started client without any options (so it will work on default port 1082)\r\n\r\nThen I simply want to call this from remote:\r\n\r\n```\r\n        private static void SayHello(Cluster cluster)\r\n        {\r\n            var dset = new DSet<int> { Name = Guid.NewGuid().ToString(\"D\"), Cluster = cluster };\r\n            var descriptions =\r\n                dset\r\n                .Distribute(Enumerable.Range(0, cluster.NumNodes))\r\n                .Select(i =>\r\n                {\r\n                    var gpuId = Int32.Parse(ConfigurationManager.AppSettings[\"GpuId\"]);\r\n                    var machineName = System.Environment.MachineName;\r\n                    var process = System.Diagnostics.Process.GetCurrentProcess();\r\n                    var gpu = Gpu.Get(gpuId);\r\n                    return $\"Hello from {machineName} {gpu} taskId={i} processId={process.Id} threadId={Thread.CurrentThread.ManagedThreadId}\";\r\n                })\r\n                .ToIEnumerable()\r\n                .ToArray();\r\n            foreach (var description in descriptions)\r\n            {\r\n                Console.WriteLine(description);\r\n            }\r\n        }\r\n```\r\n\r\nThe test result is like this:\r\n\r\nIf I use the following cluster.lst, then it WORKS:\r\n\r\n```\r\nXiangCluster,1082\r\nlocalhost,1082\r\n```\r\n\r\nAlso, if I use real IP, it also works (I launch the application from the same machine):\r\n\r\n```\r\nXiangCluster,1082\r\n192.168.1.110,1082\r\n```\r\n\r\nThen if I want to add a remote machine, like:\r\n\r\n```\r\nXiangCluster,1082\r\n192.168.1.110,1082\r\n192.168.1.108,1082\r\n```\r\n\r\nThen it DOESN'T WORK anymore. \r\n\r\nI checked the log of daemon on `192.168.1.110`, I found something like:\r\n\r\n```\r\n============== New Log File ======================= \r\n160222_020627.133310,1,Info,PrajnaMachineId is 290efbd143477d11\r\n160222_020627.173490,1,Info,Initialize network stack with initial buffers: 128 max buffers: 33554 buffer size: 128000 network threads: 2\r\n160222_020627.215722,1,Info,Start PrajnaClient at port 1082 (1100-1150)...................... Mode x64, 1 MB\r\n160222_020627.218012,1,Info,Minimum threads: 16, Minimum I/O completion threads: 4\r\n160222_020627.218622,1,Info,Maximum threads: 32767, Maximum I/O completion threads: 1000\r\n160222_020627.219319,1,Info,Available threads: 32767, Available I/O completion threads: 1000\r\n160222_020627.220786,1,Info,Start Parameters [||]\r\n160222_020627.228628,1,Info,All command parsed ==== true\r\n160222_020627.261606,1,Info,Authentication parameters: pwd=empty keyfile= keyfilepwd=empty\r\n160222_020709.983452,18,Info,GetDriveSpace, fail to retrieve remote storage information for machine 192.168.1.108, with exception System.Management.ManagementException: Access denied \r\n   at System.Management.ManagementException.ThrowWithExtendedInfo(ManagementStatus errorCode)\r\n   at System.Management.ManagementScope.InitializeGuts(Object o)\r\n   at System.Management.ManagementScope.Initialize()\r\n   at System.Management.ManagementObjectSearcher.Initialize()\r\n   at System.Management.ManagementObjectSearcher.Get()\r\n   at Prajna.Core.RemoteConfig.GetDriveSpace(String machineName)\r\n160222_020744.693316,16,Error,Prajna.Core.Task.ErrorInSeparateApp : (Close,Job) Failed to find Job Action object for Job a6dfc439-1db5-41f5-9843-569a50737867, error has happened before? \r\n```\r\n\r\nBTW, when I use the Prajna from the NuGet package, it works."}}