Chipshouter strange temperature readings

We are using the Chipwhisperer to trigger the Chipshouter using the SMB port.
Our Chipshouter is air cooled and normally the temperature is around 26-30C.
However sometimes the temperature readout is locked to 59 on all devices. Like this:

armed               = False
voltage = 
    set      = 400
    measured = 21
pulse = 
    width        = 160
    repeat       = 1
    deadtime     = 10
    actual width = 160
state               = disarmed
faults_current      = []
faults_latched      = []
temperature_mosfet  = 59
temperature_diode   = 59
temperature_xformer = 59
arm_timeout         = 2
hwtrig_term         = False
hwtrig_mode         = True
emode               = False
mute                = False
absent_temp         = 60
pat_enable          = False
pat_wave            = 
reset_config        = 0
reset               = False
board_id            = ******:2.0.3

Can you tell me why all temperatures are locked to : 59 ?

Incidentally it is only in this state that our Chipshouter is stable. Normally we get these errors after 5-6 minutes of running:

faults_current = [‘fault_trigger_glitch’]
faults_latched = [‘fault_trigger_glitch’, ‘fault_temp_sensor’]

IIRC this is an issue caused by the ChipShouter reading its temperature sensors during a glitch. Basically, you need to stop glitching for a moment and read the temperature using trigger_safe. It’s likely that the faults you’re seeing are also caused by this.

Thank you for the tip. I managed to get it more stable by implementing the following code.

for loop in range(_GLITCH_ITERATIONS_PER_LOCATION):   
     while not cs.trigger_safe:
          sleep(0.1)  # must have a delay here 
          continue

          print(f"diode = {cs.temperature_diode} mosfet = {cs.temperature_mosfet} xformer = {cs.temperature_xformer}")
          sleep(_GLITCH_DELAY_BETWEEN_PULSES)  
          cs.pulse = 1

The key to the puzzle was adding the sleep in the cs.trigger_safe loop. If there is no sleep the Chipshouter complains.