Ticket #6873 (closed: fixed)

Opened 7 years ago

Last modified 5 years ago

MantidPlot hangs on shutdown after opening offline help window

Reported by: Martyn Gigg Owned by: Martyn Gigg
Priority: major Milestone: Release 2.5
Component: Mantid Keywords:
Cc: Blocked By:
Blocking: Tester: Peter Peterson

Description

To reproduce (seen on Ubuntu 12.04):

  • Start MantidPlot
  • Type Rebin in to the algorithm box & click the question mark button
  • Close the help window after it appears
  • Close down MantidPlot

The process hangs and the gdb backtrace indicates it's stuck in the QProcess destructor and is waiting on an already locked mutex.

My guess here is that because the Singleton destruction is done after the Qt framework as shutdown then something isn't that happy.

I have attached a patch that seems to remedy the problem on my machine but could do with checking.

Attachments

HelpWindow.patch (1.8 KB) - added by Martyn Gigg 7 years ago.

Change History

Changed 7 years ago by Martyn Gigg

comment:1 Changed 7 years ago by Martyn Gigg

  • Summary changed from MantidPlot hangs con shutdown after opening offline help window to MantidPlot hangs on shutdown after opening offline help window

comment:2 Changed 7 years ago by Martyn Gigg

  • Status changed from new to accepted
  • Owner changed from Peter Peterson to Martyn Gigg

comment:3 Changed 7 years ago by Martyn Gigg

Release the HelpWindow QProcess while MantidPlot is shutting down.

If left until the HelpWindow::destructor then the MantidPlot process hangs on shutdown inside the QProcess destructor waiting on a mutex. It is most likely that this because the Qt framework is now too far gone at the point when the singletons are released. Refs #6873

Changeset: 4dd82c767f18ffe343b5cfedfbe5a38c16a07661

comment:4 Changed 7 years ago by Martyn Gigg

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

comment:5 Changed 7 years ago by Martyn Gigg

Branch: feature/6873_hanging_helpwindow_singleton

Tester: Run the steps above and MantidPlot should no longer hang on shutdown.

comment:6 Changed 7 years ago by Peter Peterson

  • Status changed from verify to verifying
  • Tester set to Peter Peterson

comment:7 Changed 7 years ago by Martyn Gigg

Release the HelpWindow QProcess while MantidPlot is shutting down.

If left until the HelpWindow::destructor then the MantidPlot process hangs on shutdown inside the QProcess destructor waiting on a mutex. It is most likely that this because the Qt framework is now too far gone at the point when the singletons are released. Refs #6873

Changeset: 4dd82c767f18ffe343b5cfedfbe5a38c16a07661

comment:8 Changed 7 years ago by Peter Peterson

  • Status changed from verifying to closed

comment:9 Changed 7 years ago by Martyn Gigg

Release the HelpWindow QProcess while MantidPlot is shutting down.

If left until the HelpWindow::destructor then the MantidPlot process hangs on shutdown inside the QProcess destructor waiting on a mutex. It is most likely that this because the Qt framework is now too far gone at the point when the singletons are released. Refs #6873

Changeset: 4dd82c767f18ffe343b5cfedfbe5a38c16a07661

comment:10 Changed 7 years ago by Martyn Gigg

Release the HelpWindow QProcess while MantidPlot is shutting down.

If left until the HelpWindow::destructor then the MantidPlot process hangs on shutdown inside the QProcess destructor waiting on a mutex. It is most likely that this because the Qt framework is now too far gone at the point when the singletons are released. Refs #6873

Changeset: 4dd82c767f18ffe343b5cfedfbe5a38c16a07661

comment:11 Changed 7 years ago by Martyn Gigg

Release the HelpWindow QProcess while MantidPlot is shutting down.

If left until the HelpWindow::destructor then the MantidPlot process hangs on shutdown inside the QProcess destructor waiting on a mutex. It is most likely that this because the Qt framework is now too far gone at the point when the singletons are released. Refs #6873

Changeset: 4dd82c767f18ffe343b5cfedfbe5a38c16a07661

comment:12 Changed 7 years ago by Martyn Gigg

Release the HelpWindow QProcess while MantidPlot is shutting down.

If left until the HelpWindow::destructor then the MantidPlot process hangs on shutdown inside the QProcess destructor waiting on a mutex. It is most likely that this because the Qt framework is now too far gone at the point when the singletons are released. Refs #6873

Changeset: 4dd82c767f18ffe343b5cfedfbe5a38c16a07661

comment:13 Changed 7 years ago by Martyn Gigg

Release the HelpWindow QProcess while MantidPlot is shutting down.

If left until the HelpWindow::destructor then the MantidPlot process hangs on shutdown inside the QProcess destructor waiting on a mutex. It is most likely that this because the Qt framework is now too far gone at the point when the singletons are released. Refs #6873

Changeset: 4dd82c767f18ffe343b5cfedfbe5a38c16a07661

comment:14 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 7719

Note: See TracTickets for help on using tickets.