----- "Mike Snitzer" <snitzer@xxxxxxxxx> wrote: > On Thu, Oct 16, 2008 at 12:25 PM, Dave Anderson <anderson@xxxxxxxxxx> > wrote: > > > > ----- "Mike Snitzer" <snitzer@xxxxxxxxx> wrote: > > > >> I'm getting a core when I try to show slab data (kmem -[sS]) on > >> 2.6.25.17 with both a live crash or saved vmcore. > >> > >> The core shows that the segv is coming from memset() via > >> gather_cpudata_list_v2_nodes (memory.c:10119). This is with crash > >> 4.0-7.4, but the same crash occurs with crash 4.0-6.3 > >> (memory.c:10108) > >> and older. > >> > >> I've also seen kmem -[sS] segfaults with older kernels too (e.g. > >> 2.6.22.x). > >> > >> Have others experienced this? Would it be useful for me to > provide > >> my > >> kernel config? > > > > No that won't help. > > Actually I think it may considering kmem -[sS] works perfectly fine > on > the same identical 2.6.22.19 kernel if various debug features are > _not_ enabled, see the attached .config diff. Of note: > -# CONFIG_DEBUG_SLAB is not set > +CONFIG_DEBUG_SLAB=y > +CONFIG_DEBUG_SLAB_LEAK=y > > Comparable debug features are enabled in my 2.6.25 kernel that causes > crash to segfault. Good point... > > > It's failing in the BZERO() here: > > > > 10117 for (i = 0; (i < ARRAY_LENGTH(kmem_cache_s_array)) > && > > 10118 (cpudata[i]) && !(index); i++) { > > 10119 BZERO(si->cpudata[i], sizeof(ulong) * > vt->kmem_max_limit); > > > > What is "i" equal to when it segfaults? If you have a crash core > file, > > print out the contents of the global "vm_table". In that structure > > there is a "kmem_max_cpus" field. If "i" is greater or equal to > that, > > then that's one explanation. > > i=0 and kmem_max_cpus=4. Ok, then I can't see off-hand why it would segfault. Prior to this routine running, si->cpudata[0...i] all get allocated buffers equal to the size that's being BZERO'd. Is si->cpudata[i] NULL or something? Dave -- Crash-utility mailing list Crash-utility@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/crash-utility