Hi Andy,
I’m having trouble setting up Rhino Compute on my local machine. Without starting rhino.compute.exe, localhost:5000 does not respond. When I start rhino.compute.exe, I get:
localhost:5000 → "compute.rhino3d"
localhost:5000/healthcheck → "Healthy"
However, when I try to access localhost:5000/version, the request never completes, and I eventually get a runtime error.
Terminal Output:
At startup:
RC [13:27:19 INF] Rhino compute started at 4/3/2025 1:27:19 PM
RC [13:27:20 DBG] Hosting starting
RC [13:27:20 DBG] Found module rhino.compute.ReverseProxyModule
RC [13:27:20 DBG] Initiliazing reverse proxy at 4/3/2025 1:27:20 PM
RC [13:27:20 DBG] Spawn children at startup is set to False
RC [13:27:20 INF] Now listening on: http://localhost:5000
RC [13:27:20 INF] Application started. Press Ctrl+C to shut down.
RC [13:27:20 INF] Hosting environment: Production
RC [13:27:20 INF] Content root path: C:\Users\gifi2\source\repos\src\bin\Debug\rhino.compute
RC [13:27:20 DBG] Hosting started
RC [13:27:23 INF] HTTP GET / responded 200 in 69.4377 ms
RC [13:27:27 INF] Starting compute.geometry instance on port 6001
The specified framework 'Microsoft.NETCore.App', version '7.0.0', apply_patches=1, version_compatibility_range=patch cannot roll-forward to the previously referenced version '8.0.14'.
RC [13:27:33 INF] HTTP GET / responded 200 in 1.4708 ms
When accessing /version:
RC [13:30:38 INF] Unable to start a local compute server
RC [13:30:38 ERR] HTTP GET /version responded 500 in 128032.3765 ms
System.Exception: Unable to start a local compute server
at rhino.compute.ComputeChildren.LaunchCompute(Queue`1 processQueue, Boolean waitUntilServing) in C:\Users\gifi2\source\repos\src\rhino.compute\ComputeChildren.cs:line 229
at rhino.compute.ComputeChildren.GetComputeServerBaseUrl() in C:\Users\gifi2\source\repos\src\rhino.compute\ComputeChildren.cs:line 98
at rhino.compute.ReverseProxyModule.<>c.<InitializeChildren>b__5_0() in C:\Users\gifi2\source\repos\src\rhino.compute\ReverseProxy.cs:line 43
at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
--- End of stack trace from previous location ---
at rhino.compute.ReverseProxyModule.AwaitInitTask() in C:\Users\gifi2\source\repos\src\rhino.compute\ReverseProxy.cs:line 119
at rhino.compute.ReverseProxyModule.ReverseProxyGet(HttpRequest req, HttpResponse res) in C:\Users\gifi2\source\repos\src\rhino.compute\ReverseProxy.cs:line 162
at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
at Serilog.AspNetCore.RequestLoggingMiddleware.Invoke(HttpContext httpContext)
RC [13:30:38 ERR] Connection id "0HNBIKA0IOFNJ", Request id "0HNBIKA0IOFNJ:00000005": An unhandled exception was thrown by the application.
System.Exception: Unable to start a local compute server
at rhino.compute.ComputeChildren.LaunchCompute(Queue`1 processQueue, Boolean waitUntilServing) in C:\Users\gifi2\source\repos\src\rhino.compute\ComputeChildren.cs:line 229
at rhino.compute.ComputeChildren.GetComputeServerBaseUrl() in C:\Users\gifi2\source\repos\src\rhino.compute\ComputeChildren.cs:line 98
at rhino.compute.ReverseProxyModule.<>c.<InitializeChildren>b__5_0() in C:\Users\gifi2\source\repos\src\rhino.compute\ReverseProxy.cs:line 43
at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
--- End of stack trace from previous location ---
at rhino.compute.ReverseProxyModule.AwaitInitTask() in C:\Users\gifi2\source\repos\src\rhino.compute\.cs:line 119ReverseProxy`Preformatted text`
at rhino.compute.ReverseProxyModule.ReverseProxyGet(HttpRequest req, HttpResponse res) in C:\Users\gifi2\source\repos\src\rhino.compute\ReverseProxy.cs:line 162
at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
at Serilog.AspNetCore.RequestLoggingMiddleware.Invoke(HttpContext httpContext)
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequests[TContext](IHttpApplication`1 application)
Same in screenshot (trying to access /version):
What I have tried:
Do you see what could be causing the probelm in my case?
If you need any more information to help me troubleshoot, let me know.
Thanks in advance for your help!