Asterisk

Forum Replies Created

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • in reply to: SMP BSOD ExFreeMemoryWithTag #6112
    Asterisk
    Participant

      @serga wrote:

      Problem is the follow:
      try to unload driver on smp-somputer and system gets bsod (in ExFreeMemoryWithTag), on uni-processor computer evererything is ok.
      Look through driver’s sources and see that memory is freed only once in that line, but debuger gets that ExFreeMemoryWithTag couses BAD_POOL_CALLER. Please tell, how could be fixed this problem or give some clue where to search solve of problem. thnaks a lot))

      This is not an SMP problem. Memory pool syncronized by internal kernel code. BAD_POOL_CALLER appear in ExFreeMemoryWithTag, when you try to free pool with wrong Tag parameter. In some kernels you got such BSOD in one processor systems. Some times you can get this bugcheck in WXP builds of yours driver caused by driver verifyer. For more information search DDK / IFS headers for ExFreePool redefines.

      in reply to: 64bit question #5811
      Asterisk
      Participant

        Может ты ему CRT подкинул 32-битный? Посмотри как параметры помещаются в стек и какая адресация у сегмента (при 32bit так и должно быть – процессор данные вывернет).

        in reply to: softice bugs? #5847
        Asterisk
        Participant

          @Alex Boborikin wrote:

          не помогло. иногда проявляется даже так – bpx funcName, появляется уже зависшее окно айса при входе в функцию. hyperthreading отключил. а иногда такой эффект достигается при очередном нажатии Ф10.

          Ну и что дальше, что hyperthreading отключил? А ядро винды какое осталось ntoskrnl.exe или ntkrnlmp.exe? (я не говорю уже о PAE)
          Попробуй ключиком в BOOT.INI насильно заставить винду грузить нужное ядро:
          /KERNEL=
          /HAL=
          см. линк: http://www.sysinternals.com/Information/bootini.html
          PS: У меня ICE успешно работает на Win2003 даже с сервиспаком, хотя с сервиспаком частенько теряет контекст задачи (вечно Compuware делает баги в KPROCESS структуре).

          in reply to: (Rtl)IoVolumeDeviceToDosName bug? #5849
          Asterisk
          Participant

            проблему решил и решил поделиться причиной:
            Когда идёт монтирование диска, то этого события ожидает несколько драйверов, в том числе и Mount Manager. Которому и посылается запрос на идентификацию буквы. Т.к. это происходит в контексте одного потока, то IoManager не передаёт IRP пакет, потому как занят завершением текущей IPR операции, соответственно не сигналит Event которого ждёт Mount Manger (его синхронизация).
            Что интересно, если оправить WorkItem собирать информацию, то его можно дождаться в контексте текущей обработки IRP. Т.е. это и есть workarround данной ситуации.

            PS: всем спасибо, кто попытался вопрос изучить. Задача была решена давно, буквально через день после поста проблемы. Но написал только сейчас, becouse был занят 🙂
            PSS: Жаль, что ручками парсить такое достаточно трудоёмкое занятие – репарс-поинты NTFS это страшная страшность, так бы отказался от использования данной функции 🙂

          Viewing 4 posts - 1 through 4 (of 4 total)