svn commit: r281113 - head/sys/vm

Ian Lepore ian at freebsd.org
Wed Apr 8 20:01:07 UTC 2015


On Wed, 2015-04-08 at 21:55 +0200, Mateusz Guzik wrote:
> On Sun, Apr 05, 2015 at 09:54:19PM +0300, Chagin Dmitry wrote:
> > On Sun, Apr 05, 2015 at 08:39:47PM +0200, Mateusz Guzik wrote:
> > > On Sun, Apr 05, 2015 at 06:25:24PM +0000, Dmitry Chagin wrote:
> > > > Author: dchagin
> > > > Date: Sun Apr  5 18:25:23 2015
> > > > New Revision: 281113
> > > > URL: https://svnweb.freebsd.org/changeset/base/281113
> > > > 
> > > > Log:
> > > >   Fix wrong kassert msg in uma.
> > > >   
> > > >   PR:		199172
> > > >   Submitted by:	luke.tw gmail com
> > > >   MFC after:	1 week
> > > > 
> > > > Modified:
> > > >   head/sys/vm/uma_core.c
> > > > 
> > > > Modified: head/sys/vm/uma_core.c
> > > > ==============================================================================
> > > > --- head/sys/vm/uma_core.c	Sun Apr  5 17:09:58 2015	(r281112)
> > > > +++ head/sys/vm/uma_core.c	Sun Apr  5 18:25:23 2015	(r281113)
> > > > @@ -3060,7 +3060,7 @@ uma_zone_set_fini(uma_zone_t zone, uma_f
> > > >  	uma_keg_t keg;
> > > >  
> > > >  	keg = zone_first_keg(zone);
> > > > -	KASSERT(keg != NULL, ("uma_zone_set_init: Invalid zone type"));
> > > > +	KASSERT(keg != NULL, ("uma_zone_set_fini: Invalid zone type"));
> > > >  	KEG_LOCK(keg);
> > > >  	KASSERT(keg->uk_pages == 0,
> > > >  	    ("uma_zone_set_fini on non-empty keg"));
> > > > @@ -3100,7 +3100,7 @@ uma_zone_set_freef(uma_zone_t zone, uma_
> > > >  	uma_keg_t keg;
> > > >  
> > > >  	keg = zone_first_keg(zone);
> > > > -	KASSERT(keg != NULL, ("uma_zone_set_init: Invalid zone type"));
> > > > +	KASSERT(keg != NULL, ("uma_zone_set_freef: Invalid zone type"));
> > > >  	KEG_LOCK(keg);
> > > >  	keg->uk_freef = freef;
> > > >  	KEG_UNLOCK(keg);
> > > > 
> > > 
> > > This seems to be a recurring problem (go figure).
> > > 
> > > Was __func__ usage flamed over?
> > > 
> > > I really think that linux's oops-like dump would be of great help here.
> > > It includes file + line info along with register dump which alone can
> > > give sufficient hints in several cases.
> > > 
> > finally, kassert prints backtrace. also feel free to set
> > debug.kassert.do_kdb. 
> 
> The point is to have initial user reports more useful. As it is, with
> mere panic message there is not much to work with.
> 

Have you had a problem simply grepping for the panic message string?  I
never have.  I've used __func__ a few times to disambiguate a message
where the same message string appears multiple times, but it's the rare
case.

-- Ian




More information about the svn-src-head mailing list