Using Power Geopak SS4 .878, I encountered this error when I attempted to delete a terrain model that I didn't expect to exist.
First off, I started by creating a terrain model from two boundary lines. That's all it needed to be. Then I created a complex terrain model, merging this new model onto the existing terrain model. I decided that I didn't need that after all, so instead of deleting the new complex terrain, I undid the action that created it. I opened a different file and was going to give apply an alias to this terrain. I found that it wasn't listed, but the complex terrain that shouldn't exist still did. I went back to the file with the terrain in it. I didn't see the boundaries in the plan view, so I found it in the civil model entries. I right-clicked, then clicked delete. This error showed up.
The exception text follows:
************** Exception Text **************
System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
at elementRef_getCache(IElementRef* )
at Bentley.Internal.MicroStation.Elements.Element.get_ElemRef()
at Bentley.DTM.Element.DTMRootElement.UpdateSymbologyElement()
at Bentley.DTM.Element.DTMRootElement.get_SymbologyElement()
at Bentley.DTM.Element.DTMNavElement.set_Node(NavigatorNode value)
at Bentley.DTM.Element.DTMNavElement.!DTMNavElement()
at Bentley.DTM.Element.DTMNavElement.Dispose(Boolean )
at Bentley.DesignExplorer.ElementExplorer.NavElement.Dispose()
at Bentley.DesignExplorer.NavigatorNode.~NavigatorNode()
at Bentley.DesignExplorer.NavigatorNode.Dispose(Boolean )
at Bentley.DesignExplorer.NavigatorNode.Dispose()
at Bentley.DesignExplorer.NavigatorTree.RemoveNavigatorNode(NavigatorNode navigatorNodeIn)
at Bentley.Civil.Objects.Presentation.TreeProvider.ObjectChangedHandler(Object sender, ObjectChangeEventArgs e)
at Bentley.Civil.Objects.ObjectChangeEventHandler.Invoke(Object sender, ObjectChangeEventArgs e)
at Bentley.Civil.Objects.Engine.ObjectSpace.OnObjectChange(ObjectChangeInfo changeInfo, TransactionType transcationType)
at Bentley.Civil.Objects.Engine.ObjectSpace.SynchronizeCachedInstances(InstanceChangedEventArguments eventArgs, Int32 transactionNumber)
at Bentley.Civil.Objects.Engine.MasterObjectSpace.SynchronizeCachedInstances(InstanceChangedEventArguments eventArgs, Int32 transactionNumber)
at Bentley.Civil.Objects.Engine.MasterObjectSpace.PostProcessSynchronization(InstanceChangedEventArguments eventArgs)
at Bentley.Civil.Objects.Engine.ObjectSpace.PostProcessCommitChangeSet(InternalChangeSetBucket changeSet)
at Bentley.Civil.Objects.Engine.ObjectSpace.CommitChangeSet(InternalChangeSet changeSet, Boolean postCommit)
at Bentley.Civil.Objects.Engine.ObjectSpace.ProcessChangeSet(InternalChangeSet changeSet, InstanceChangedEventArguments externalEventArgs)
at Bentley.Civil.Objects.Engine.ObjectSpace.PersistChanges(ObjectKeyInternal ecKey, PersistDepth persistDepth)
at Bentley.Civil.Objects.Engine.ObjectSpace.PersistChanges(Object obj, PersistDepth persistDepth)
at Bentley.Civil.Objects.Engine.ObjectSpace.Bentley.Civil.Objects.IObjectTracker.PersistChanges(Object obj)
at Bentley.Civil.Geometry.Presentation.DeleteManipulator`1.OnDelete(ObjectKey ecTypedkey)
at Bentley.Civil.Geometry.Presentation.DeleteManipulator`1.Bentley.Civil.Objects.Presentation.IDeleteManipulator.OnDelete(ObjectKey ecTypedkey)
at Bentley.Civil.Objects.Presentation.NavObject.Delete(NavigatorNode nodeIn)
at Bentley.Civil.CadSystem.Microstation.MstnNavObject.Delete(NavigatorNode nodeIn)
at Bentley.Civil.Objects.Presentation.TreeProvider.DeleteAction(NavAction sender, IList`1 actionGeneratorArray)
at Bentley.Civil.Objects.Presentation.NavAction.DelegateWrapper(List`1 actionGeneratorArrayIn)
at Bentley.DesignExplorer.ContextMenuHandler.ExecuteActionOnNavigatorNodes(ActionKey actionKeyIn)
at Bentley.DesignExplorer.ContextMenuHandler.MenuItemClickCallback(Object senderIn, EventArgs eventArgsIn)
at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ToolStrip.WndProc(Message& m)
at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)