Messages in this thread | | | Date | Fri, 5 Aug 2011 11:32:09 -0500 (CDT) | From | Christoph Lameter <> | Subject | Re: list corruption in the last few days. (block ? crypto ?) |
| |
On Fri, 5 Aug 2011, Pekka Enberg wrote:
> On Fri, Aug 5, 2011 at 11:46 AM, Markus Trippelsdorf > <markus@trippelsdorf.de> wrote: > > On 2011.08.04 at 21:00 -0400, Dave Jones wrote: > >> Sometime in the last week, something was merged which causes my laptop > >> to lock up occasionally. I can trigger it most of the time just by > >> doing a kernel build. When it gets to the final linking stage, it locks up hard. > >> > >> I finally managed to coax something out of usb console to get the traces below, > >> which seem to implicate something in the block layer ? > >> > >> my root device is an lvm volume on an dmcrypt'd block dev, which might be relevant, > >> as I don't see this happening on other machines with simpler setups. > >> > >> I'm going to try bisecting, but it might take me a few days, because it's > >> such a pain in the ass to reproduce this reliably. > >> > >> [ 5913.233035] ------------[ cut here ]------------ > >> [ 5913.233097] WARNING: at lib/list_debug.c:53 __list_del_entry+0x8d/0x98() > >> [ 5913.233101] Hardware name: Adamo 13 > >> [ 5913.233105] list_del corruption. prev->next should be ffffea000434fd20, but was ffffea0004199520 > > > > See also: http://lkml.org/lkml/2011/8/3/37 > > That's in networking so SLUB lockless patches are almost certainly the > issue here. Is this with SLUB debugging enabled or not? Christoph, it > like the partial lists are getting corrupted somehow.
This is occurring in __slab_free when we are freeing the last object from a slab page that is on the partial list. It is not frozen so it is not in use by a processor and thus deactivate_slab cannot be run on it.
The logical race would be with acquire_slab() but both take the node lock before doing anything with the lists.
Do you have CONFIG_DEBUG_VM on? If not please do so. This will check if the frozen state is managed correctly.
| |