Rhino Compute + appserver: Internal Server Error

Hi All,

While debugging rhino.compute + appserver vanilla(unaltered clone from github), has anyone run into when trying to open any of the example files?

rhino.compute throws this error:

    [18:16:02 ERR] An exception occured while processing request
System.NullReferenceException: Object reference not set to an instance of an object.at SnippetManager.AssemblyPriority.DocumentServer_DocumentAdded(GH_DocumentServer sender, GH_Document doc)
   at Grasshopper.Kernel.GH_DocumentServer.AddDocument(GH_Document document)
   at compute.geometry.GrasshopperDefinition.Construct(GH_Archive archive) in C:\Users\vnatarajan\source\repos\compute.rhino3d\src\compute.geometry\GrasshopperDefinition.cs:line 174
   at compute.geometry.GrasshopperDefinition.FromUrl(String url, Boolean cache) in C:\Users\vnatarajan\source\repos\compute.rhino3d\src\compute.geometry\GrasshopperDefinition.cs:line 93
   at compute.geometry.ResthopperEndpointsModule.Grasshopper(NancyContext ctx) in C:\Users\vnatarajan\source\repos\compute.rhino3d\src\compute.geometry\ResthopperEndpoints.cs:line 91
   at compute.geometry.ResthopperEndpointsModule.<.ctor>b__0_0(Object _) in C:\Users\vnatarajan\source\repos\compute.rhino3d\src\compute.geometry\ResthopperEndpoints.cs:line 23
   at Nancy.Routing.Route.<>c__DisplayClass4.<Wrap>b__3(Object parameters, CancellationToken context)
127.0.0.1 - [2021-04-26T18:16:02.9068915+10:00] "POST /grasshopper HTTP/1.1" 500 -

while the browser tries to load the script:

Seems it was due to some 3d party gh plugins that rhino compute doesn’t support. Removing them solved the issue.

Is there a way to identify which plugins are compatible with rhino compute?

We need to start a list and contact developers. Do you know which plugins were causing issues?

I didnt have a chance to test each one individually but here’s a list of plugins

Anemone
Bifocals
Elefront
Chromodoris
ghgl
Heteroptera
Human
HumanUI
Jswan
Lunchbox
Mandrill
Metahopper
Pufferfish
shortestWalk
SnappingGecko
SnippetManager
Tarsier
TreeFrog
Treesloth
Volvox
Wombat

A few of them are only relevant you your directly working in the rhino/gh environment (like humanUI, snappinggecko,bifocals etc)

I know many of those do work in compute. We’ll need to narrow in on the specific one causing issues.

I filtered these ones out:

Bifocal
snapping gecko
snippet manager
Human UI
ghgl

and a couple of internal tools we’ve developed. Seems to be working fine so far.

Is there any recommendations or prepwork required for getting internal tools working with compute?

Im still new to web-development so am curious- In order to us gh scripts as a web apps internally within an organisation for staff to use, will we require a production environment with core-hour billing or can a debug environment be set up for it?

One of the main things to avoid is anything that uses RhinoDoc.ActiveDoc, since by default, compute has no document. We’d need to know about your internal tools to understand what might not be working on Compute.

This is an open question that we don’t have fully resolved. Currently, our intention is that if you’re using compute in production (either internally or public facing) that you use core-hour billing. We are also talking about other ways of licensing compute for private use. We don’t have anything to share, yet, though.