From: Sven Eckelmann <sven.eckelmann@gmx.de>
To: The list for a Better Approach To Mobile Ad-hoc Networking
<b.a.t.m.a.n@open-mesh.net>
Subject: Re: [B.A.T.M.A.N.] Batman gateway lock ups
Date: Mon, 8 Sep 2008 23:18:42 +0200 [thread overview]
Message-ID: <200809082318.54082.sven.eckelmann@gmx.de> (raw)
In-Reply-To: <5635aa0d0809050801k1c5f0bd5wa366574efedd910f@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 2135 bytes --]
Ok, I got the /proc/modules file now. Current situation is following: it
crashes inside the the batman module add position 0x00000aa4
a60: 3c020000 lui v0,0x0
a64: 8c500024 lw s0,36(v0)
a68: 24420024 addiu v0,v0,36
a6c: 12020014 beq s0,v0,ac0 <cleanup_module+0x610>
a70: 3c040000 lui a0,0x0
a74: 3c050000 lui a1,0x0
a78: 3c020000 lui v0,0x0
a7c: 24840000 addiu a0,a0,0
a80: 24a50088 addiu a1,a1,136
a84: 24420000 addiu v0,v0,0
a88: 0040f809 jalr v0
a8c: 24060283 li a2,643
a90: 8e040004 lw a0,4(s0)
a94: 8e030000 lw v1,0(s0)
a98: 3c020010 lui v0,0x10
a9c: 34420100 ori v0,v0,0x100
aa0: 8e110008 lw s1,8(s0)
aa4: ac830000 sw v1,0(a0)
aa8: ae020000 sw v0,0(s0)
aac: 3c020020 lui v0,0x20
ab0: 34420200 ori v0,v0,0x200
ab4: ac640004 sw a0,4(v1)
This is part of the compiled version of packet_recv_thread. Due the
optimizations done I cannot say were exactly the problem lies.
I think the code of get_ip_addr() got inlined in packet_recv_thread and we
need to search for the crash inside of it at list_del(&entry->list);
I would also say that the really crash is inside __list_del where prev and
next will be set. To check it, look at LIST_POISON1 and LIST_POISON1 inside of
poison.h of the current linux kernel. You will notice that the values are
0x00100100 and 0x00200200 == address of the failed paging request. The list
poison stuff will be done in in list_del after calling __list_del (it is the
sequence lui, ori, sw in the asm snipped). So could it be that we have a
poisened entry inside the list?
This could for example happen when we get scheduled (please notice that the
optimizer exchanged many instrictions) while another part of the program is
deleting entries. I haven't checked the rest of the code if that really could
happen, but that is my current idea.
So for better readability the callstack:
- packet_recv_thread
- get_ip_addr from gateway.c:401
- list_del from gateway.c:645
- __list_del
Best regards
Sven Eckelmann
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 197 bytes --]
next prev parent reply other threads:[~2008-09-08 21:18 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-09-05 15:01 [B.A.T.M.A.N.] Batman gateway lock ups Outback Dingo
2008-09-08 7:08 ` Sven Eckelmann
2008-09-08 21:18 ` Sven Eckelmann [this message]
2008-09-08 21:45 ` Sven Eckelmann
2008-09-09 8:03 ` Sven Eckelmann
2008-09-09 11:26 ` Simon Wunderlich
2008-09-09 22:45 ` Sven Eckelmann
2008-09-10 9:50 ` Sven Eckelmann
2009-07-21 20:48 ` Simon Wunderlich
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=200809082318.54082.sven.eckelmann@gmx.de \
--to=sven.eckelmann@gmx.de \
--cc=b.a.t.m.a.n@open-mesh.net \
/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