[-next 20190118] "kernel BUG at mm/page_alloc.c:3112!"

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

 



Hello,

when running with linux-next from 20190118 we saw the BUG_ON at
mm/page_alloc.c:3112 being hit (see below). This happened on s390
when using the ltp test suite with the 'oom1' test case.
So out-of-memory is certainly expected, a BUG_ON being hit however not.

(note to avoid confusion: the kernel version in the log below contains
 the build date, not the linux-next version; however 9673b4aa71ca is
 the corresponding linux-next git commit id).

[ 3161.555718] sshd: page allocation failure: order:0, mode:0x400000(GFP_NOWAIT), nodemask=(null),cpuset=/,mems_allowed=0
[ 3161.555721] CPU: 12 PID: 106602 Comm: sshd Not tainted 5.0.0-20190121.rc2.git0.9673b4aa71ca.300.fc29.s390x+next #1
[ 3161.555723] Hardware name: IBM 2964 NC9 712 (LPAR)
[ 3161.555724] Call Trace:
[ 3161.555727] ([<0000000000112e68>] show_stack+0x58/0x70)
[ 3161.555729]  [<0000000000a6c4a2>] dump_stack+0x7a/0xa8 
[ 3161.555731]  [<00000000002c0d5a>] warn_alloc+0xe2/0x178 
[ 3161.555734]  [<00000000002c1eac>] __alloc_pages_nodemask+0x1024/0x1060 
[ 3161.555736]  [<000000000033755e>] new_slab+0x476/0x618 
[ 3161.555738]  [<0000000000339d1e>] ___slab_alloc+0x45e/0x590 
[ 3161.555741]  [<0000000000339e7c>] __slab_alloc+0x2c/0x48 
[ 3161.555743]  [<000000000033a07c>] kmem_cache_alloc+0x1e4/0x240 
[ 3161.555745]  [<0000000000647712>] avc_alloc_node+0x32/0x1c0 
[ 3161.555748]  [<0000000000647bc2>] avc_compute_av+0x7a/0x208 
[ 3161.555750]  [<00000000006488f4>] avc_has_perm_noaudit+0xa4/0xf8 
[ 3161.555753]  [<0000000000665c1a>] security_get_user_sids+0x39a/0x578 
[ 3161.555754]  [<00000000006551dc>] sel_write_user+0x144/0x250 
[ 3161.555757]  [<0000000000654e2e>] selinux_transaction_write+0x6e/0xa8 
[ 3161.555759]  [<0000000000364d10>] __vfs_write+0x38/0x1c0 
[ 3161.555761]  [<0000000000365068>] vfs_write+0xa0/0x1b0 
[ 3161.555762]  [<0000000000365322>] ksys_write+0x5a/0xc8 
[ 3161.555765]  [<0000000000a8c438>] system_call+0xdc/0x2c8 
[ 3161.555767] SLUB: Unable to allocate memory on node -1, gfp=0x408000(GFP_NOWAIT|__GFP_ZERO)
[ 3161.555769]   cache: avc_node, object size: 72, buffer size: 72, default order: 0, min order: 0
[ 3161.555771]   node 0: slabs: 276, objs: 15456, free: 0
[ 3215.347399] ------------[ cut here ]------------
[ 3215.347407] kernel BUG at mm/page_alloc.c:3112!
[ 3215.347507] illegal operation: 0001 ilc:1 [#1] SMP 
[ 3215.347511] Modules linked in: loop kvm xt_tcpudp ip6t_rpfilter ip6t_REJECT nf_reject_ipv6 ipt_REJECT nf_reject_ipv4 xt_conntrack ip6table_nat nf_nat_ipv6 ip6table_mangle ip6table_raw ip6table_security iptable_nat nf_nat_ipv4 nf_nat iptable_mangle iptable_raw iptable_security nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 ip_set nfnetlink ip6table_filter ip6_tables iptable_filter ip_tables x_tables pkey zcrypt rng_core ghash_s390 prng aes_s390 des_s390 des_generic sha512_s390 sha1_s390 eadm_sch sch_fq_codel sha256_s390 sha_common autofs4
[ 3215.347552] CPU: 6 PID: 98 Comm: kcompactd0 Not tainted 5.0.0-20190121.rc2.git0.9673b4aa71ca.300.fc29.s390x+next #1
[ 3215.347554] Hardware name: IBM 2964 NC9 712 (LPAR)
[ 3215.347557] Krnl PSW : 0404d00180000000 00000000002bf182 (__isolate_free_page+0x212/0x218)
[ 3215.347567]            R:0 T:1 IO:0 EX:0 Key:0 M:1 W:0 P:0 AS:3 CC:1 PM:0 RI:0 EA:3
[ 3215.347570] Krnl GPRS: 00000000001b8d00 0000000100000080 00000001ffffec38 00000000f0000000
[ 3215.347573]            00000001ffffec40 0000000000176500 0000000000000007 00000001ffffec38
[ 3215.347576]            0000000000000007 00000001ffffe8c0 000003d000000040 000003d000000007
[ 3215.347579]            000003e0038b7dc0 fffffff0c5ffff00 000003e0038b7ae0 000003e0038b7a80
[ 3215.347590] Krnl Code: 00000000002bf172: eb6ff0a80004	lmg	%r6,%r15,168(%r15)
                          00000000002bf178: c0f4003e73ec	brcl	15,a8d950
                         #00000000002bf17e: a7f40001		brc	15,2bf180
                         >00000000002bf182: 0707		bcr	0,%r7
                          00000000002bf184: 0707		bcr	0,%r7
                          00000000002bf186: 0707		bcr	0,%r7
                          00000000002bf188: c00400000000	brcl	0,2bf188
                          00000000002bf18e: eb6ff0480024	stmg	%r6,%r15,72(%r15)
[ 3215.347638] Call Trace:
[ 3215.347641] ([<000003d085d96000>] 0x3d085d96000)
[ 3215.347645]  [<00000000002f0b74>] compaction_alloc+0x394/0x9c8 
[ 3215.347649]  [<0000000000342d52>] migrate_pages+0x1d2/0xaf0 
[ 3215.347652]  [<00000000002f29a0>] compact_zone+0x620/0xf20 
[ 3215.347654]  [<00000000002f3600>] kcompactd_do_work+0x130/0x268 
[ 3215.347656]  [<00000000002f37d0>] kcompactd+0x98/0x1d0 
[ 3215.347661]  [<000000000016920c>] kthread+0x144/0x160 
[ 3215.347665]  [<0000000000a8c652>] kernel_thread_starter+0xa/0x10 
[ 3215.347667]  [<0000000000a8c648>] kernel_thread_starter+0x0/0x10 
[ 3215.347669] Last Breaking-Event-Address:
[ 3215.347671]  [<00000000002bf17e>] __isolate_free_page+0x20e/0x218
[ 3215.347674] Kernel panic - not syncing: Fatal exception: panic_on_oops

FWIW, if it helps: the address of the struct page in question is in
register 2 and the memory dump (using 'crash') of it looks like this:

> struct page -x 1ffffec38
struct page {
  flags = 0x3d0832bb008, 
  {
    {
      lru = {
        next = 0x3d084e79008, 
        prev = 0x1ffffeca8
      }, 
      mapping = 0x1ffffec50, 
      index = 0x1ffffec50, 
      private = 0x3d0855e3008
    }, 
    {
      {
        slab_list = {
          next = 0x3d084e79008, 
          prev = 0x1ffffeca8
        }, 
        {
          next = 0x3d084e79008, 
          pages = 0x1, 
          pobjects = 0xffffeca8
        }
      }, 
      slab_cache = 0x1ffffec50, 
      freelist = 0x1ffffec50, 
      {
        s_mem = 0x3d0855e3008, 
        counters = 0x3d0855e3008, 
        {
          inuse = 0x0, 
          objects = 0x1e8, 
          frozen = 0x0
        }
      }
    }, 
    {
      compound_head = 0x3d084e79008, 
      compound_dtor = 0x0, 
      compound_order = 0x0, 
      compound_mapcount = {
        counter = 0xffffeca8
      }
    }, 
    {
      _compound_pad_1 = 0x3d084e79008, 
      _compound_pad_2 = 0x1ffffeca8, 
      deferred_list = {
        next = 0x1ffffec50, 
        prev = 0x1ffffec50
      }
    }, 
    {
      _pt_pad_1 = 0x3d084e79008, 
      pmd_huge_pte = 0x1ffffeca8, 
      _pt_pad_2 = 0x1ffffec50, 
      {
        pt_mm = 0x1ffffec50, 
        pt_frag_refcount = {
          counter = 0x1
        }
      }, 
      ptl = {
        {
          rlock = {
            raw_lock = {
              lock = 0x3d0
            }
          }
        }
      }
    }, 
    {
      pgmap = 0x3d084e79008, 
      hmm_data = 0x1ffffeca8, 
      _zd_pad_1 = 0x1ffffec50
    }, 
    callback_head = {
      next = 0x3d084e79008, 
      func = 0x1ffffeca8
    }
  }, 
  {
    _mapcount = {
      counter = 0x3d0
    }, 
    page_type = 0x3d0, 
    active = 0x3d0, 
    units = 0x3d0
  }, 
  _refcount = {
    counter = 0x855e3008
  }, 
  mem_cgroup = 0x1ffffec70
}




[Index of Archives]     [Linux Kernel]     [Linux USB Development]     [Yosemite News]     [Linux SCSI]

  Powered by Linux