Ticket #10475 (assigned)

Opened 6 years ago

Last modified 5 years ago

Large numbers of log statements cause the UI to hang

Reported by: Dan Nixon Owned by: Martyn Gigg
Priority: minor Milestone: Release 3.5
Component: GUI Keywords:
Cc: Blocked By:
Blocking: Tester:

Description

The following script demonstrates the problem well:

sample = CreateSampleWorkspace(NumBanks=100, Random=True, XUnit='Energy', XMin=-10, XMax=10, BinWidth=0.1)
symm_out = Symmetrise(Sample=sample, XMin=0.2, XMax=1, Verbose=True)

When run with log level set to information this takes around 30 seconds, on notice or higher it takes around 2.

It seems like the Result Log can't handle large amounts of log statements in a short time and until all of the queued log statements are printed the entire Mantid UI hangs.

Change History

comment:1 Changed 6 years ago by Dan Nixon

  • Component changed from Framework to User Interface

comment:2 Changed 6 years ago by Nick Draper

  • Owner set to Nick Draper
  • Status changed from new to assigned

comment:3 Changed 6 years ago by Nick Draper

  • Priority changed from major to minor
  • Owner changed from Nick Draper to Martyn Gigg
  • Milestone changed from Release 3.3 to Release 3.4

This is nothing to do with the volume of logging, but is affected by the logging level. Both in debug and release if the logging level is information or lower (even if you stop the symmetrise algorithm from logging) there is:

  1. a freeze of the application (if you try moving a gui window around during processing).
  2. a slight slow down in processing despite very little logging actually going on.

However this is not too urgent because:

  1. We have only been able to reproduce this with this algorithm so far.
  2. In release this algorithm runs in under 2 seconds.

comment:4 Changed 6 years ago by Martyn Gigg

  • Milestone changed from Release 3.4 to Release 3.5

comment:5 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 11317

Note: See TracTickets for help on using tickets.