OK, so I uninstalled the desktop clock I referred to earlier, and after a while it crashed again.
I'm also running a third-party screensaver, so I changed that to one of the built-in ones. Within minutes it locked up again, but this time I'd got some timings so went hunting in the system log. Found this:
May 21 12:45:10 bill-fords-imac kernel[0]: NVChannel(OpenGL): Graphics channel timeout!
May 21 12:45:15 bill-fords-imac kernel[0]: NVDA(OpenGL): Channel exception! status = 0xffff info32 = 0x6 = Fifo: Parse Error
May 21 12:45:15 bill-fords-imac kernel[0]: 0000000c
May 21 12:45:15 bill-fords-imac kernel[0]: 00100000 00000039 00000000 00000800
May 21 12:45:15 bill-fords-imac kernel[0]: 00028212 00000328 00000000 00000002
May 21 12:45:15 bill-fords-imac kernel[0]: 00000000 beef3901 0000040d
May 21 12:45:15 bill-fords-imac kernel[0]: 0000000b
May 21 12:45:15: --- last message repeated 14 times ---
May 21 12:45:15 bill-fords-imac kernel[0]: NVDA(OpenGL): Channel exception! status = 0xffff info32 = 0x6 = Fifo: Parse Error
May 21 12:45:15 bill-fords-imac kernel[0]: 0000000b
May 21 12:45:15: --- last message repeated 6 times ---
May 21 12:45:15 bill-fords-imac kernel[0]: NVDA(OpenGL): Channel exception! status = 0xffff info32 = 0x3 = Fifo: Unknown Method Error
May 21 12:45:15 bill-fords-imac kernel[0]: 0000000b
May 21 12:45:15 bill-fords-imac kernel[0]: NVDA(OpenGL): Channel exception! status = 0xffff info32 = 0x3 = Fifo: Unknown Method Error
with the last few lines seemingly repeating
ad infinitum until I forced a restart.
The only thing (I think) that I haven't tried is to revert to a single monitor, because that would be a PITA. At the moment I'm running with the screensaver timing set to "Never", and keeping my fingers crossed
Anyone got any idea what the error messages in the log mean?