I see the following mesg in windbg at times:

"NdisAllocateNetBufferAndNetBufferList: Pool is NULL"

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

Regds,

Re: What does this error mesg mean? When does it appear? by Alireza

Alireza
Tue Dec 26 04:51:28 CST 2006

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

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

"Praveen Kumar Amritaluru" <apraveen.kumar@gmail.com> wrote in message
news:utKAQfqJHHA.2632@TK2MSFTNGP06.phx.gbl...
>I see the following mesg in windbg at times:
>
> "NdisAllocateNetBufferAndNetBufferList: Pool is NULL"
>
> What does it mean and why/when does it appear?
>
> Regds,
>
>
>
>



Re: What does this error mesg mean? When does it appear? by Praveen

Praveen
Tue Dec 26 13:16:44 CST 2006


"Alireza Dabagh [MS]" <alid@online.microsoft.com> wrote in message
news:e3sx%23uNKHHA.1252@TK2MSFTNGP02.phx.gbl...
> It means a driver (maybe yours) has called
> NdisAllocateNetBufferAndNetBufferList with NULL for the first parameter
> (PoolHandle).
>


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

> 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
>
> --
> This posting is provided "AS IS" with no warranties, and confers no
> rights.
>
> "Praveen Kumar Amritaluru" <apraveen.kumar@gmail.com> wrote in message
> news:utKAQfqJHHA.2632@TK2MSFTNGP06.phx.gbl...
>>I see the following mesg in windbg at times:
>>
>> "NdisAllocateNetBufferAndNetBufferList: Pool is NULL"
>>
>> What does it mean and why/when does it appear?
>>
>> Regds,
>>
>>
>>
>>
>
>



Re: What does this error mesg mean? When does it appear? by Alireza

Alireza
Tue Dec 26 16:47:09 CST 2006

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.

"Praveen Kumar Amritaluru" <apraveen.kumar@gmail.com> wrote in message
news:eExtjJSKHHA.4000@TK2MSFTNGP06.phx.gbl...
>
> "Alireza Dabagh [MS]" <alid@online.microsoft.com> wrote in message
> news:e3sx%23uNKHHA.1252@TK2MSFTNGP02.phx.gbl...
>> It means a driver (maybe yours) has called
>> NdisAllocateNetBufferAndNetBufferList with NULL for the first parameter
>> (PoolHandle).
>>
>
>
> 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
>
>> 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
>>
>> --
>> This posting is provided "AS IS" with no warranties, and confers no
>> rights.
>>
>> "Praveen Kumar Amritaluru" <apraveen.kumar@gmail.com> wrote in message
>> news:utKAQfqJHHA.2632@TK2MSFTNGP06.phx.gbl...
>>>I see the following mesg in windbg at times:
>>>
>>> "NdisAllocateNetBufferAndNetBufferList: Pool is NULL"
>>>
>>> What does it mean and why/when does it appear?
>>>
>>> Regds,
>>>
>>>
>>>
>>>
>>
>>
>
>



Re: What does this error mesg mean? When does it appear? by Praveen

Praveen
Wed Dec 27 10:41:00 CST 2006

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

"Alireza Dabagh [MS]" <alid@online.microsoft.com> wrote in message
news:eQ9vJ%23TKHHA.4960@TK2MSFTNGP06.phx.gbl...
> 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.
>
> "Praveen Kumar Amritaluru" <apraveen.kumar@gmail.com> wrote in message
> news:eExtjJSKHHA.4000@TK2MSFTNGP06.phx.gbl...
>>
>> "Alireza Dabagh [MS]" <alid@online.microsoft.com> wrote in message
>> news:e3sx%23uNKHHA.1252@TK2MSFTNGP02.phx.gbl...
>>> It means a driver (maybe yours) has called
>>> NdisAllocateNetBufferAndNetBufferList with NULL for the first parameter
>>> (PoolHandle).
>>>
>>
>>
>> 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
>>
>>> 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
>>>
>>> --
>>> This posting is provided "AS IS" with no warranties, and confers no
>>> rights.
>>>
>>> "Praveen Kumar Amritaluru" <apraveen.kumar@gmail.com> wrote in message
>>> news:utKAQfqJHHA.2632@TK2MSFTNGP06.phx.gbl...
>>>>I see the following mesg in windbg at times:
>>>>
>>>> "NdisAllocateNetBufferAndNetBufferList: Pool is NULL"
>>>>
>>>> What does it mean and why/when does it appear?
>>>>
>>>> Regds,
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>



Re: What does this error mesg mean? When does it appear? by Alireza

Alireza
Mon Jan 29 14:44:11 CST 2007

Did you find the root cause of this problem?

-ali


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

"Praveen Kumar Amritaluru" <apraveen.kumar@gmail.com> wrote in message
news:O33qVXdKHHA.2236@TK2MSFTNGP02.phx.gbl...
> 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
>
> "Alireza Dabagh [MS]" <alid@online.microsoft.com> wrote in message
> news:eQ9vJ%23TKHHA.4960@TK2MSFTNGP06.phx.gbl...
>> 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.
>>
>> "Praveen Kumar Amritaluru" <apraveen.kumar@gmail.com> wrote in message
>> news:eExtjJSKHHA.4000@TK2MSFTNGP06.phx.gbl...
>>>
>>> "Alireza Dabagh [MS]" <alid@online.microsoft.com> wrote in message
>>> news:e3sx%23uNKHHA.1252@TK2MSFTNGP02.phx.gbl...
>>>> It means a driver (maybe yours) has called
>>>> NdisAllocateNetBufferAndNetBufferList with NULL for the first parameter
>>>> (PoolHandle).
>>>>
>>>
>>>
>>> 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
>>>
>>>> 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
>>>>
>>>> --
>>>> This posting is provided "AS IS" with no warranties, and confers no
>>>> rights.
>>>>
>>>> "Praveen Kumar Amritaluru" <apraveen.kumar@gmail.com> wrote in message
>>>> news:utKAQfqJHHA.2632@TK2MSFTNGP06.phx.gbl...
>>>>>I see the following mesg in windbg at times:
>>>>>
>>>>> "NdisAllocateNetBufferAndNetBufferList: Pool is NULL"
>>>>>
>>>>> What does it mean and why/when does it appear?
>>>>>
>>>>> Regds,
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>