Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RayStation bugs #15

Open
ferdymercury opened this issue Jun 17, 2020 · 5 comments
Open

RayStation bugs #15

ferdymercury opened this issue Jun 17, 2020 · 5 comments
Labels
bug Something isn't working RayStation RS interface layer

Comments

@ferdymercury
Copy link
Collaborator

ferdymercury commented Jun 17, 2020

These have been reported to RaySearch:

@ferdymercury ferdymercury added bug Something isn't working RayStation RS interface layer labels Jun 17, 2020
@ferdymercury
Copy link
Collaborator Author

ferdymercury commented Sep 21, 2020

RayStation (10A) crashes when trying to create an ROI, with a patient whose plan is approved and locked (clinical dose) as it tries to modify an immutable, but never with a patient that is not yet locked/approved/planned, with the trace:

Case number 00044019 00042853 00066974, bug report 64429

RaySearch.CoreUtilities.LogicalException: Exception was thrown by a business-event handler. Application must be taken down (RoiGeometries). ---> RaySearch.CoreUtilities.LogicalException: Producer threw an exception. Application must be taken down. ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> RaySearch.CoreUtilities.LogicalException: A produced property on attached data can only be set by its producer. Produced data cannot be modified. Produced data on immutable objects cannot be reproduced after attaching (SupportGeometries).
   at RaySearch.CoreUtilities.DesignByContract.Assert.Fail(String message)
   at RaySearch.CorePlatform.Framework.Property.CheckWriteAccess_()
   at RaySearch.CorePlatform.Framework.RefListProperty`1.Add(T item)
   at RaySearch.CorePlatform.DomainModels.PatientDB.DensityDistribution.ProduceSupportGeometriesImpl_(EventArgs e)

Workaround is to uncheck ‘Consider imported dose clinical’ before modification of ROIs

@ferdymercury
Copy link
Collaborator Author

ferdymercury commented Sep 21, 2020

RayStation (10A) crashes sometimes in the 3D viewer tab if you import STL geometries that are not closed surfaces, with the backtrace 'ComputeMeshIntersections failed'. This crash happens much more in plan design / evaluation tab than in patient modelling tab.

Case 00046097 00044183 00046097 00062832

System.AggregateException: One or more errors occurred. ---> System.AggregateException: One or more errors occurred. ---> System.AggregateException: One or more errors occurred. ---> RaySearch.CoreUtilities.LogicalException: ComputeMeshIntersections failed
   at RaySearch.CoreUtilities.DesignByContract.Assert.Fail(String message)
   at RaySearch.CoreServices.ImageProcessing.MeshIntersectionService.GetMeshIntersections(Point3`1[] triangleVertices, Int32[] triangleIndices, Point3`1[] pointsInPlanes, Point3`1 planeNormal, Boolean smoothContours, Double zEpsilon)
   at RaySearch.CorePlatform.Presentation.PatientViews.ShapeView.GetCutPlaneContoursFromMeshAsync_(IPlane plane, TriangleMesh mesh)
   at RaySearch.CorePlatform.Presentation.PatientViews.TriangleMeshView.<GetCutPlaneContoursAsync>d__3.MoveNext()

Workaround is to simplify the STL file, remove unnecessary holes, etc.

@ferdymercury
Copy link
Collaborator Author

ferdymercury commented Sep 21, 2020

RayStation (8B) crashes sometimes when calling GetCenterOfROI() to correctly center the Couch.

Case 00042853 00044254

System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.AggregateException: One or more errors occurred. ---> System.Runtime.InteropServices.SEHException: External component has thrown an exception.
   at RaySearch.CoreServices.ImageProcessing.RoiContoursService.resolveOverlappingContours(vector<std::vector<RaySearch::LinAlgPoint3<double>\,std::allocator<RaySearch::LinAlgPoint3<double> > >\,std::allocator<std::vector<RaySearch::LinAlgPoint3<double>\,std::allocator<RaySearch::LinAlgPoint3<double> > > > >* , Double )
   at RaySearch.CoreServices.ImageProcessingAdapters.RoiContoursServiceAdapter.ResolveOverlappingContours(IReadOnlyList`1 contours, Double zEpsilon)
   at RaySearch.CorePlatform.Presentation.PatientViews.ContourPostProcessingUtils.GetNonSelfOverlappingContourSetData(IReadOnlyList`1 contours, IPlane plane, Double zTolerance)
   at RaySearch.CorePlatform.Presentation.PatientViews.ShapeConverter.GetRoiContourSet_(Shape shape, ImageStack imageStack, Plane plane)
   at RaySearch.CorePlatform.Presentation.PatientViews.ShapeConverter.GetBinaryRoi_(Shape shape, ImageStack imageStack, ComputeBinaryVolumeService computeBinaryVolumeService)
   at RaySearch.CorePlatform.Presentation.PatientViews.ShapeView.GetBinaryRoi_()
   at RaySearch.CoreUtilities.AsyncCache`1.<>c__DisplayClass10_0.<GetOrCreate>b__0(CancellationToken _)
   at System.Threading.Tasks.Task`1.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()

