Re: unused swap offset / bad page map.

From: Dave Jones
Date: Mon Aug 26 2013 - 15:08:40 EST


On Mon, Aug 26, 2013 at 11:45:53AM +0800, Hillf Danton wrote:
> On Fri, Aug 23, 2013 at 11:53 AM, Dave Jones <davej@xxxxxxxxxx> wrote:
> >
> > It actually seems worse, seems I can trigger it even easier now, as if
> > there's a leak.
> >
> Can you please try the new fix for TLB flush?
>
> commit 2b047252d087be7f2ba
> Fix TLB gather virtual address range invalidation corner cases

No luck.

[ 4588.541886] swap_free: Unused swap offset entry 00002d15
[ 4588.541952] BUG: Bad page map in process trinity-kid12 pte:005a2a80 pmd:22c01f067
[ 4588.541979] addr:00007f0e95fa8000 vm_flags:00100073 anon_vma:ffff880217665550 mapping: (null) index:1a42
[ 4588.542011] Modules linked in: snd_seq_dummy fuse hidp bnep scsi_transport_iscsi rfcomm ipt_ULOG can_bcm can_raw nfnetlink nfc caif_socket caif af_802154 phonet af_rxrpc bluetooth rfkill can llc2 pppoe pppox ppp_generic slhc irda crc_ccitt rds af_key rose x25 atm netrom appletalk ipx p8023 psnap p8022 llc ax25 xfs libcrc32c snd_hda_codec_realtek snd_hda_intel e1000e snd_hda_codec snd_hwdep ptp snd_seq snd_seq_device snd_pcm usb_debug pps_core pcspkr snd_page_alloc snd_timer snd soundcore
[ 4588.542245] CPU: 2 PID: 25390 Comm: trinity-kid12 Not tainted 3.11.0-rc7+ #13
[ 4588.542321] 0000000000000000 ffff88021ba33c98 ffffffff816f9ddf 00007f0e95fa8000
[ 4588.542354] ffff88021ba33ce0 ffffffff81177047 00000000005a2a80 0000000000001a42
[ 4588.542386] 00007f0e96000000 ffff88022c01fd40 00000000005a2a80 ffff88021ba33e00
[ 4588.542418] Call Trace:
[ 4588.542435] [<ffffffff816f9ddf>] dump_stack+0x54/0x74
[ 4588.542457] [<ffffffff81177047>] print_bad_pte+0x187/0x220
[ 4588.542478] [<ffffffff81178874>] unmap_single_vma+0x524/0x850
[ 4588.542500] [<ffffffff81179ac9>] unmap_vmas+0x49/0x90
[ 4588.542521] [<ffffffff811822c5>] exit_mmap+0xc5/0x170
[ 4588.542542] [<ffffffff8104ffb7>] mmput+0x77/0x100
[ 4588.542562] [<ffffffff8105465d>] do_exit+0x28d/0xcd0
[ 4588.542583] [<ffffffff810c0085>] ? trace_hardirqs_on_caller+0x115/0x1e0
[ 4588.542607] [<ffffffff810c015d>] ? trace_hardirqs_on+0xd/0x10
[ 4588.542629] [<ffffffff8105643c>] do_group_exit+0x4c/0xc0
[ 4588.543534] [<ffffffff810564c4>] SyS_exit_group+0x14/0x20
[ 4588.544438] [<ffffffff8170d554>] tracesys+0xdd/0xe2

I can reproduce this pretty quickly by driving the system into swapping using
a few instances of 'trinity -C64' (this creates 64 threads)

I'm not sure how far back this bug goes, so I'll try some older kernels
and see if I can bisect it, because we don't seem to be getting closer
to figuring out what's actually happening..

Dave

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/