Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 10 Nov 2008 02:16:55 GMT
From:      Jian Qiu <qj@huawei.com>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   kern/128744: AMD64 kernel panic if INVARIANTS and DEBUG_MEMGUARD DEBUG_REDZONE are enabled
Message-ID:  <200811100216.mAA2GteE001529@www.freebsd.org>
Resent-Message-ID: <200811100220.mAA2K30a015419@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>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@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@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:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200811100216.mAA2GteE001529>