Ticket #7061 (closed: fixed)

Opened 7 years ago

Last modified 5 years ago

VSI Crash When WS removed

Reported by: Owen Arnold Owned by: Michael Reuter
Priority: major Milestone: Release 3.0
Component: GUI Keywords:
Cc: Blocked By:
Blocking: Tester: Owen Arnold

Description (last modified by Michael Reuter) (diff)

Jon Taylor has managed to crash the VSI by clearing all workspaces (in Mantid) after a Rebinning step in the VSI. In my opinion this is a little bit of an obscure thing to do, but we should definitely fix it.

I think we probably assume that the MDWS will always be present. Should be easy to reproduce.

Nick, reassign as you see fit.

Change History

comment:1 Changed 7 years ago by Nick Draper

  • Status changed from new to assigned
  • Owner changed from Nick Draper to Michael Reuter
  • type changed from defect to enhancement
  • Priority changed from blocker to major

I think what we need to do here is make the VSI work in the same way as graphs for matrix windows for workspaces.

They subscribe to the signals coming out of the ADS, and if a workspace they rely on is deleted then they close themselves.

You could also choose to handle replacing (updating) of the workspace as well by refreshing the view.

comment:2 Changed 7 years ago by Nick Draper

  • Status changed from assigned to new

comment:3 Changed 7 years ago by Nick Draper

  • Component changed from VATES to User Interface

comment:4 Changed 7 years ago by Nick Draper

  • Milestone changed from Release 2.6 to Backlog

Moved to backlog at the code freeze for R2.6

comment:5 Changed 7 years ago by Michael Reuter

  • Description modified (diff)
  • Milestone changed from Backlog to Release 3.0

This ticket will allow use of the VSI for Live Data viewing, plus dealing with situations like that described above.

Time Estimate: 15 days

comment:6 Changed 7 years ago by Michael Reuter

  • Status changed from new to inprogress

Refs #7061. Initial work on responding to workspace changes.

Changeset: cb913215323040b20a1a1666b5f606c1b6ebb996

comment:7 Changed 7 years ago by Michael Reuter

Refs #7061. Making things update rather than reconstruct.

Changeset: b52b9d9a50612731cd2b18363bfd6c34895bdb28

comment:8 Changed 7 years ago by Michael Reuter

Refs #7061. Handling multiple peak sources.

This required adding a mechanism to the vtkPeaksSource plugin to get the workspace name. Also, necessitated moving a function in ViewBase from private to public.

Changeset: 45cfcee8e127a8f060f33c988f0bbb8acb2dbf2a

comment:9 Changed 7 years ago by Michael Reuter

  • Status changed from inprogress to verify
  • Resolution set to fixed

The branch is here.

Testing update mechanism:

Load the SEQ_MDEW.nxs file and view it in the VSI. Then perform PlusMD on the workspace and the VSI should update. Note: Adding a rebinner from the VSI will not work as the mechanism for getting that filter to update is not working. To try rebinning, run BinMD on the workspace and then view the resulting MDHistoWorkspace. Then, run PlusMD and BinMD on the MDEventWorkspace and the VSI should update. You can also try out the SplatterPlot view with an appropriate 3D dataset (like TOPAZ_3680_5_sec_MDEW.nxs). Do PlusMD on the original workspace after viewing and things should update.

Testing the delete mechanism:

After doing the update tests, try deleting the workspaces that are being viewed and the VSI should close automatically. You can also try having the SplatterPlot up with two PeaksWorkspaces and delete one of the workspaces and it should disappear from the VSI.

comment:10 Changed 7 years ago by Owen Arnold

  • Status changed from verify to verifying
  • Tester set to Owen Arnold

comment:11 Changed 7 years ago by Owen Arnold

I've just code reviewed this, and It looks very nice. Have yet to verify the functionality.

comment:12 Changed 7 years ago by Owen Arnold

  • Status changed from verifying to closed

Merge remote-tracking branch 'origin/feature/7061_vsi_workspace_obs'

comment:13 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 7907

Note: See TracTickets for help on using tickets.