I have a model that has crashed twice after about 60 hours of processing, with this same error both times:
Application: BEopt.exe Framework Version: v4.0.30319 Description: The process was terminated due to an unhandled exception. Exception Info: System.AccessViolationException at System.Runtime.InteropServices.Marshal.ReadInt32(IntPtr, Int32) at NREL.BEopt.BEoptCommon.Tessellation.glVertex3dvCB(IntPtr) at OpenTK.Graphics.Glu+Imports.TessEndPolygon(IntPtr) at OpenTK.Graphics.Glu.TessEndPolygon(IntPtr) at NREL.BEopt.BEoptCommon.Tessellation.Triangulate(POINTAPI_DOUBLE[], HOLEAPI_DOUBLE[], Boolean, Boolean ByRef) at NREL.BEopt.ObjLibVB.clsBEopt_DrawingTesselation.TESS_TriangulateSurface(NREL.BEopt.ObjLibVB.Vertex[] ByRef, NREL.BEopt.ObjLibVB.PolygonType[] ByRef, NREL.BEopt.ObjLibVB.PolygonType[] ByRef, NREL.BEopt.ObjLibVB.PolygonType[] ByRef, WallAz ByRef, Single ByRef, Boolean ByRef, Boolean ByRef) at NREL.BEopt.ObjLibVB.DrawingRendering.TriangulateSurfaces() at NREL.BEopt.ObjLibVB.DrawingRendering.CreateObject(Int32 ByRef, NREL.BEopt.ObjLibVB.SurfaceArrayList ByRef, Single ByRef) at NREL.BEopt.ObjLibVB.DrawingGeometry.RenderObject_Create(Boolean, Boolean) at NREL.BEopt.ObjLibVB.DrawingGeometry.AddVarsToBldgObj(Boolean, Boolean, Boolean, NREL.BEopt.ObjLibVB.bldgdesc ByRef) at NREL.BEopt.ObjLibCS.BEoptXML.CreateXMLFromSimulation(NREL.BEopt.ObjLibCS.BEoptCase, NREL.BEopt.ObjLibCS.Simulation, System.Collections.Generic.IDictionary`2<system.string,nrel.beopt.objlibvb.bldgdesc> ByRef, Boolean, Boolean, Boolean, System.String) at NREL.BEopt.ObjLibCS.BEoptXML.constructXmlFilesForSimulations(System.Collections.Generic.IList`1<nrel.beopt.objlibcs.simulation>, NREL.BEopt.ObjLibCS.BEoptCase, System.String, Boolean, System.Collections.Generic.IDictionary`2<system.string,nrel.beopt.objlibvb.bldgdesc>, Int32) at NREL.BEopt.ObjLibCS.RunMgr.doCaseIterRuns(Boolean, Boolean) at NREL.BEopt.ObjLibCS.RunMgr.processIteration()
Exception Info: System.Reflection.TargetInvocationException at System.RuntimeMethodHandle.InvokeMethod(System.Object, System.Object[], System.Signature, Boolean) at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(System.Object, System.Object[], System.Object[]) at System.Delegate.DynamicInvokeImpl(System.Object[]) at System.Windows.Forms.Control.InvokeMarshaledCallbackDo(ThreadMethodEntry) at System.Windows.Forms.Control.InvokeMarshaledCallbackHelper(System.Object) at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object) at System.Windows.Forms.Control.InvokeMarshaledCallback(ThreadMethodEntry) at System.Windows.Forms.Control.InvokeMarshaledCallbacks() at System.Windows.Forms.Control.WndProc(System.Windows.Forms.Message ByRef) at System.Windows.Forms.ScrollableControl.WndProc(System.Windows.Forms.Message ByRef) at System.Windows.Forms.Form.WndProc(System.Windows.Forms.Message ByRef) at System.Windows.Forms.Control+ControlNativeWindow.OnMessage(System.Windows.Forms.Message ByRef) at System.Windows.Forms.Control+ControlNativeWindow.WndProc(System.Windows.Forms.Message ByRef) at System.Windows.Forms.NativeWindow.Callback(IntPtr, Int32, IntPtr, IntPtr) at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG ByRef) at System.Windows.Forms.Application+ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr, Int32, Int32) at System.Windows.Forms.Application+ThreadContext.RunMessageLoopInner(Int32, System.Windows.Forms.ApplicationContext) at System.Windows.Forms.Application+ThreadContext.RunMessageLoop(Int32, System.Windows.Forms.ApplicationContext) at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun() at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel() at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(System.String[]) at NREL.BEopt.BEoptUIVB.My.MyApplication.Main(System.String[])
This is especially frustrating because of how slow the run is sue to the lack of modern EnergyPlus support. The model is searching for optimal measure packages, and includes heat pump water heaters as an option. Without the HPWH the model only takes 3 hours to process, but it also then leaves out an important option from the possible trade-off space.
Any ideas what can be done to prevent the crash/speed things up/work around the issue?