ATTEMPTED_SWITCH_FROM_DPC without wait operations
От: Alexey__Boborykin  
Дата: 24.02.15 07:46
Оценка:
Всем здравствуйте.
есть ndis5 intermediate с синькой.
падение происходит только у одного клиента, рандомно, но в одном месте на вызове KeSetEvent(Wait == FALSE), IRLQ = DISPATCH_LEVEL
это стек после вызова ProtocolReceivePacket.
Функции KeWait* близко нет, голову уже сломал.

ATTEMPTED_SWITCH_FROM_DPC (b8)
A wait operation, attach process, or yield was attempted from a DPC routine.
This is an illegal operation and the stack track will lead to the offending
code and original DPC routine.
Arguments:
Arg1: fffff88001ed8fc0, Original thread which is the cause of the failure
Arg2: fffffa800b515b50, New thread
Arg3: 0000000000000000, Stack address of the original thread
Arg4: 0000000000000000

// skipped

STACK_TEXT:
fffff880`01ef5fe0 fffff800`014c581e : fffff880`01ed8fc0 00000000`00000000 fffffa80`08565350 fffffa80`090dcff0 : nt!KiSwapContext+0x7a
fffff880`01ef6120 fffff880`036839eb : fffffa80`0b515b50 fffffa80`00000000 00000000`00000000 fffff880`036932a2 : nt!KeSetEvent+0x3dc
fffff880`01ef6190 fffff880`0368ae68 : fffffa80`0d9bd380 fffffa80`00000000 fffffa80`08569300 ffff0080`00000002 : mymodule!Event::Set+0x2b
fffff880`01ef61c0 fffff880`03684391 : fffffa80`06e6b9d0 fffffa80`090dc900 fffffa80`110d0201 fffff880`110dea00 : mymodule!PacketManagement::InsertReceivedTail+0xa8
fffff880`01ef61f0 fffff880`036849ee : fffffa80`090dc900 fffffa80`08b8e182 00000002`00000001 fffff880`03681a7a : mymodule!SpeedProcessing+0x91
fffff880`01ef6240 fffff880`03684d24 : fffffa80`090dc900 fffffa80`085bd901 fffffa80`090dc900 fffffa80`00000034 : mymodule!IPtReceive+0x6e
fffff880`01ef62c0 fffff880`0367eadd : fffffa80`085bd900 fffffa80`0bcd7e30 fffffa80`0be99c10 fffff880`029d02c9 : mymodule!IPtReceiveFullPacket+0xf4
fffff880`01ef6320 fffff880`00fc2afc : fffffa80`085bd900 fffffa80`0bcd7e30 fffffa80`0ed4db30 fffff880`016675b5 : mymodule!PtReceivePacket+0x7d
ndis intermediate bsod
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.