On Wednesday 30 June 2010 18:49:57 YingChao LI wrote:
[snip]
> Panic occurs when call yaffs_RemoveObjectCallback at line:
> if(sc->nextReturn == obj), because referred the buffer has been freed by
> yaffs_readdir. Seems sc buffer(*0xd6f01780*) has been freed, but still in
> search context doubly linked list(the next pointer of "sc**
> other(*0xdc1e40c8)*" is* 0xd6f0178c*, the prev pointer of "*0xd6f0178c*"
> is *0xdc1e40c8*). Is it possible that the search context lock mechanism has
> some issue or other reason?
>
> I only met this panic once, and can NOT reproduce it. Any suggestion about
> this? Thanks a lot.
Thanks for pointing that out.
This will be hard to reproduce.
There was indeed a problem in the locking of the search context. This has
been fixed.
http://yaffs.net/gitweb?p=yaffs2/.git;a=commit;h=c1399b62aaa71a3da498b5fa67adb25e59181ab0