JordiCorbilla/atom-table-monitor

Timeout option fills the atom table and breaks windows

gichristie opened this issue · 1 comments

Running large unit tests assemblies with the /timeout (v2) or --timeout (v3) console runner options causes Windows to become unstable.

Using Atom Table Monitor to debug this issue, it can be seen that, as the tests run, more and more RWM atoms are created (see format below), with varying uuid at the end.

$D012 = HwndWrapper[test-domain-XX.YY.ViewModel.UnitTest.dll;;fb358341-07ac-4eae-8803-21b7b9aca290]

This eventually fills the RWM atom table and the machine becomes unstable (i.e. debugger spontaneously breaks &c) and needs to be restarted.

As soon as the atom table is full, tests fail with the error code 0x80004005 claiming; register window class doesn't have enough memory to complete the operation.

Replicated with v2.5 and v3.10 console runners.

Running the same assemblies without the timeout option works ok.

Sorry, raised against this excellent tool in error.