KD / Breakpoint failure?

Hello.
I’m currently trying to debug a graphics driver when it is first
being initialized. I tell WinDBG to break in at boot (ctrl-alt-k), and
then when it does break in I set the bp with bu driver!function (minus
the tickmarks, of course). I then get a weird message from WinDBG, and
seem to throw it into a weird state…

---- snip ----
Windows XP Kernel Version 2600 MP (1 procs) Checked x86 compatible
Built by: 2600.xpclient.010817-1148
Kernel base = 0x804d0000 PsLoadedModuleList = 0x805b2150
System Uptime: not available
Break instruction exception - code 80000003 (first chance)
nt!RtlpBreakWithStatusInstruction:
80579b54 cc int 3
kd> bl
kd> bu driver!DrvCopyBits
kd> g
KD: Attempt to set breakpoint bff15342 twice!
Unable to insert breakpoint 0 at bff15342, NTSTATUS 0xC0000001
“{Operation Failed} The requested operation was unsuccessful.”
bp0 at bff15342 failed
WaitForEvent failed
nt!DebugService2+f:
80580373 5d pop ebp

(I’m stuck at this point until I disable the breakpoint and go, at which
point WinDBG then hits the breakpoint!)

kd> bd *
kd> g
KD: write to 0xbff15342 ok
Break instruction exception - code 80000003 (first chance)
driver!DrvCopyBits:
bff15342 55 push ebp
kd> bl
0 d bff15342 0001 (0001) driver!DrvCopyBits

---- snip ----

It seems like the breakpoint logic is getting out of state… The
breakpoint is disabled, yet WinDBG breaks in once… after I go from
this point, the breakpoint is in fact disabled and everything runs, and
if I reset the breakpoint WinDBG works correctly… but the initial
error and then the odd breakpoint behavior seemed worth mentioning…

sean