Hi,
I am using the standard API to initialize the lists : 
“InitializeListHead(XXX)”. I don’t see it get stuck. If I remove the Assertion 
check, it goes through, no issues. The node values and the count are fine.

What cause a memory corruption if we think that is the only case? A repeated 
call to insertion/remove? Is not happening sequentially?

Thanks
Sai



From: Andrew Fish [mailto:af...@apple.com]
Sent: Friday, June 19, 2015 4:29 PM
To: edk2-devel@lists.sourceforge.net
Subject: Re: [edk2] Assertion in Linked list - help


On Jun 19, 2015, at 4:18 PM, Saiprasad Chavali 
<s...@marvell.com<mailto:s...@marvell.com>> wrote:

Hi,

I hit the Assertion (ASSERT (Count < PcdGet32 (PcdMaximumLinkedListLength))),
“Linked list is too long” inside the “InternalBaseLibIsNodeInList” of baselib 
“linkedlist.c”.

Almost all the Linked list API,  calls this function. There is not one 
particular API that throws this error when Invoked inside the Dxe Driver.

If I comment this Assertion call everything works fine. The node elements in 
the lists at any point of the time or no more than 3 or 4. So wondering what 
could be the cause of this assertion.

It happens most of the time, some kind of timing issue. Suspecting memory 
corruption of the links, if so any reason (or) is anything wrong in the way I 
initialize the linked lists?


How do you initialize the lists? The lists are circular so I guess you could 
get stuck in an infinite loop, if you initialize them incorrectly or have 
memory corruption.

Thanks,

Andrew Fish


Your help is so much appreciated.

Thanks
Sai


------------------------------------------------------------------------------
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to