Enviro Urban time jumps and stops recording

I have the Enviro Urban set to turn on every 2 minutes, acquire 3 measurements and then turn off. This works fine for a few sequences but eventually it fails. The below logs show what’s happening:

I’m not connecting to wifi or re-syncing the system time or anything like that, as this will be used in a remote location. In config.py I have resync_frequency = 10000, so there shouldn’t be any issues with it attempting to sync the RTC. For some reason at the point of failure the time is jumping forward by over 30 minutes (see log.txt in image), then at this point it seems to just freeze. Note the data aren’t recorded from that last reading and last_time.txt is roughly during the last readings. The time jumps forward at the point of starting the sensor in the log.txt file. Any ideas what is going on?

There’s a chance the time jump is actually related to the point at which I plug back into the computer. I just tried again and plugged straight back in as soon as I saw it hit the error, and the time is much less significant:

2000-01-01 00:00:36 [info     / 106kB]   - seconds since last reading: 7
2000-01-01 00:01:32 [debug    / 104kB]   - starting sensor

So why is it freezing at this point? It runs fine sometimes, and these 3 acquisitions are just in a loop, so I can’t see how my programming could cause this issue. Do I have a faulty board?

After plugging into the computer the board first typically isn’t recognised when it is in this frozen state, then I unplug, replug, it is recognised, and the sensor fan starts running permanently and the log file updates one line further and freezes here:

2000-01-01 00:01:32 [debug    / 102kB]   - wait 5 seconds for airflow