Summary: if you get WindowServer lockups on High Sierra - it would be worth trying a downgrade to Sierra ... IS INCORRECT - see correction below.
I was getting the crashes described at the top of the thread on my late 2013 Mac Pro with the D300 graphics card, on El Capitan. About once a day on average.
I upgraded to High Sierra, and continued to get WindowServer crashes, but with a different error message. As before, the WindowServer would lock, with the SBOD. I could log in from another machine. The output of "log show" found that, at the time that WindowServer locked, I would get these messages, repeating until reboot:
WindowServer: (CoreDisplay) [ERROR] - Fallback GPU Display Pipe transaction submission failed
There was no obvious pattern to the lock-up - I replicated it on a fresh install with Apple standard software; it occurred using Safari and Virtualbox, I suppose coincidentally. It would only occur if I was using the GUI.
Apple claimed to have fixed this with a re-install of High Sierra, but I suspect they just didn't wait long enough for the crash to recur. However, they did say that Apple higher-up support said that there might be an incompatibility of the GPUs with High Sierra, and recommended downgrading to Sierra if the problem recurred. I asked them to do that downgrade, and since they did, I have not had the problem (now 4 days).
CORRECTION - STILL CRASHES UNDER SIERRA
It crashed again after 6 days with the same symptoms. Result of `log show` revealed new error messages at the time of the freeze:
2017-11-06 16:03:22.914095+0000 0x460 Fault 0x0 0 kernel: (IOAcceleratorFamily2) virtual IOReturn IOAccelEventMachine2::waitForStamp(int32_t, stamp_t, stamp_t *): initial wait for 1 second expired. Continue wait for 4 seconds. stamp 44765 (gpu_stamp=44764)
2017-11-06 16:03:24.034437+0000 0x70d18 Default 0x0 265 CommCenter: [com.apple.CommCenter.default] #I CSIAppInfo.ApplicationActivationObserver: handleLSNotitifcation_sync: Application exited: <private>
2017-11-06 16:03:24.198290+0000 0x73607 Default 0x0 2079 diskimages-helper: (Foundation) *** -[NSMachPort handlePortMessage:]: dropping incoming DO message because the connection is invalid
2017-11-06 16:03:24.369411+0000 0xdc5 Default 0x0 276 accountsd: (AccountsDaemon) [com.apple.accounts.core] "Idle-exit-preventing transaction ended!"
2017-11-06 16:03:26.915089+0000 0x460 Fault 0x0 0 kernel: (IOAcceleratorFamily2) virtual IOReturn IOAccelEventMachine2::waitForStamp(int32_t, stamp_t, stamp_t *): timeout waiting for stamp 44765 (gpu_stamp=44764)
2017-11-06 16:03:27.034800+0000 0x5c5 Fault 0x0 0 kernel: (IOAcceleratorFamily2) virtual void IOAccelEventMachineFast2::checkGPUProgress() - Signaling hardware error on channel 0..
2017-11-06 16:03:27.034822+0000 0x5c5 Fault 0x0 0 kernel: (IOAcceleratorFamily2) void IOAccelEventMachine2::signalHardwareError(eRestartRequest, int32_t): GPURestartSignaled stampIdx=0 type=2 prevType=0 numStamps=9
This time, when I contacted Apple support, they forwarded me to an advanced support person, who told me to bring it back to the Apple store. I wrote up the problems I was having in great detail and left this report on the machine - see :
https://gist.github.com/c93717cac11cfa5f8cae9ddc662c612e
Apple said they were testing the memory and the GPUs. They told me that my write-up had been very helpful in diagnosing the problem. Opening Safari when I got the machine back suggested they were using very long videos playing (or being recorded) on YouTube, to replicate the problem. They ended up replacing both the GPUs with new AMD FirePro D300s. I'll report back if the crash recurs.
Cheers,
Matthew