On Sat, Aug 10, 2013 at 08:45:47PM +0300, Konstantin Belousov wrote: > On Sat, Aug 10, 2013 at 08:44:07PM +0300, Konstantin Belousov wrote: > > On Sat, Aug 10, 2013 at 12:15:35PM -0500, Bryan Drewery wrote: > > > On 8/10/2013 11:44 AM, Bryan Drewery wrote: > > > > On 8/10/2013 6:24 AM, Joel Dahl wrote: > > > >> panic: witness_init: pending locks list is too small, increase > > > >> WITNESS_PENDLIST > > > > I also get this. The last stable revision for me was r254150 > > > > > > r254150 stable, r254171 panic. > > > > > > backtrace: https://dl.dropboxusercontent.com/u/8732004/r254171-panic.jpg > > > > So could you point to exact commit which causes panic ? > It is r254167, right ? > So I cannot reproduce it locally. The problem is that r254167 moved sleepq initialization before witness is operational, and witness has a backlog of locks initialized before witness init. The backlog overflown. The right fix looks to be just what the panic message told, please try this: diff --git a/sys/kern/subr_witness.c b/sys/kern/subr_witness.c index 3b4d7a2..37e8cf2 100644 --- a/sys/kern/subr_witness.c +++ b/sys/kern/subr_witness.c _at__at_ -135,7 +135,7 _at__at_ __FBSDID("$FreeBSD$"); #define WITNESS_COUNT 1024 #define WITNESS_CHILDCOUNT (WITNESS_COUNT * 4) #define WITNESS_HASH_SIZE 251 /* Prime, gives load factor < 2 */ -#define WITNESS_PENDLIST 768 +#define WITNESS_PENDLIST 1024 /* Allocate 256 KB of stack data space */ #define WITNESS_LO_DATA_COUNT 2048 If this does not help, try to increse PENDLIST even more. But, sleepq uses 256 elements, which means that my increase should be enough.
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:40 UTC