From: Alessandro Suardi <alessandro.suardi@gmail.com>
To: Harald Welte <laforge@netfilter.org>,
Alessandro Suardi <alessandro.suardi@gmail.com>,
netdev@oss.sgi.com,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
netfilter-devel@lists.netfilter.org
Subject: Re: oops in 2.6.13-rc6-git12 in tcp/netfilter routines
Date: Thu, 25 Aug 2005 19:26:41 +0200 [thread overview]
Message-ID: <5a4c581d050825102678c27b4e@mail.gmail.com> (raw)
In-Reply-To: <20050825165550.GC4442@rama.de.gnumonks.org>
On 8/25/05, Harald Welte <laforge@netfilter.org> wrote:
> On Thu, Aug 25, 2005 at 03:39:02PM +0200, Alessandro Suardi wrote:
> > Howdy, and excuse me for crossposting - feel free to zap CC to
> > unrelated, if any, mailing lists.
> >
> > just gave PeerGuardian a spin on my eDonkey home box and
> > said box didn't last half a day before oopsing in netlink/nf/tcp
> > related routines (or so it seems to my untrained eye).
>
> Yes, it indeed could be that there is some fishy interaction between the
> tcp stack and ip_queue causing the oops.
>
> > K7800, 256MB RAM, uptodate FC3 running 2.6.13-rc6-git12,
> > doing nothing but running MetaMachine's eDonkey 1.4.3 QT gui.
> > PeerGuardian is the 1.5 beta version available from methlabs.org.
>
> Is it true that PeerGuardian is a proprietary application? I'm not
> going to debug this problem using a proprietary ip_queue program, sorry.
I'm not sure I understand the issue; I built PG from these sources:
http://prdownloads.sourceforge.net/peerguardian/pglinux-1.5beta.tar.gz?download
and I had to install the iptables-devel FC3 rpm to build. The PG
sources seem to be licensed under GPLv2. But maybe you're
referring to the fact that whatever PG does, it doesn't show up
as output from 'iptables -L' ?
> If you can produce a testcase with open source userspace ip_queue code,
> I could look into reproducing the problem locally and debugging the
> problem more thoroughly.
So far the box has been running for over four hours, I'll configure
my laptop as a netdump server hoping it might capture something
if the ed2k box crashes again later. I'm afraid I won't be able to set
up a real testcase (and btw, edonkey v1.4.3 from MetaMachine is
actually a proprietary program, though entirely in userspace).
> While it definitely is a kernel bug (whatever userspace sends should not
> crash the kernel), it might be something that specifically [only]
> PeerGuardian does to the packet. Something that ip_queue doesn't check
> (but should check) on packet reinjection and therefore upsets the TCP stack.
>
> Also helpful would be the output of an "strace -f -x -s65535 -e
> trace=sendmsg" on the PeerGuardian (daemon?) process.
>
>
> > [<c0103714>] die+0xe4/0x170
> > [<c010381f>] do_trap+0x7f/0xc0
> > [<c0103b33>] do_invalid_op+0xa3/0xb0
> > [<c0102faf>] error_code+0x4f/0x54
> > [<c02eb05b>] kfree_skbmem+0xb/0x20
> > [<c02eb0cf>] __kfree_skb+0x5f/0xf0
>
> ok, so something down the chain from kfree_skb() results in an invalid
> operation? looks more like some compiler problem, bad memory or memory
> corruption to me. Try to reproduce the problem without PG.
compiler is fc3's latest - gcc-3.4.4-2.fc3. I might have a go at
memtest86 in the next weeks if more symptoms point at
possible bad RAM.
> > [<c031304a>] tcp_clean_rtx_queue+0x16a/0x470
> > [<c0313746>] tcp_ack+0xf6/0x360
> > [<c0315d57>] tcp_rcv_established+0x277/0x7a0
> > [<c031eba0>] tcp_v4_do_rcv+0xf0/0x110
> > [<c031f2a0>] tcp_v4_rcv+0x6e0/0x820
> > [<c0305594>] ip_local_deliver_finish+0x84/0x160
>
> so something in the tcp stack ends up doing tcp_clean_rtx_queue()
>
> > [<c02fbe4a>] nf_reinject+0x13a/0x1c0
> > [<c033f0d8>] ipq_issue_verdict+0x28/0x40
> > [<c033f968>] ipq_set_verdict+0x48/0x70
>
> ip_queue reinjects a packet via nf_reinject()
>
> > [<c033fa79>] ipq_receive_peer+0x39/0x50
> > [<c033fc72>] ipq_receive_sk+0x172/0x190
>
> ip_queue receives and ipq verdict msg packet from netlink
>
> > [<c02fffa5>] netlink_data_ready+0x35/0x60
> > [<c02ff4a4>] netlink_sendskb+0x24/0x60
> > [<c02ff657>] netlink_unicast+0x127/0x160
> > [<c02ffcc4>] netlink_sendmsg+0x204/0x2b0
> > [<c02e6dc0>] sock_sendmsg+0xb0/0xe0
> > [<c02e83f4>] sys_sendmsg+0x134/0x240
> > [<c02e88e4>] sys_socketcall+0x224/0x230
> > [<c0102d3b>] sysenter_past_esp+0x54/0x75
>
> process sendmsg()s on the netlink socket.
Thanks,
--alessandro
"Not every smile means I'm laughing inside"
(Wallflowers - "From The Bottom Of My Heart")
next prev parent reply other threads:[~2005-08-25 17:26 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <5a4c581d05082506395fa984ae@mail.gmail.com>
2005-08-25 16:55 ` oops in 2.6.13-rc6-git12 in tcp/netfilter routines Harald Welte
[not found] ` <20050825165550.GC4442@rama.de.gnumonks.org>
2005-08-25 17:26 ` Alessandro Suardi [this message]
2005-08-25 21:02 ` Sven Schuster
[not found] ` <20050825210200.GA10374@zion.homelinux.com>
2005-08-26 8:35 ` Harald Welte
2005-08-26 17:52 ` Patrick McHardy
[not found] ` <430F56C7.8070500@trash.net>
2005-08-26 20:40 ` Alessandro Suardi
2005-08-25 13:39 Alessandro Suardi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5a4c581d050825102678c27b4e@mail.gmail.com \
--to=alessandro.suardi@gmail.com \
--cc=laforge@netfilter.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@oss.sgi.com \
--cc=netfilter-devel@lists.netfilter.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).