Ticket #10438 (closed: fixed)

Opened 6 years ago

Last modified 5 years ago

WorkspacesGroup passed into validateInputs causing segfaults.

Reported by: Ross Whitfield Owned by: Peter Peterson
Priority: critical Milestone: Release 3.3
Component: Framework Keywords:
Cc: Blocked By:
Blocking: Tester: Ross Whitfield

Description (last modified by Ross Whitfield) (diff)

When getProperty("InputWorkspace") is called inside validateInputs it passes the workspace group not the individual workspaces. This can cause the segfault below:

MantidPlot: /usr/include/boost/smart_ptr/shared_ptr.hpp:653: typename boost::detail::sp_member_access<T>::type boost::shared_ptr<T>::operator->() const [with T = const Mantid::DataObjects::EventWorkspace; typename boost::detail::sp_member_access<T>::type = const Mantid::DataObjects::EventWorkspace*]: Assertion `px != 0' failed.

It effects a number of algorithms, for example: FilterByLogValue, SumEventsByLogValue, PDFFouriertTransform, EditInstrumentGeometry, SavePDFGui...

This should probably be fixed in Algorithm.cpp but should still work for algorithms that use both workspace groups as input and validateInputs, such as Stitch1DMany.

Change History

comment:1 Changed 6 years ago by Ross Whitfield

  • Description modified (diff)

comment:2 Changed 6 years ago by Peter Peterson

  • Status changed from new to assigned
  • Owner set to Peter Peterson

comment:3 Changed 6 years ago by Peter Peterson

As a refinement, this doesn't appear to affect algorithms that don't check the workspace in validateInputs().

comment:4 Changed 6 years ago by Pete Peterson

  • Status changed from assigned to inprogress

Refs #10438. Added test with a WorkspaceGroup.

Changeset: 0059a8e588aebdad26de4f1eeea1e3fd23fb5152

comment:5 Changed 6 years ago by Pete Peterson

Refs #10438. Don't run validateInputs on WorkspaceGroups.

Instead wait for the inner loop over workspaces in the group.

Changeset: cb6c53b60eab86dfaa4eefbc5fe85b6d324d0a94

comment:6 Changed 6 years ago by Pete Peterson

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

This is being verified as pull request #60.

comment:7 Changed 6 years ago by Ross Whitfield

  • Status changed from verify to verifying
  • Tester set to Ross Whitfield

comment:8 Changed 6 years ago by Ross Whitfield

This still fails when the algorithm is called from the gui, but works fine from the command line.

comment:9 Changed 6 years ago by Pete Peterson

Refs #10438. Added checGroups to IAlgorithm.

Changeset: 8e55e36c6fa89795aa6a09bbb662538a4c936913

comment:10 Changed 6 years ago by Pete Peterson

Refs #10438. Don't validateInputs for WorkspaceGroups in gui.

Changeset: 23038acdcf7c668b8dd243b4a9c81f398a4fdfa3

comment:11 Changed 6 years ago by Pete Peterson

Refs #10438. Get rid of warning in windoze builds

Changeset: 9e779f0826cdfe9c48f859a3d3bb7ec0392c71ad

comment:12 Changed 6 years ago by Pete Peterson

Revert "Refs #10438. Get rid of warning in windoze builds"

This reverts commit 9e779f0826cdfe9c48f859a3d3bb7ec0392c71ad.

Changeset: a46848ec12d7f7a26a862b37b71b814edf922c56

comment:13 Changed 6 years ago by Pete Peterson

Revert "Refs #10438. Don't validateInputs for WorkspaceGroups in gui."

This reverts commit 23038acdcf7c668b8dd243b4a9c81f398a4fdfa3.

Changeset: a2cd39f1fc4206297a35720df21345f92cb717f8

comment:14 Changed 6 years ago by Pete Peterson

Revert "Refs #10438. Added checGroups to IAlgorithm."

This reverts commit 8e55e36c6fa89795aa6a09bbb662538a4c936913.

Changeset: 27ee4d2c75db4a3eac637b142f2a98d64939c021

comment:15 Changed 6 years ago by Pete Peterson

Refs #10438. Adjusted validateInputs in algorithms.

This was done with an eye towards providing some level of validation when possible.

Changeset: 37efdbf4f5f970c9d5871d5acf68f4e0851a2c02

comment:16 Changed 6 years ago by Pete Peterson

  • Status changed from verifying to closed

Merge remote-tracking branch 'origin/master' into bugfix/10438_validate_group_ws

Full changeset: 9f57e0cdc1245d31a163bfebf95846278f914a08

comment:17 Changed 6 years ago by Pete Peterson

Merge remote-tracking branch 'origin/master' into bugfix/10438_validate_group_ws

Full changeset: e764d042649b7bcfcc475744706d718c4f25310c

comment:18 Changed 6 years ago by Pete Peterson

Revert "Refs #10438. Get rid of warning in windoze builds"

This reverts commit 9e779f0826cdfe9c48f859a3d3bb7ec0392c71ad.

Changeset: a46848ec12d7f7a26a862b37b71b814edf922c56

comment:19 Changed 6 years ago by Pete Peterson

Revert "Refs #10438. Don't validateInputs for WorkspaceGroups in gui."

This reverts commit 23038acdcf7c668b8dd243b4a9c81f398a4fdfa3.

Changeset: a2cd39f1fc4206297a35720df21345f92cb717f8

comment:20 Changed 6 years ago by Pete Peterson

Revert "Refs #10438. Added checGroups to IAlgorithm."

This reverts commit 8e55e36c6fa89795aa6a09bbb662538a4c936913.

Changeset: 27ee4d2c75db4a3eac637b142f2a98d64939c021

comment:21 Changed 6 years ago by Pete Peterson

Merge remote-tracking branch 'origin/master' into bugfix/10438_validate_group_ws

Full changeset: f584272c669bc90b2db3e631ea145eb49b2552f6

comment:22 Changed 6 years ago by Pete Peterson

Refs #10438. Adjusted validateInputs in algorithms.

This was done with an eye towards providing some level of validation when possible.

Changeset: 37efdbf4f5f970c9d5871d5acf68f4e0851a2c02

comment:23 Changed 6 years ago by Ross Whitfield

Merge pull request #60 from mantidproject/bugfix/10438_validate_group_ws

WorkspacesGroup passed into validateInputs causing segfaults

Full changeset: cccc9ce51115ea75bc3591a7d48885a3312d0de0

comment:24 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 11280

Note: See TracTickets for help on using tickets.