Re: kernel BUG at lib/maple_tree.c:1237!

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



* David Howells <dhowells@xxxxxxxxxx> [240319 14:09]:
> Hi Liam,
> 
> I managed to trigger a bug in the maple-tree.  I don't know that it's
> definitely your bug as I had a process stuck in the D state, but I don't
> believe it was doing anything that modified maple trees at the time, just
> waiting for PG_writeback on a folio.  Anyway, I was running the generic/130
> xfstest and pressed ctrl-C and got a bunch of oopses (see attached).
> 
> Unfortunately, I can't do anything to try and get more information as anything
> that tries to clone() gets another oops.
> 
> The RIP is mas_alloc_nodes+0x55/0x16e:
> 
> 	mas_set_alloc_req(mas, 0);
> 	if (mas->mas_flags & MA_STATE_PREALLOC) {
> 		if (allocated)
> 			return;
> 		BUG_ON(!allocated);  <------- 1237
> 		WARN_ON(!allocated);
> 	}
> 
> The base kernel is at commit bf3a69c6861f plus some of my patches, none of
> which alter the maple-tree code or MM code.
> 

How can we be stuck in D state on a BUG_ON()?

If this is a maple tree bug, then it's in the calculations done for
preallocation.  The last time that changed was in December in commit
4249f13c11be8b8b7bf93204185e150c3bdc968d.  Could you try reverting this
change?

>From the trace, this is failing on loading a binary. Could you please
try changing BUG_ON() to MAS_BUG_ON(mas, !allocated) to get more
information?

I ran generic/130 here and it worked in my testing.  Does this happen
without your patches?  Maybe the changes you make are causing something
to happen more frequently?

Thanks,
Liam





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux