Page MenuHomePhabricator

[WorkBench] Segmentation fault when "Close Project" is invoked and QmitkDataStorageComboBox widget is in UI
Open, HighPublic

Description

Workbench will crash when "Close Project" is called in conjunction with QmitkDataStorageComboBox being present in any plugin/tool (eg. nnUNet).

Sample workflow to replicate (Ubuntu only):

  1. Load any image, goto Segmentation View
  2. Click nnUNet.
  3. Select "Multi Modal" checkbox -> a QmitkDataStorageComboBox appears.
  4. Close Project

This leads to Segmentation fault and workbench crashes immediately.

Event Timeline

a178n triaged this task as High priority.Apr 11 2022, 5:46 PM
a178n created this task.

After some analysis with @kalali, it looks like there is some kind of race condition(?) happening while, Removing nodes by the mitk::DataStorage Vs QmitkDataStorageComboBox destructor.

  1. Are both processes asynchronous, one removing the node before the other?
  2. Is QmitkDataStorageComboBox used elsewhere to check and replicate the bug?
kalali moved this task from Backlog to In candidates on the MITK (v2023.04) board.
floca moved this task from In candidates to Segmentation on the MITK (v2023.04) board.

Now with the preferences moved to micro services, we can move the selection widget T29027 and then use them also here.

We talked about this task in our meeting today and concluded that we will migrate the DataStorageComboBox in our code to the SingleSelectionWidget and even deprecate the DataStorageComboBox.