I'm submitting an issue here because I've had some time to investigate, and I've been able to create a consistent reproduction case. The cause is not, as was suggested in that thread, lazily-evaluated LINQ queries, but has something to do with PLINQ execution of geometry operations.
The objects in question are not document-controlled. It was my understanding that RhinoCommon geometry operations are supposed to be thread-safe in this case, but that appears to not hold here.
The reproduction is available here: https://www.dropbox.com/s/3h8881bs1jj1xjx/AccessViolationException.zip?dl=0 It includes a Rhino document and a plugin with a single command "ReproduceError" that will reproduce the error (causing a Rhino crash if no debugger is attached) when run when the provided document is open. (The plugin is supplied in both source and binary form.) This has been tested against the RhinoCommon shipped with SR11 (64-bit), on Windows 7.
I posted a thread to the forums a few months back regarding an AccessViolationException I was intermittently getting during a call to Brep.CreatePlanarBreps: http://discourse.mcneel.com/t/accessviolationexception-in-brep-createplanarbreps/18338/9
I'm submitting an issue here because I've had some time to investigate, and I've been able to create a consistent reproduction case. The cause is not, as was suggested in that thread, lazily-evaluated LINQ queries, but has something to do with PLINQ execution of geometry operations.
The objects in question are not document-controlled. It was my understanding that RhinoCommon geometry operations are supposed to be thread-safe in this case, but that appears to not hold here.
The reproduction is available here: https://www.dropbox.com/s/3h8881bs1jj1xjx/AccessViolationException.zip?dl=0 It includes a Rhino document and a plugin with a single command "ReproduceError" that will reproduce the error (causing a Rhino crash if no debugger is attached) when run when the provided document is open. (The plugin is supplied in both source and binary form.) This has been tested against the RhinoCommon shipped with SR11 (64-bit), on Windows 7.