Re: kmem -[sS] segfault on 2.6.25.17

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.

> 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.

thanks,
Mike
--- /boot/config-2.6.22.19-9.ibrix	2008-07-30 06:24:09.000000000 -0400
+++ /boot/config-2.6.22.19-9.ibrix.devel	2008-08-09 07:47:15.000000000 -0400
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
 # Linux kernel version: 2.6.22.19-9.ibrix
-# Mon Jul 28 04:43:08 2008
+# Sat Aug  9 07:34:38 2008
 #
 CONFIG_X86_64=y
 CONFIG_64BIT=y
@@ -40,7 +40,7 @@
 #
 # General setup
 #
-CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION=".devel"
 # CONFIG_LOCALVERSION_AUTO is not set
 CONFIG_SWAP=y
 CONFIG_SYSVIPC=y
@@ -2120,7 +2120,7 @@
 CONFIG_EXT3_FS_SECURITY=y
 # CONFIG_EXT4DEV_FS is not set
 CONFIG_JBD=m
-# CONFIG_JBD_DEBUG is not set
+CONFIG_JBD_DEBUG=y
 CONFIG_FS_MBCACHE=y
 # CONFIG_REISERFS_FS is not set
 # CONFIG_JFS_FS is not set
@@ -2334,21 +2334,22 @@
 CONFIG_DETECT_SOFTLOCKUP=y
 CONFIG_SCHEDSTATS=y
 # CONFIG_TIMER_STATS is not set
-# CONFIG_DEBUG_SLAB is not set
+CONFIG_DEBUG_SLAB=y
+CONFIG_DEBUG_SLAB_LEAK=y
 # CONFIG_DEBUG_RT_MUTEXES is not set
 # CONFIG_RT_MUTEX_TESTER is not set
-# CONFIG_DEBUG_SPINLOCK is not set
+CONFIG_DEBUG_SPINLOCK=y
 # CONFIG_DEBUG_MUTEXES is not set
 # CONFIG_DEBUG_LOCK_ALLOC is not set
 # CONFIG_PROVE_LOCKING is not set
-# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+CONFIG_DEBUG_SPINLOCK_SLEEP=y
 # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
 # CONFIG_DEBUG_KOBJECT is not set
 CONFIG_DEBUG_BUGVERBOSE=y
 CONFIG_DEBUG_INFO=y
 # CONFIG_DEBUG_VM is not set
 CONFIG_DEBUG_LIST=y
-# CONFIG_FRAME_POINTER is not set
+CONFIG_FRAME_POINTER=y
 # CONFIG_FORCED_INLINING is not set
 # CONFIG_RCU_TORTURE_TEST is not set
 # CONFIG_LKDTM is not set
@@ -2356,7 +2357,7 @@
 CONFIG_DEBUG_RODATA=y
 # CONFIG_IOMMU_DEBUG is not set
 CONFIG_DEBUG_STACKOVERFLOW=y
-# CONFIG_DEBUG_STACK_USAGE is not set
+CONFIG_DEBUG_STACK_USAGE=y
 
 #
 # Security options
--
Crash-utility mailing list
Crash-utility@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/crash-utility

[Index of Archives]     [Fedora Development]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]     [Fedora Tools]

 

Powered by Linux