kern/128744: AMD64 kernel panic if INVARIANTS and DEBUG_MEMGUARD DEBUG_REDZONE are enabled

Jian Qiu qj at huawei.com
Sun Nov 9 18:20:04 PST 2008


>Number:         128744
>Category:       kern
>Synopsis:       AMD64 kernel panic if INVARIANTS and DEBUG_MEMGUARD DEBUG_REDZONE are enabled
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Nov 10 02:20:03 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator:     Jian Qiu
>Release:        7.1-BETA2
>Organization:
Huawei Technology
>Environment:
FreeBSD testAMD64 7.1-BETA2 FreeBSD 7.1-BETA2 #0: Mon Nov 10 04:57:12 CST 2008
qj at hostAMD64:/usr/home/qj/gobi/compile/sys/amd64/compile/GENERIC  amd64

>Description:
When compiled the kernel with the following options:

options         INVARIANTS
options         INVARIANT_SUPPORT
options         DEBUG_MEMGUARD
options         DEBUG_REDZONE

The following kernel panic messages were reported:

FreeBSD 7.1-BETA2 #0: Mon Nov 10 05:13:21 CST 2008
    qj at hostAMD64:/usr/home/qj/gobi/compile/sys/amd64/compile/GENERIC
WARNING: WITNESS option enabled, expect reduced performance.
MEMGUARD DEBUGGING ALLOCATOR INITIALIZED:
        MEMGUARD map base: 0xffffffff80e22000
        MEMGUARD map limit: 0xffffffff815f7000
        MEMGUARD map size: 8212480 (Bytes)
Memory modified after free 0xffffff000105bd00(248) val=4 @ 0xffffff000105bdd0
panic: Most recently used by none

cpuid = 0
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
panic() at panic+0x182
mtrash_ctor() at mtrash_ctor+0x84
uma_zalloc_arg() at uma_zalloc_arg+0x2db
malloc() at malloc+0xb6
init_dynamic_kenv() at init_dynamic_kenv+0x6d
mi_startup() at mi_startup+0x59
btext() at btext+0x2c
KDB: enter: panic
[thread pid 0 tid 0 ]
Stopped at      kdb_enter_why+0x3d:     movq    $0,0x5fe498(%rip)



But after I removed the lines of DEBUG_MEMGUARD and DEBUG_REDZONE, the compiled kernel could boot into the system smoothly.

I do not know whether FreeBSD allows the two set of options enabled simultaneouly. But it should be noted that when I compiled the kernel with the same configuration for a i386 system, the kernel panic did not occur. So this issue should be specific for arch AMD64.
>How-To-Repeat:
Compiled kernel with the following options for arch AMD64:

options         INVARIANTS
options         INVARIANT_SUPPORT
options         DEBUG_MEMGUARD
options         DEBUG_REDZONE

>Fix:
Remove 

options         DEBUG_MEMGUARD
options         DEBUG_REDZONE


>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list