For this reason we use instead now GetBoundingBox as a workaround.

@ferdymercury
Copy link
Collaborator Author

ferdymercury commented Sep 21, 2020

case 00050735

System.AggregateException: One or more errors occurred. ---> System.AggregateException: One or more errors occurred. ---> System.IO.IOException: Could not execute sql-command. ---> System.InvalidOperationException: SnappyStream is in broken state due to previous error
at RaySearch.Snappy.NET.SnappyStream.CheckStream()
at RaySearch.Snappy.NET.SnappyStream.EnsureCompressionMode()
at RaySearch.Snappy.NET.SnappyStream.Flush()
at RaySearch.Snappy.NET.SnappyStream.Dispose(Boolean disposing)
at System.IO.Stream.Close()
at RaySearch.CorePlatform.DataSources.Database.GenericDB.UndoRedo.UndoRedoDbDataStore.<>c__DisplayClass8_2.<Add>b__1()
at RaySearch.CorePlatform.DataSources.Database.GenericDB.HandleSqlErrorsContext.<>c__DisplayClass17_0.<Retry>b__0()
at RaySearch.CorePlatform.DataSources.Database.GenericDB.HandleSqlErrorsContext.<>c__DisplayClass18_0`1.<Retry>b__0()
at RaySearch.CorePlatform.DataSources.Database.GenericDB.HandleSqlErrorsContext.<RetryRec_>d__19`1.MoveNext()

This might have happened when the DB or disk was full.

@ferdymercury
Copy link
Collaborator Author

RayStation (9A) sometimes crashes when calculating the DSC for complex STL geometries with holes, etc.

Case number 00050729

RaySearch.CoreUtilities.LogicalException: Unhandled exception re thrown, original stack is preserved in the InnerException property ---> System.AggregateException: An error occured while execute action Comparison of roi geometries ---> System.Runtime.InteropServices.SEHException: External component has thrown an exception.
at RaySearch.CoreServices.ImageProcessing.RoiContoursService.resolveOverlappingContours(vector<std::vector<RaySearch::LinAlgPoint3<double>\,std::allocator<RaySearch::LinAlgPoint3<double> > >\,std::allocator<std::vector<RaySearch::LinAlgPoint3<double>\,std::allocator<RaySearch::LinAlgPoint3<double> > > > >* , Double )
at RaySearch.CoreServices.ImageProcessingAdapters.RoiContoursServiceAdapter.ResolveOverlappingContours(IReadOnlyList`1 contours, Double zEpsilon)
at RaySearch.CorePlatform.Presentation.PatientViews.ContourPostProcessingUtils.GetNonSelfOverlappingContourSetData(IReadOnlyList`1 contours, IPlane plane, Double zTolerance)
at RaySearch.CorePlatform.Presentation.PatientViews.ShapeConverter.GetRoiContourSetSliceAligned(Shape shape, ImageStack imageStack, Boolean allowExtraSliceLocations)
at RaySearch.CorePlatform.Presentation.PatientViews.ShapeView.GetRoiContourSet_()
at RaySearch.CorePlatform.Presentation.PatientModeling.Actions.RoiActions.ComparisonOfRoiGeometriesAction.DoWork_()
at RaySearch.CorePlatform.Framework.Action.DoWorkSequence_()
at RaySearch.CorePlatform.Framework.ActionScheduler.Execute(SyncAction action, Boolean saveOnCompletion)

Workaround: simplify STL geometry.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working RayStation RS interface layer
Projects
None yet
Development

No branches or pull requests

1 participant