Yesterday I tried opening up a standard dump file from a 64-bit Windows 2008 Server. It opened up just fine in windbg, but when I tried executing a command I got the following:
0:000> !dumpheap -stat
The garbage collector data structures are not in a valid state for traversal.
It is either in the "plan phase," where objects are being moved around, or
we are at the initialization or shutdown of the gc heap. Commands related to
displaying, finding or traversing objects as well as gc heap segments may not
work properly. !dumpheap and !verifyheap may incorrectly complain of heap
Error requesting GC Heap data
Unable to build snapshot of the garbage collector state
This can happen if both the .NET 4.0 and the .NET 2.0 runtime are loaded in the same process. I actually tried using .loadby on both Framework versions and neither of them returned with an error
0:000> .loadby sos mscorwks
0:000> .loadby sos clr
The easiest way to resolve this is to run the following command:
0:000> .cordll -I mscorwks.dll -N -ve
After that, simply reload the extensions you want to use and you should be fine.