lkml.org 
[lkml]   [2008]   [Oct]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [crash, -git] NULL pointer dereference, IP: [<c0190884>] page_cgroup_zoneinfo+0xf/0x1b
    On Tue, 21 Oct 2008 12:09:35 +0200
    Ingo Molnar <mingo@elte.hu> wrote:

    >
    > Andrew,
    >
    > today's -git started crashing in the VM, during bootup in rc.sysinit in
    > our tests:
    >



    > -------------------->
    >
    > EXT3-fs: recovery complete.
    > EXT3-fs: mounted filesystem with ordered data mode.
    > VFS: Mounted root (ext3 filesystem) readonly.
    > debug: unmapping init memory c11c9000..c1398000
    > gzip used greatest stack depth: 5916 bytes left
    > BUG: unable to handle kernel NULL pointer dereference at 00000000
    > IP: [<c018faa4>] page_cgroup_zoneinfo+0xf/0x1b
    > *pde = 00000000
    > Oops: 0000 [#1] SMP DEBUG_PAGEALLOC
    > last sysfs file:
    > Dumping ftrace buffer:
    > (ftrace buffer empty)
    >
    > Pid: 3595, comm: rc.sysinit Not tainted (2.6.27 #44341) System Product Name
    > EIP: 0060:[<c018faa4>] EFLAGS: 00010246 CPU: 1
    > EIP is at page_cgroup_zoneinfo+0xf/0x1b
    > EAX: 00000000 EBX: 00000003 ECX: 00000002 EDX: c199ae00
    > ESI: c2c7d898 EDI: c199ae0c EBP: f5e2dcf8 ESP: f5e2dcd4
    > DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
    > Process rc.sysinit (pid: 3595, ti=f5e2c000 task=f5ddd240 task.ti=f5e2c000)
    > Stack:
    > c019027a 00000010 00120050 c199ae0c 00000005 f5e2dd34 c1babb90 f5dd0240
    > c1babb90 f5e2dd18 c0190993 00000000 00000000 00120050 c1babb90 f5ce4800
    > f6c24868 f5e2dd34 c0170cbd 000f0019 00120050 c1babb90 f5ce4800 00000000
    > Call Trace:
    > [<c019027a>] ? mem_cgroup_charge_common+0x149/0x1c4
    > [<c0190993>] ? mem_cgroup_cache_charge+0x81/0x8f
    > [<c0170cbd>] ? add_to_page_cache_locked+0x34/0xc9
    > [<c0170d7a>] ? add_to_page_cache_lru+0x28/0x63
    > [<c01713e3>] ? find_or_create_page+0x44/0x67
    > [<c01abd12>] ? __getblk+0xff/0x1d1
    > [<c01f88ca>] ? sb_getblk+0x16/0x18
    > [<c01f89bc>] ? __ext3_get_inode_loc+0xc5/0x27c
    > [<c03a10b9>] ? _raw_spin_unlock+0x74/0x78
    > [<c01a1317>] ? iget_locked+0xb1/0xdb
    > [<c01fb305>] ? ext3_iget+0x5b/0x310
    > [<c0b7361e>] ? _spin_unlock+0x22/0x25
    > [<c01fe5a7>] ? ext3_lookup+0x73/0x93
    > [<c0198f63>] ? do_lookup+0xbb/0x129
    > [<c019a5fd>] ? __link_path_walk+0x47c/0x5a9
    > [<c019a768>] ? path_walk+0x3e/0x77
    > [<c019a8f0>] ? do_path_lookup+0xec/0x125
    > [<c0199e44>] ? getname+0x8f/0xab
    > [<c019b0ff>] ? user_path_at+0x35/0x5b
    > [<c0108d17>] ? native_sched_clock+0x97/0xb5
    > [<c014bb8c>] ? trace_hardirqs_off+0xb/0xd
    > [<c016ee0b>] ? time_hardirqs_off+0x1b/0x1f
    > [<c014bb1b>] ? trace_hardirqs_off_caller+0x15/0x7b
    > [<c0195747>] ? vfs_stat_fd+0x1e/0x45
    > [<c0195831>] ? vfs_stat+0x16/0x18
    > [<c019584c>] ? sys_stat64+0x19/0x2d
    > [<c0395059>] ? __movsl_is_ok+0x9/0x25
    > [<c039502c>] ? trace_hardirqs_off_thunk+0xc/0x10
    > [<c0103a47>] ? sysenter_exit+0xf/0x1a
    > [<c039501c>] ? trace_hardirqs_on_thunk+0xc/0x10
    > [<c039501c>] ? trace_hardirqs_on_thunk+0xc/0x10
    > [<c014d198>] ? trace_hardirqs_on_caller+0x9c/0xce
    > [<c039501c>] ? trace_hardirqs_on_thunk+0xc/0x10
    > [<c0103a0b>] ? sysenter_do_call+0x12/0x3f
    > Code: 00 eb 13 c1 e3 07 83 84 1e 98 00 00 00 01 83 94 1e 9c 00 00 00 00 58 5b 5e 5f 5d c3 55 89 e5 e8 53 4e f7 ff 8b 50 04 8b 40 08 5d <8b> 00 c1 e8 1e 6b c0 50 03 42 4c c3 55 89 e5 57 56 53 e8 35 4e
    > EIP: [<c018faa4>] page_cgroup_zoneinfo+0xf/0x1b SS:ESP 0068:f5e2dcd4
    > ---[ end trace 525093d040e4a2a1 ]---
    > rc.sysinit used greatest stack depth: 5840 bytes left
    > BUG: unable to handle kernel NULL pointer dereference at 00000000
    > IP: [<c018faa4>] page_cgroup_zoneinfo+0xf/0x1b
    > *pde = 00000000
    > Oops: 0000 [#2] SMP DEBUG_PAGEALLOC
    > last sysfs file:
    >
    > Pid: 1, comm: init Tainted: G D (2.6.27 #44341) System Product Name
    > EIP: 0060:[<c018faa4>] EFLAGS: 00010246 CPU: 1
    > EIP is at page_cgroup_zoneinfo+0xf/0x1b
    > EAX: 00000000 EBX: 00000003 ECX: 00000002 EDX: c199ae00
    > ESI: c2c7d8ac EDI: c199ae0c EBP: f704dbb0 ESP: f704db8c
    > DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
    > Process init (pid: 1, ti=f704c000 task=f7050000 task.ti=f704c000)
    > Stack:
    > c019027a 00000010 00120050 c199ae0c 00000005 f704dbec c1babbc8 f5d50000
    > c1babbc8 f704dbd0 c0190993 00000000 00000000 00120050 c1babbc8 f704dd68
    > f6c24868 f704dbec c0170cbd 0041a803 00120050 c1babbc8 f704dd68 00000000
    > Call Trace:
    > [<c019027a>] ? mem_cgroup_charge_common+0x149/0x1c4
    > [<c0190993>] ? mem_cgroup_cache_charge+0x81/0x8f
    > [<c0170cbd>] ? add_to_page_cache_locked+0x34/0xc9
    > [<c0170d7a>] ? add_to_page_cache_lru+0x28/0x63
    > [<c01713e3>] ? find_or_create_page+0x44/0x67
    > [<c01abd12>] ? __getblk+0xff/0x1d1
    > [<c01f88ca>] ? sb_getblk+0x16/0x18
    > [<c01f992c>] ? ext3_getblk+0x65/0x111
    > [<c01f7fc5>] ? constant_test_bit+0x9/0x20
    > [<c01fbc5a>] ? dx_root_limit+0x8/0x1b
    > [<c01f99f1>] ? ext3_bread+0x19/0x69
    > [<c01fc765>] ? ext3_find_entry+0x121/0x52a
    > [<c018d3c3>] ? kmem_cache_alloc+0x95/0xd4
    > [<c018d3c3>] ? kmem_cache_alloc+0x95/0xd4
    > [<c014d1d5>] ? trace_hardirqs_on+0xb/0xd
    > [<c01fe55e>] ? ext3_lookup+0x2a/0x93
    > [<c0198f63>] ? do_lookup+0xbb/0x129
    > [<c019a5fd>] ? __link_path_walk+0x47c/0x5a9
    > [<c019a768>] ? path_walk+0x3e/0x77
    > [<c019a8f0>] ? do_path_lookup+0xec/0x125
    > [<c019b2c2>] ? path_lookup+0x17/0x19
    > [<c0a89684>] ? unix_find_other+0x30/0x15d
    > [<c018d3c3>] ? kmem_cache_alloc+0x95/0xd4
    > [<c016f00c>] ? time_hardirqs_on+0x1b/0x1f
    > [<c0394f6a>] ? strlen+0x9/0x1a
    > [<c0a8a989>] ? unix_dgram_connect+0x85/0x150
    > [<c0a14354>] ? sys_connect+0x65/0x7f
    > [<c0395059>] ? __movsl_is_ok+0x9/0x25
    > [<c03951a4>] ? __copy_from_user_ll+0x16/0xd4
    > [<c0a149c8>] ? sys_socketcall+0x91/0x196
    > [<c0103a0b>] ? sysenter_do_call+0x12/0x3f
    > Code: 00 eb 13 c1 e3 07 83 84 1e 98 00 00 00 01 83 94 1e 9c 00 00 00 00 58 5b 5e 5f 5d c3 55 89 e5 e8 53 4e f7 ff 8b 50 04 8b 40 08 5d <8b> 00 c1 e8 1e 6b c0 50 03 42 4c c3 55 89 e5 57 56 53 e8 35 4e
    > EIP: [<c018faa4>] page_cgroup_zoneinfo+0xf/0x1b SS:ESP 0068:f704db8c
    > ---[ end trace 525093d040e4a2a1 ]---
    > init used greatest stack depth: 5036 bytes left
    > Kernel panic - not syncing: Attempted to kill init!
    > <--------------------
    >
    > potential candidates would be:
    >
    > 52d4b9a: memcg: allocate all page_cgroup at boot
    > c05555b: memcg: atomic ops for page_cgroup->flags
    > addb9ef: memcg: optimize per-cpu statistics
    > b7abea9: memcg: make page->mapping NULL before uncharge
    > 7b85412: Unevictable LRU Page Statistics
    > 894bc31: Unevictable LRU Infrastructure
    > 4f98a2f: vmscan: split LRU lists into anon & file sets
    > b69408e: vmscan: Use an indexed array for LRU variables
    >
    > is this known, or should i try to bisect? It's reproducible.
    > Config attached.
    >
    > bad: a9b6148: USB: Fix unused label warnings in drivers/usb/host/ehci-hcd.c
    > good: c813b4e: Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/
    >
    yes,now chasing. and have found

    page_cgroup->page is NULL because of unknown reason.

    page_cgroup is allocated at boot as an array and page_cgroup->page is
    initialized once as
    page_cgroup->page = pfn_to_page(page);

    But page_cgroup->page is NULL...at failure..

    please try cgroup_disable=memory boot option as a trial.

    Thanks,
    -Kame



    \
     
     \ /
      Last update: 2008-10-21 12:25    [W:0.038 / U:32.128 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site