Hi guys,
I faced a very strange Windows 7 x86 hang during boot (right before login screen, system remains responsive but shows a black desktop only and sometimes crashes in LSASS if I do several mouse clicks over that black desktop). I have some legacy filter which attaches to NPFS and hooks some FS requests including IRP_MJ_CREATE_NAMED_PIPE. The latter is only processed in its pre-processing phase, i.e. my filter simply gathers some info and calls IoSkipCurrentStackLocation and IoCallDriver without setting any completion routine and without changing a status which IoCallDriver returns. In other words, this handler behaves as a simple pass-thru. The problem is that when I turn on “Force pending I/O requests” option in Driver Verifier for my filter, this hang begins to occur stably each time I restart Windows 7. I checked all thread stacks but I didn’t find any with something related to IRP processing or to my filter driver. It’s worth to notice that with “Force pending I/O requests” option turned off this issue is not reproduced at all and OS seems to be stable, but of course, I’d like to check my filter with all DV options to get assured that everything is OK with my code. I’m really stuck, I don’t know what piece of my code may potentially force this OS behavior. Thanks a lot in advance, any advice and suggestions will be highly appreciated.
Best regards,
Konstantin Manurin