Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 Sep 2006 03:28:51 GMT
From:      Zhouyi Zhou <zhouyi04@ios.cn>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   kern/103207: kdb_backtrace core dump and a settlement
Message-ID:  <200609130328.k8D3SpEf074185@www.freebsd.org>
Resent-Message-ID: <200609130330.k8D3UIx9006199@freefall.freebsd.org>

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

>Number:         103207
>Category:       kern
>Synopsis:       kdb_backtrace core dump and a settlement
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Sep 13 03:30:18 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator:     Zhouyi Zhou
>Release:        FreeBSD 6.0
>Organization:
Institute of Software, Chinese Academy of Sciences
>Environment:
FreeBSD  6.0-RELEASE FreeBSD 6.0-RELEASE #41: Wed Sep 13 11:08:04 UTC 2006  
>Description:
The FreeBSD's DDB backtrace mechanism has a small bug on it.

sys/ddb/db_sym.c

249 void
250 db_symbol_values(sym, namep, valuep)
251         c_db_sym_t      sym;
252         const char      **namep;
253         db_expr_t       *valuep;
254 {
255         db_expr_t       value;
256 
257         if (sym == DB_SYM_NULL) {
258                 *namep = 0;
259                 return;
260         }
261 
262         X_db_symbol_values(db_last_symtab, sym, namep, &value);
263 
264         if (db_symbol_is_ambiguous(sym))
265                 *namep = db_qualify(sym, db_last_symtab->name);
266         if (valuep)
267                 *valuep = value;
268 }

sometimes the db_last_symtab will be 0 because of symbol lookup failure in previous stages, this will cause kernel to dump.



>How-To-Repeat:
add configuration option that will trigger kdb_backtrace such as 
options WITNESS_KDB
to kernel configuration file 
>Fix:
My modification is:
257 if (sym == DB_SYM_NULL||db_last_symtab==0) {
This seems to settle the problem
>Release-Note:
>Audit-Trail:
>Unformatted:



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