Ticket #6873 (closed: fixed)
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
Change History
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: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