Hi,
Annoyed by the ever-growing blame on my patches as well as the continuing lack of attention regarding the SESSION_5 BSOD, I've taken the liberty to momentarily put on hold my current paid work and take a look at the issue (which thankfully only took 30 minutes).
As I suspected, it has absolutely nothing to do with any Ob stuff and is the result of ntdll being messed up after the recent changes to lib\intrlck. Revert them, clean interlck/ntdll, rebuild, and voila, you're back to a working ROS.
In defense to Hervé, you actually need to clean *TWICE*. That's right, you must write: make intrlck_clean && make intrlck_clean & make ntdll_clean & make ntdll_install.
It is *NOT* enough to merely write ntdll_clean, either.
I'm going to assume that Hervé only cleaned interlck once (as anyone would normally do) and kept using the "correct" library. As soon as he (and others) built a new copy of the tree (probably around one of my patches), the interlck lib now got cleaned twice and the broken one started coming into use. Score one for my complaints against rbuild.
If I could give some advice, next time, spend less time assigning blame on me, and actually try to find the bug (yes, this sounds arrogant, but it DOES get annoying to be the poster boy for boot BSODs. The last one I caused was over 12 months ago).
Best regards, Alex Ionescu