Ticket #7331 (closed: fixed)
MantidPlot log window lockout
Reported by: | Peter Peterson | Owned by: | Martyn Gigg |
---|---|---|---|
Priority: | critical | Milestone: | Release 3.2 |
Component: | GUI | Keywords: | |
Cc: | Blocked By: | ||
Blocking: | Tester: | Peter Peterson |
Description (last modified by Nick Draper) (diff)
This is seen clearly when running algorithms that have lots of logging and relatively quickly. What happens is that the main MantidPlot window locks up while printing log messages even though the algorithm has finished. You can keep better track of progress while watching the logging to the console which, generally, does not exhibit this problem.
A good candidate thing to run is CalibrateRectangularDetectors with logging set to information (or worse, debug). It runs tens (if not hundreds) of thousands of fits, and each one logs.
Change History
comment:1 Changed 7 years ago by Nick Draper
- Owner changed from Nick Draper to Martyn Gigg
- Status changed from new to assigned
comment:2 Changed 7 years ago by Peter Peterson
The annoyance is that the log window (aka console) of qtdeveloper does not have this problem displaying the same thing.
comment:3 Changed 7 years ago by Martyn Gigg
At the moment we write immediately to the log window when a signal is received. I think the answer is probably to have a the signals get queued and have a thread (outside gui) processing the queue. I might checkout the code in qtcreator to see what they do as it's been noticed before briefly that signals dispatched at high-rates can cause issues.
comment:4 Changed 7 years ago by Martyn Gigg
- Milestone changed from Release 2.6 to Release 2.7
Batch move to 2.7
comment:8 Changed 7 years ago by Nick Draper
- Component changed from Framework to User Interface
- Description modified (diff)
comment:9 Changed 7 years ago by Martyn Gigg
- Status changed from new to inprogress
Use QPlainTextEdit for log window rather than QTextEdit
It is only used for plain text and is much more light weight that the full text edit class. Refs #7331
Changeset: 4071b527f4f4b1d332a66ac7dc15af9e45483ac4
comment:10 Changed 7 years ago by Nick Draper
- Milestone changed from Backlog to Release 3.0
moved to Release 3.0 as these all seem to be active
comment:11 Changed 7 years ago by Nick Draper
- Milestone changed from Release 3.0 to Backlog
Moved out to backlog as not enough time in R3.0
comment:12 Changed 6 years ago by Peter Peterson
I just merged this locally and it is much better than the old code. It still bogs down under heavy load, but significantly better than before. It would be great if this could get finished off for the current release.
comment:13 Changed 6 years ago by Martyn Gigg
- Status changed from inprogress to verify
- Resolution set to fixed
Given that the simple change to a QPlainTextEdit seems to have made a big improvement and is worth doing alone I'll close this one now.
comment:14 Changed 6 years ago by Martyn Gigg
Branch: bugfix/7331_high_rate_logging
Tester: Use the CalibrateRectangularDetectors algorithm as suggested.
comment:16 Changed 6 years ago by Peter Peterson
- Status changed from verify to verifying
- Tester set to Peter Peterson
comment:17 Changed 6 years ago by Peter Peterson
Better, but still could use more work. Especially when there is lots logged to warning.
comment:18 Changed 6 years ago by Pete Peterson
- Status changed from verifying to closed
Merge remote-tracking branch 'origin/bugfix/7331_high_rate_logging'
Full changeset: b7b0803294d0c4ef60025287bff91118cc5a7be8
comment:19 Changed 5 years ago by Stuart Campbell
This ticket has been transferred to github issue 8177
I'm not sure if anything can be done with this, perhaps the answer is to warn developers of the cost of excessive logging?
What do you think?