bsod bug-cheak 0x50

Тема в разделе "WASM.NT.KERNEL", создана пользователем deshiko, 12 янв 2010.

  1. deshiko

    deshiko New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2009
    Сообщения:
    42
    Доброго времени суток,

    эпизодически происходит BSOD с 50 ошибкой - PAGE_FAULT_IN_NONPAGED_AREA (50), {e4027000, 0, 8052e787, 1}

    ошибка происходит здесь
    a740e990 80500ebd a740ea0c a740ed64 804d8228 nt!RtlInitUnicodeString+0x1b
    1: kd> .trap 0xffffffffa740e8f0
    ErrCode = 00000000
    eax=00000000 ebx=8055a3a0 ecx=ffffff2f edx=a740ec3c esi=e3858668 edi=e4027000
    eip=8052e787 esp=a740e964 ebp=a740ec88 iopl=0 nv up ei pl zr na pe nc
    cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00010246
    nt!RtlInitUnicodeString+0x1b:
    8052e787 f266af repne scas word ptr es:[edi]

    При этом по адресу в edi = e4027000 храниться следующие
    1: kd> dd e4027000
    e4027000 ???????? ???????? ???????? ????????

    то есть проблема как я понимаю в том что идет обращение к области памяти но она уже выгружена на диск.

    Первая проблема: непонятно в каком драйвере вообще конфликт.

    Вторая если эта проблема не в моем драйвере, а судя по всему это так, то как с этим бороться!

    дамп далее

    Код (Text):
    1. *******************************************************************************
    2. *                                                                             *
    3. *                        Bugcheck Analysis                                    *
    4. *                                                                             *
    5. *******************************************************************************
    6.  
    7. Use !analyze -v to get detailed debugging information.
    8.  
    9. BugCheck 50, {e4027000, 0, 8052e787, 1}
    10.  
    11.  
    12. Could not read faulting driver name
    13. Probably caused by : ntkrpamp.exe ( nt!KiTrap0E+d0 )
    14.  
    15. Followup: MachineOwner
    16. ---------
    17.  
    18. 1: kd> !analyze -v
    19. *******************************************************************************
    20. *                                                                             *
    21. *                        Bugcheck Analysis                                    *
    22. *                                                                             *
    23. *******************************************************************************
    24.  
    25. PAGE_FAULT_IN_NONPAGED_AREA (50)
    26. Invalid system memory was referenced.  This cannot be protected by try-except,
    27. it must be protected by a Probe.  Typically the address is just plain bad or it
    28. is pointing at freed memory.
    29. Arguments:
    30. Arg1: e4027000, memory referenced.
    31. Arg2: 00000000, value 0 = read operation, 1 = write operation.
    32. Arg3: 8052e787, If non-zero, the instruction address which referenced the bad memory
    33.     address.
    34. Arg4: 00000001, (reserved)
    35.  
    36. Debugging Details:
    37. ------------------
    38.  
    39.  
    40. Could not read faulting driver name
    41.  
    42. READ_ADDRESS:  e4027000
    43.  
    44. FAULTING_IP:
    45. nt!RtlInitUnicodeString+1b
    46. 8052e787 f266af          repne scas word ptr es:[edi]
    47.  
    48. MM_INTERNAL_CODE:  1
    49.  
    50. CUSTOMER_CRASH_COUNT:  2
    51.  
    52. DEFAULT_BUCKET_ID:  DRIVER_FAULT
    53.  
    54. BUGCHECK_STR:  0x50
    55.  
    56. TRAP_FRAME:  a740e8f0 -- (.trap 0xffffffffa740e8f0)
    57. ErrCode = 00000000
    58. eax=00000000 ebx=8055a3a0 ecx=ffffff2f edx=a740ec3c esi=e3858668 edi=e4027000
    59. eip=8052e787 esp=a740e964 ebp=a740ec88 iopl=0         nv up ei pl zr na pe nc
    60. cs=0008  ss=0010  ds=0023  es=0023  fs=0030  gs=0000             efl=00010246
    61. nt!RtlInitUnicodeString+0x1b:
    62. 8052e787 f266af          repne scas word ptr es:[edi]
    63. Resetting default scope
    64.  
    65. LAST_CONTROL_TRANSFER:  from 8052036a to 804f9f33
    66.  
    67. STACK_TEXT:  
    68. a740e870 8052036a 00000050 e4027000 00000000 nt!KeBugCheckEx+0x1b
    69. a740e8d8 80544578 00000000 e4027000 00000000 nt!MmAccessFault+0x9a8
    70. a740e8d8 8052e787 00000000 e4027000 00000000 nt!KiTrap0E+0xd0
    71. a740e990 80500ebd a740ea0c a740ed64 804d8228 nt!RtlInitUnicodeString+0x1b
    72. a740e9c0 80502343 fd050f80 ffffffff b340582e nt!ZwSetInformationFile+0x11
    73. a740ec88 8056add4 895cbfc0 00000001 a740ecd8 nt!KiInsertTimerTable+0x1b
    74. a740ecbc 80621f19 00000001 a740ecd8 a740ed64 nt!CmpCallCallBacks+0x50
    75. a740ed44 8054161c 000009d4 01326244 00000000 nt!NtSetValueKey+0x20d
    76. a740ed44 7c90e4f4 000009d4 01326244 00000000 nt!KiFastCallEntry+0xfc
    77. WARNING: Frame IP not in any known module. Following frames may be wrong.
    78. 0132621c 00000000 00000000 00000000 00000000 0x7c90e4f4
    79.  
    80.  
    81. STACK_COMMAND:  kb
    82.  
    83. FOLLOWUP_IP:
    84. nt!KiTrap0E+d0
    85. 80544578 85c0            test    eax,eax
    86.  
    87. SYMBOL_STACK_INDEX:  2
    88.  
    89. SYMBOL_NAME:  nt!KiTrap0E+d0
    90.  
    91. FOLLOWUP_NAME:  MachineOwner
    92.  
    93. MODULE_NAME: nt
    94.  
    95. IMAGE_NAME:  ntkrpamp.exe
    96.  
    97. DEBUG_FLR_IMAGE_TIMESTAMP:  4802516a
    98.  
    99. FAILURE_BUCKET_ID:  0x50_nt!KiTrap0E+d0
    100.  
    101. BUCKET_ID:  0x50_nt!KiTrap0E+d0
    102.  
    103. Followup: MachineOwner
    104. ---------
    105.  
    106. 1: kd> .trap 0xffffffffa740e8f0
    107. ErrCode = 00000000
    108. eax=00000000 ebx=8055a3a0 ecx=ffffff2f edx=a740ec3c esi=e3858668 edi=e4027000
    109. eip=8052e787 esp=a740e964 ebp=a740ec88 iopl=0         nv up ei pl zr na pe nc
    110. cs=0008  ss=0010  ds=0023  es=0023  fs=0030  gs=0000             efl=00010246
    111. nt!RtlInitUnicodeString+0x1b:
    112. 8052e787 f266af          repne scas word ptr es:[edi]
    113.  
    114.  
    115. 1: kd> dd e4027000
    116. e4027000  ???????? ???????? ???????? ????????
    117. e4027010  ???????? ???????? ???????? ????????
    118. e4027020  ???????? ???????? ???????? ????????
    119. e4027030  ???????? ???????? ???????? ????????
    120. e4027040  ???????? ???????? ???????? ????????
    121. e4027050  ???????? ???????? ???????? ????????
    122. e4027060  ???????? ???????? ???????? ????????
    123. e4027070  ???????? ???????? ???????? ????????
     
  2. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    PAGE_FAULT_IN_NONPAGED_AREA это обращение к памяти, которая была не выделена, уже освобождена, или в пространство сессии из не-GUI потока.
    вообщем по совершенно невалидному адресу.
    выгрузка на диск тут не при чем.
    ты передаешь неверный указатель в RtlInitUnicodeString. Покажи код вызова этой ф-ии
     
  3. deshiko

    deshiko New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2009
    Сообщения:
    42
    В том то и дело что я не могу понять, в чьем драйвере ошибка. Из дампа это мне не ясно. Причем сбой получается раз в сутки или реже?
     
  4. deshiko

    deshiko New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2009
    Сообщения:
    42
    список драйверов:
    Код (Text):
    1. 1: kd> lm
    2. start    end        module name
    3. 804d7000 806e4000   nt       # (pdb symbols)          c:\symbols\ntkrpamp.pdb\7D6290E03E32455BB0E035E38816124F1\ntkrpamp.pdb
    4. 806e4000 80704d00   hal        (deferred)            
    5. a7529000 a7553180   kmixer     (deferred)            
    6. a7784000 a77c4a80   HTTP       (deferred)            
    7. a7865000 a7879480   wdmaud     (deferred)            
    8. a7a26000 a7a2a000   prepdrv    (deferred)            
    9. a7a32000 a7a55180   Fastfat    (deferred)            
    10. a7f9e000 a7fa2000   vstor2_ws60   (deferred)            
    11. a7fa6000 a7ff7880   srv        (deferred)            
    12. a8070000 a8140000   vmx86      (deferred)            
    13. a8208000 a8234180   mrxdav     (deferred)            
    14. a8261000 a8264000   BS         (deferred)            
    15. a83b5000 a83b8900   ndisuio    (deferred)            
    16. a84dd000 a84f4900   dump_atapi   (deferred)            
    17. a851d000 a8532000   ISODrive   (deferred)            
    18. a8532000 a853e000   vmci       (deferred)            
    19. a8552000 a855c000   hcmon      (deferred)            
    20. a8572000 a8580d80   sysaudio   (deferred)            
    21. a85d2000 a8606000   klif       (deferred)            
    22. a8606000 a8675780   mrxsmb     (deferred)            
    23. a8676000 a86a0e80   rdbss      (deferred)            
    24. a86a1000 a86d4000   truecrypt   (deferred)            
    25. a86d4000 a86f5b80   afd        (deferred)            
    26. a871e000 a8745c00   netbt      (deferred)            
    27. a8746000 a879e380   tcpip      (deferred)            
    28. a87bb000 a87bd900   Dxapi      (deferred)            
    29. a87c7000 a87d9600   ipsec      (deferred)            
    30. a8836000 a8838f00   ws2ifsl    (deferred)            
    31. a884a000 a886da80   portcls    (deferred)            
    32. a886e000 a8cc4000   RtkHDAud   (deferred)            
    33. b8de4000 b8de6280   rasacd     (deferred)            
    34. b8f7c000 b8fd9f00   update     (deferred)            
    35. b8fda000 b9009e80   rdpdr      (deferred)            
    36. b900a000 b901ae00   psched     (deferred)            
    37. b901b000 b9031580   ndiswan    (deferred)            
    38. b9032000 b9045900   parport    (deferred)            
    39. b9046000 b905d000   Rtenicxp   (deferred)            
    40. b905d000 b907f700   ks         (deferred)            
    41. b9080000 b90a8000   HDAudBus   (deferred)            
    42. b90a8000 b90cb200   USBPORT    (deferred)            
    43. b90cc000 b964a460   igxpmp32   (deferred)            
    44. b964b000 b965ef00   VIDEOPRT   (deferred)            
    45. b969f000 b96ae900   Cdfs       (deferred)            
    46. b9aaa000 b9aadd80   serenum    (deferred)            
    47. b9d22000 b9d3f000   kl1        (deferred)            
    48. b9d3f000 b9d58b80   Mup        (deferred)            
    49. b9d59000 b9d85980   NDIS       (deferred)            
    50. b9d86000 b9e12600   Ntfs       (deferred)            
    51. b9e13000 b9e29880   KSecDD     (deferred)            
    52. b9e2a000 b9e3bf00   sr         (deferred)            
    53. b9e3c000 b9e5c000   fltMgr     (deferred)            
    54. b9e5c000 b9e73900   atapi      (deferred)            
    55. b9e74000 b9e99800   dmio       (deferred)            
    56. b9e9a000 b9eb8a00   ftdisk     (deferred)            
    57. b9eb9000 b9ec9b80   pci        (deferred)            
    58. b9eca000 b9ef7f80   ACPI       (deferred)            
    59. b9ef8000 b9f34000   DSFOleaut32   (deferred)            
    60. b9f34000 b9fa7000   dsfksvcs   (deferred)            
    61. ba0a8000 ba0b1280   isapnp     (deferred)            
    62. ba0b8000 ba0c7100   ohci1394   (deferred)            
    63. ba0c8000 ba0d5080   1394BUS    (deferred)            
    64. ba0d8000 ba0e2580   MountMgr   (deferred)            
    65. ba0e8000 ba0f4b00   VolSnap    (deferred)            
    66. ba0f8000 ba100e00   disk       (deferred)            
    67. ba108000 ba114180   CLASSPNP   (deferred)            
    68. ba118000 ba120b80   PxHelp20   (deferred)            
    69. ba158000 ba166880   usbhub     (deferred)            
    70. ba168000 ba176b00   drmk       (deferred)            
    71. ba188000 ba190700   wanarp     (deferred)            
    72. ba198000 ba1a6d80   arp1394    (deferred)            
    73. ba1a8000 ba1b0780   netbios    (deferred)            
    74. ba1c8000 ba1d2e00   Fips       (deferred)            
    75. ba218000 ba221f00   intelppm   (deferred)            
    76. ba228000 ba232480   imapi      (deferred)            
    77. ba238000 ba247600   cdrom      (deferred)            
    78. ba248000 ba256400   redbook    (deferred)            
    79. ba258000 ba267180   nic1394    (deferred)            
    80. ba268000 ba277e00   serial     (deferred)            
    81. ba278000 ba284f80   i8042prt   (deferred)            
    82. ba288000 ba294880   rasl2tp    (deferred)            
    83. ba298000 ba2a2200   raspppoe   (deferred)            
    84. ba2a8000 ba2b3d00   raspptp    (deferred)            
    85. ba2b8000 ba2c0900   msgpc      (deferred)            
    86. ba2c8000 ba2d1f00   termdd     (deferred)            
    87. ba318000 ba321e80   NDProxy    (deferred)            
    88. ba328000 ba32e180   PCIIDEX    (deferred)            
    89. ba330000 ba334d00   PartMgr    (deferred)            
    90. ba338000 ba33e000   dsfroot    (deferred)            
    91. ba340000 ba344a80   TDI        (deferred)            
    92. ba390000 ba395080   usbuhci    (deferred)            
    93. ba398000 ba39f600   usbehci    (deferred)            
    94. ba3a0000 ba3a6b00   fdc        (deferred)            
    95. ba3a8000 ba3adb00   mouclass   (deferred)            
    96. ba3b0000 ba3b6100   kbdclass   (deferred)            
    97. ba3b8000 ba3bd000   VMkbd      (deferred)            
    98. ba3c0000 ba3c8000   klim5      (deferred)            
    99. ba3c8000 ba3cc580   ptilink    (deferred)            
    100. ba3d0000 ba3d4080   raspti     (deferred)            
    101. ba3e0000 ba3e5000   flpydisk   (deferred)            
    102. ba3f0000 ba3f5200   vga        (deferred)            
    103. ba3f8000 ba3fca80   Msfs       (deferred)            
    104. ba400000 ba407880   Npfs       (deferred)            
    105. ba418000 ba41e000   vmnetbridge   (deferred)            
    106. ba430000 ba435000   PTI        (deferred)            
    107. ba440000 ba444500   watchdog   (deferred)            
    108. ba448000 ba44d000   RegFilter   (deferred)            
    109. ba478000 ba47d000   vmnetuserif   (deferred)            
    110. ba4b0000 ba4b5680   rkhdrv10   (deferred)            
    111. ba4b8000 ba4bb000   BOOTVID    (deferred)            
    112. ba554000 ba556780   ndistapi   (deferred)            
    113. ba568000 ba56bc80   mssmbios   (pdb symbols)          c:\symbols\mssmbios.pdb\9940673F3B9A4BD682DF9D96A12A355C1\mssmbios.pdb
    114. ba56c000 ba56f000   vmnetadapter   (deferred)            
    115. ba570000 ba573000   VMNET      (deferred)            
    116. ba5a8000 ba5a9b80   kdcom      (deferred)            
    117. ba5aa000 ba5ab100   WMILIB     (deferred)            
    118. ba5ac000 ba5ae000   dmload     (deferred)            
    119. ba5fc000 ba5fd100   swenum     (deferred)            
    120. ba5fe000 ba5ff280   USBD       (deferred)            
    121. ba604000 ba605f00   Fs_Rec     (deferred)            
    122. ba606000 ba607080   Beep       (deferred)            
    123. ba608000 ba609080   mnmdd      (deferred)            
    124. ba60a000 ba60b080   RDPCDD     (deferred)            
    125. ba610000 ba611100   dump_WMILIB   (deferred)            
    126. ba62a000 ba62bb00   ParVdm     (deferred)            
    127. ba62e000 ba630000   VMparport   (deferred)            
    128. ba670000 ba670d00   pciide     (deferred)            
    129. ba6f3000 ba6f4000   smsmdm     (deferred)            
    130. ba701000 ba701c00   audstub    (deferred)            
    131. ba719000 ba719d00   dxgthk     (deferred)            
    132. ba73b000 ba73bb80   Null       (deferred)            
    133. bf000000 bf011600   dxg        (deferred)            
    134. bf012000 bf024000   igxprd32   (deferred)            
    135. bf024000 bf04e000   igxpgd32   (deferred)            
    136. bf04e000 bf1f16a0   igxpdv32   (deferred)            
    137. bf1f2000 bf48d000   igxpdx32   (deferred)            
    138. bf800000 bf9c2a00   win32k     (deferred)            
    139. bffa0000 bffe5c00   ATMFD      (deferred)            
    140.  
    141. Unloaded modules:
    142. ba3d8000 ba3df000   USBSTOR.SYS
    143. ba490000 ba497000   USBSTOR.SYS
    144. ba438000 ba43f000   USBSTOR.SYS
    145. a7817000 a7842000   kmixer.sys
    146. ba6bc000 ba6bd000   drmkaud.sys
    147. a85c2000 a85cf000   DMusic.sys
    148. a7842000 a7865000   aec.sys
    149. a8445000 a8453000   swmidi.sys
    150. ba65a000 ba65c000   splitter.sys
    151. ba3e8000 ba3ed000   Cdaudio.SYS
    152. b9aba000 b9abd000   Sfloppy.SYS
     
  5. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Залей дамп куда-нибудь
     
  6. x64

    x64 New Member

    Публикаций:
    0
    Регистрация:
    29 июл 2008
    Сообщения:
    1.370
    Адрес:
    Россия
    По-моему, тебе следует выспаться, ибо:

    1. Файл дампа в первом посте прикреплён.
    2. Функцию RtlInitUnicodeString() вызывает не его драйвер.
     
  7. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    x64
    Да, вероятно..
    Но в любом случае там минидамп, хотелось бы созерцать kernel memory dump, ибо:

    Код (Text):
    1. 1: kd> !thread
    2. GetPointerFromAddress: unable to read from 80562134
    3. THREAD 89bd8b40  Cid 0580.09ec  Teb: 7ffa3000 Win32Thread: e10f2b70 RUNNING on processor 1
    4. Unable to read Impersonation Information at e55ea948
    5. GetUlongFromAddress: unable to read from 805621cc
    6. Owning Process            89474558       Image:         <Unknown>
    7. ffdf0000: Unable to get shared data
    8. Wait Start TickCount      843880      
    9. Context Switch Count      4925                 LargeStack
    10. ReadMemory error: Cannot get nt!KeMaximumIncrement value.
    11. UserTime                  00:00:00.0000
    12. KernelTime                00:00:00.0000
    13. Win32 Start Address 0x769b3c11
    14. Start Address 0x7c8106e9
    15. Stack Init a740f000 Current a740eac4 Base a740f000 Limit a740c000 Call 0
    16. Priority 1 BasePriority 1 PriorityDecrement 0 DecrementCount 16
    17. ChildEBP RetAddr  Args to Child              
    18. a740e870 8052036a 00000050 e4027000 00000000 nt!KeBugCheckEx+0x1b (FPO: [Non-Fpo])
    19. a740e8d8 80544578 00000000 e4027000 00000000 nt!MmAccessFault+0x9a8 (FPO: [Non-Fpo])
    20. a740e8d8 8052e787 00000000 e4027000 00000000 nt!KiTrap0E+0xd0 (FPO: [0,0] TrapFrame @ a740e8f0)
    21. a740e990 80500ebd a740ea0c a740ed64 804d8228 nt!RtlInitUnicodeString+0x1b (FPO: [2,2,0])
    22. a740e9c0 80502343 fd050f80 ffffffff b340582e nt!ZwSetInformationFile+0x11 (FPO: [5,0,0])
    23. a740ec88 8056add4 895cbfc0 00000001 a740ecd8 nt!KiInsertTimerTable+0x1b (FPO: [Non-Fpo])
    24. a740ecbc 80621f19 00000001 a740ecd8 a740ed64 nt!CmpCallCallBacks+0x50 (FPO: [Non-Fpo])
    25. a740ed44 8054161c 000009d4 01326244 00000000 nt!NtSetValueKey+0x20d (FPO: [Non-Fpo])
    26. a740ed44 7c90e4f4 000009d4 01326244 00000000 nt!KiFastCallEntry+0xfc (FPO: [0,0] TrapFrame @ a740ed64)
    27. WARNING: Frame IP not in any known module. Following frames may be wrong.
    28. 0132621c 00000000 00000000 00000000 00000000 0x7c90e4f4
     
  8. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    deshiko
    Сгенери kernel memory dump и дай вывод

    !thread
    + новый !analyze -v с символами ntdll, интересно на юзермодный стек вызовов посмотреть.
    + что-то мне кажется, что стек неверный в первом посте, не хватает скорее всего символов для драйверов.
     
  9. x64

    x64 New Member

    Публикаций:
    0
    Регистрация:
    29 июл 2008
    Сообщения:
    1.370
    Адрес:
    Россия
    Угу, есть такое подозрение.
     
  10. deshiko

    deshiko New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2009
    Сообщения:
    42
    С символами порядок, во всяком случаи символы к моим дровам в c:\Symbols есть точно,
    с полным дампом выложу при первом появлении очередного BSOD.
     
  11. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Нет же, символы нужны к системным драйверам типа Ntfs.sys и другим. Много записей в стеке вызовов пропущено скорее всего, которые относятся к системным драйверам
     
  12. x64

    x64 New Member

    Публикаций:
    0
    Регистрация:
    29 июл 2008
    Сообщения:
    1.370
    Адрес:
    Россия
    Вообще, ошибка наведённая скорее всего. Что за тип драйвера-то хоть?
     
  13. Sol_Ksacap

    Sol_Ksacap Миша

    Публикаций:
    0
    Регистрация:
    6 мар 2008
    Сообщения:
    623
    deshiko
    Какой интересный стек вызовов. Была вызвана NtSetValueKey, а затем была сделана попытка позвать регистровые колбеки – всё верно, внутри NtSetValueKey есть вызов CmpCallCallBacks. Однако KiInsertTimerTable? Вызывающая ZwSetInformationFile? Делает мало чувства. (Смещения маленькие, так что это не ошибочные символы).

    Итак, в чём причина? Вероятно, некий драйвер устанавливает какой-то странный регистровый колбек. См. "CmRegisterCallbackEx".
    Беглый просмотр кода CmRegisterCallbackEx показывает, что регистровые колбеки хранятся в связном списке, голова которого имеет имя "nt!CallbackListHead". LIST_ENTRY, похоже, находится в начале каждой структуры, описывающей колбек. Необходимо пролистать все колбек-структуры (на живой системе или в ядерном\полном дампе) в поисках смещений на драйвер, установивший колбек (команды "!list", "dps"). По умолчанию колбеков в системе, по всей видимости, быть не должно.
     
  14. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Sol_Ksacap
    Ну стек, очевидно, неверен. Пропущено несколько записей. Скорее всего каллбек ушел в драйвер какой-то, а драйвер уже вызвал ZwSetInformationFile. но этой строчки нет и без этих строк сказать что-либо трудно.
    Нужны просто символы для системных драйверов.
     
  15. Sol_Ksacap

    Sol_Ksacap Миша

    Публикаций:
    0
    Регистрация:
    6 мар 2008
    Сообщения:
    623
    deshiko
    А, "CmRegisterCallbackEx" появилась в висте – в xp пользуется "CmRegisterCallback", и структуры колбеков там в виде массива указателей организованы ("CmpCallBackVector"). Структуры есть в wrk, оказывается. (Сначала лень было смотреть минидамп, поэтому предыдущей пост писался по дизасму висты и семёрки).

    Great
    Ну мы и говорим, что стек, мол, делает мало чувства :)

    deshiko
    В общем, взглянули на сырой стек. RegFilter.sys – твой драйвер? Как бы то ни было, этот драйвер делает предположение насчёт нуль-терминированности строки, которая не нуль-терминирована. Например, буфер внутри UNICODE_STRING, которая передаётся в качестве параметра в DriverEntry, не обязан быть нуль-терминированным. Всё это объясняет и такую периодичность падений – часто RtlInitUnicodeString натыкается на какой-нибудь левый нуль, а иногда поиск таки доходит до нестраничной области.
     
  16. deshiko

    deshiko New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2009
    Сообщения:
    42
    Ошибку по вашему указанию нашел.
    Периодически инициализировал строку, и иногда она не кончалась нулем, поэтому BSOD.

    Спасибо всем за помощь!
     
  17. x64

    x64 New Member

    Публикаций:
    0
    Регистрация:
    29 июл 2008
    Сообщения:
    1.370
    Адрес:
    Россия
    Строки, передающиеся как PWSTR (точнее WCHAR*), всегда должны сопровождаться 2-мя (USHORT) или 4-мя (ULONG) байтами длины. В ядре строки не обязаны завершаться нулём. Ну а тем более, если уже есть на руках поле Length в структуре, почему бы им не воспользоваться. Нужно просто запомнить это правило.