Hi all. Yep, it’s me, Hyperion, again, with my darn POSIX subsystem again
Don’t worry, today I’m not here to bore you with my sloppy, buggy code. The
plat du jour, this time, is something hot: uname(), that exposes some weird
kind of bug in the Windows 2000 registry
uname() uses native registry functions to read the computer name from
registry (key
“\REGISTRY\MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName\ActiveComputerName”,
value “ComputerName”). When my test app is run in a debugger (Dependency
Walker’s profiler, specifically - I haven’t tried others, Windows 2000
boots too slow to do this kind of tests), uname() BSODs the machine with
the following error:
STOP: 0x00000051 ( 0x0000000C, 0xC0000005, 0xBE2EDB78, 0xBE2ED70 )
REGISTRY_ERROR
This isn’t an ordinary bugcheck. This is some serious crash: the kernel
doesn’t even create the memory dump. I can’t run a kernel debugger either,
as I can afford neither a second machine nor SoftIce. I hope that all those
funny numbers have some meaning
(BTW: when it’s run normally the app crashes with a non-continuable
exception. Specifically: an access violation, instruction 0x784ABAAC,
address 0xFFFFFFFD, read attempt. So, yes, my uname() has some bug, but,
hey, an user-mode app crashing the kernel is called “operating system bug”
in my book. Anyway, how am I supposed to know where the bug is, if when run
in a debugger my app crashes the system?
Now, what should I do? how do I file a bug report to Microsoft? What
information should I provide, and, more important, to what e-mail address?
And do you think it’s worth? are they known for giving constructive replies
to bug reports?
PS: I can send to the brave souls that wish to test this by themselves my
test app and psxdll.dll
You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com