Ticket #5130 (closed: fixed)

Opened 8 years ago

Last modified 5 years ago

Crashe when a script registers an algorithm too quickly after another has finished

Reported by: Martyn Gigg Owned by: Martyn Gigg
Priority: critical Milestone: Release 2.1
Component: Mantid Keywords:
Cc: doucetm@… Blocked By:
Blocking: Tester: Owen Arnold

Description

To reproduce:

  • Open the script window in MantidPlot
  • Paste in the code below
  • Press Ctrl+Return many times quickly.
  • Mantid will crash after a few rounds.
import mantid.api
import mantid.simpleapi

class TestNewAlg(mantid.api.PythonAlgorithm):

    def category(self):
        return "PythonAlgorithms"

    def PyInit(self):
        # Output workspace to put the transmission histo into
        self.declareProperty("Output", "", Direction.Input)

    def PyExec(self):
        output_ws_name = self.getProperty("Output").value
	mantid.simpleapi.CreateWorkspace(DataX=[0.1,0.2,0.3], DataY=[1,2], OutputWorkspace=output_ws_name)

mantid.api.registerAlgorithm(TestNewAlg)

Change History

comment:1 Changed 8 years ago by Martyn Gigg

Ensure a script cannot execute while it is executing. Refs #5130

The menu was disabled but the actions were left enabled so the shortcuts were still alive.

Changeset: c8e68da1713947dcbadf49b11ab1de9054cd78e6

comment:2 Changed 8 years ago by Martyn Gigg

Protect alg tree widget updating if update in progress. Refs #5130

If two updates occur simultaneously the tree widget update crashes as the sizes are changing from 2 places.

Changeset: a20e8a6430e91af9e01f762d58ef1e4c4539d326

comment:3 Changed 8 years ago by Martyn Gigg

  • Status changed from new to accepted

comment:4 Changed 8 years ago by Martyn Gigg

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

comment:5 Changed 8 years ago by Martyn Gigg

Ensure a script cannot execute while it is executing. Refs #5130

The menu was disabled but the actions were left enabled so the shortcuts were still alive.

Changeset: c8e68da1713947dcbadf49b11ab1de9054cd78e6

comment:6 Changed 8 years ago by Martyn Gigg

Protect alg tree widget updating if update in progress. Refs #5130

If two updates occur simultaneously the tree widget update crashes as the sizes are changing from 2 places.

Changeset: a20e8a6430e91af9e01f762d58ef1e4c4539d326

comment:7 Changed 8 years ago by Owen Arnold

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

comment:8 Changed 8 years ago by Owen Arnold

  • Status changed from verifying to closed

Re-ran test algorithm frequently without any problems.

comment:9 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 5976

Note: See TracTickets for help on using tickets.