Experts,
I have a semingly strange case at hand here, maybe it is trivial to you. It
would be of immense help if someone can solve this for me.
I have a filesystem filter driver. The driver works as follows:
- It starts at boot time and attaches to all flesystems.
- However, till I send down an IOCTL to start my incarnation, it lets all
IRPS pass through it without interfering in anyway (sfilter types)
I need to deploy this driver on machines with any language installed,
especially Japanese, as that is a client requirement.
While testing, the driver runs well on Windows XP SP2 english, Win2K SP4
english, WinXP SP2 Japanese.
But the machine doesn’t boot if I have a Windows XP SP2 ENGLISH installed
with the Japanese language pack on it, and the default language as Japanese
set. I am unable to debug the problem. The machine doesnt crash, just seems
to loop on at the log on screen. Since I haven’t sent my IOCTL at this time,
all IRPS are passes through!
The debugger shows things to be working well as expected, and the IRP goes
to the IoCallDriver everytime.
How do I debug this issue?
–
Just to help someone who might be interested in answering…here is some
debugger output…
0: kd> !locks
**** DUMP OF ALL RESOURCE OBJECTS ****
KD: Scanning for held locks…
Resource @ 0x8655857c Shared 1 owning threads
Threads: 86250958-02<*>
Resource @ 0x865585c4 Exclusively owned
Threads: 86250958-01<*>
KD: Scanning for held
locks…
Resource @ 0x86383580 Shared 1 owning threads
Threads: 865bd99b-01<*> *** Actual Thread 865bd998
KD: Scanning for held locks…
Resource @ 0x8622d040 Shared 1 owning threads
Threads: 865bd99b-01<*> *** Actual Thread 865bd998
KD: Scanning for held locks…
Resource @ 0x8622f658 Shared 1 owning threads
Threads: 865bd723-01<*> *** Actual Thread 865bd720
4186 total locks, 5 locks currently held
0: kd> !locks -v 0x8655857c
Resource @ 0x8655857c Shared 1 owning threads
Threads: 86250958-02<*>
THREAD 86250958 Cid 01dc.0310 Teb: 7ffa9000 Win32Thread: 00000000
WAIT: (Executive) KernelMode Non-Alertable
865e1d8c Semaphore Limit 0x1
IRP List:
8635fe60: (0006,0094) Flags: 00000070 Mdl: 00000000
86274e28: (0006,01d8) Flags: 00000830 Mdl: 00000000
Impersonation token: e15b69d8 (Level Impersonation)
Owning Process 86228020
Wait Start TickCount 1195 Elapsed Ticks: 1290
Context Switch Count 19
UserTime 00:00:00.0000
KernelTime 00:00:00.0015
Start Address 0x7c810856
LPC Server thread working on message Id f2
Stack Init f5a5f000 Current f5a5e900 Base f5a5f000 Limit f5a5c000 Call
0
Priority 13 BasePriority 13 PriorityDecrement 0 DecrementCount 0
ChildEBP RetAddr
f5a5e918 80502b17 nt!KiSwapContext+0x2f (FPO: [EBP 0xf5a5e94c] [0,0,4])
f5a5e924 804fad6c nt!KiSwapThread+0x6b (FPO: [0,0,0])
f5a5e94c f75f3d5e nt!KeWaitForSingleObject+0x1c2 (FPO: [Non-Fpo])
WARNING: Frame IP not in any known module. Following frames may be wrong.
f5a5e978 804eeeb1 0xf75f3d5e
1 total locks, 1 locks currently held
process 86228020 is Winlogon
amitr0