What does this error mesg mean? When does it appear?

Discussion in 'Windows Vista Drivers' started by Praveen Kumar Amritaluru, Dec 23, 2006.

  1. I see the following mesg in windbg at times:

    "NdisAllocateNetBufferAndNetBufferList: Pool is NULL"

    What does it mean and why/when does it appear?

    Regds,
     
    Praveen Kumar Amritaluru, Dec 23, 2006
    #1
    1. Advertisements

  2. It means a driver (maybe yours) has called
    NdisAllocateNetBufferAndNetBufferList with NULL for the first parameter
    (PoolHandle).

    Before calling NdisAllocateNetBufferAndNetBufferList, a driver must call
    NdisAllocateNetBufferListPool to get a pool handle so it can pass it to this
    API.

    Please let me know if this information is not already in WDK so we can fix
    it.

    -thanks, ali
     
    Alireza Dabagh [MS], Dec 26, 2006
    #2
    1. Advertisements


  3. If you are asking me about the following piece of info, yes its there in
    WDK..
    But I dont think this is the case since its the same pool handle I am
    passing every time and I have seen the
    error mesg very rarely may be 1 in million.. Maybe an assertion inside NDIS
    call would have helped verify
    if this is the case.

    Regards,
    -Praveen
     
    Praveen Kumar Amritaluru, Dec 26, 2006
    #3
  4. The message you see is from "free" version of NDIS. Even if we had an ASSERT
    (which we could add), you would not see it in the free version of NDIS you
    have. But you may want to put an ASSERT in your code if the call ever
    returns NULL.

    Chances are we ran into this situation because there is a lack of
    synchronization between a routine that does receive indication (and calls
    this API to allocate an NBL) and another routine that frees the NBL pool (in
    the process of a Halt operation) -or- lack of synchronization between the
    receive indication routine and -initialization- routine that allocates the
    NBL pool. As a result when driver calls this API with Adapter->PoolHandle,
    the Adapter->PoolHandle has become (in the former case) or still is (in the
    latter case) NULL.

    Hope this helps.

    -thanks, ali

    --
    This posting is provided "AS IS" with no warranties, and confers no rights.

     
    Alireza Dabagh [MS], Dec 26, 2006
    #4
  5. Yes, you are right.. I am using free version of NDIS.
    Earlier it was not clear what was causing that debug mesg until I saw your
    reply.
    Will add ASSERT in my code now...

    Regards,
    -Praveen
     
    Praveen Kumar Amritaluru, Dec 27, 2006
    #5
  6. Did you find the root cause of this problem?

    -ali
     
    Alireza Dabagh [MS], Jan 29, 2007
    #6
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.