On 25 Feb 01 at 21:37, David S. Miller wrote:
> > During heavy outgoing traffic while benchmarking a network driver I
> > received this message:
> >
> > KERNEL: assertion (atomic_read(&sk->wmem_alloc) == 0) failed at
> af_inet.c(164):inet_sock_destruct
> >
> > This was with (almost ...) stock 2.4.1.
>
> What platform and what driver? It is the first time that any such
> instance of this message has been reported.
Dave, it is not first time. Unfortunately, I do not have my original
message anymore, only Alexey's reply...
It happened on dual PIII/800, with tulip driver at:
Nov 23, 13:30:37
Nov 24, 22:24:02 - and whoa at
22:24:10:
Unable to handle kernel NULL pointer dereference
at virtual address 00000000
*pde = 0
Oops: 0002
CPU: 1
EIP: remove_wait_queue+6/36
EFLAGS: 00010086
...
Process ping (pid: 3948, stackpage=c712d000)
...
trace: wait_for_packet+230/300
skb_recv_datagram+208/240
raw_recvmsg+104/308
inet_recvmsg+88/112
sock_recvmsg+61/172
sys_recvfrom+173/264
do_page_fault+323/1000 ??
[<dcf02093>] ??
do_page_fault+0/1000 ??
do_mmap_pgoff+895/1044 ??
do_getitimer+156/164 ??
sys_socketcall+383/508
system_call+51/56
It did not happened since that time, although I was running 2.4.0-test11
up to 28th November.
Machine is running arpwatch, and periodically pings all hosts on my
local C subnet. It is not perfect, but:
while true; do
Q=1
while [ $Q -ne 255 ]; do
IP=147.32.240.$Q
if [ ! -f $IP ]; then
if [ `ping -c 1 $IP | wc -l` -ne 6 ]; then
echo $IP is dead
else
Y=`cat /proc/net/arp | grep "^147.32.240.$Q " | cut -c42-58`
echo $IP is alive, ethernet node $Y
echo $IP $Y > $IP
host -t any $IP | tee /dev/tty >> $IP
fi
fi
Q=`expr $Q + 1`
done
done
I hope this helps.
Petr Vandrovec
vandrove@xxxxxxxxxx
Reply from Alexey follows:
From: kuznet@xxxxxxxxxxxxx
Message-Id: <200011232008.XAA06575@xxxxxxxxxxxxx>
Subject: Re: 2.4.0-test11 and af_inet.c(164)
To: VANDROVE@xxxxxxxxxx (Petr Vandrovec)
Date: Thu, 23 Nov 2000 23:08:16 +0300 (MSK)
Cc: netdev@xxxxxxxxxxx
In-Reply-To: <DB22ED31E32@xxxxxxxxxxxxxxxx> from "Petr Vandrovec" at Nov 23, 0
07:45:43 pm
X-Mailer: ELM [version 2.4 PL24]
MIME-Version: 1.0
X-Orcpt: rfc822;netdev@xxxxxxxxxxx
Sender: owner-netdev@xxxxxxxxxxx
Precedence: bulk
Hello!
> KERNEL: assertion (atomic_read(&sk->wmem_alloc) == 0) failed at
> af_inet.c(164):inet_sock_destruct
....
> Everything still works and I have no idea how to find whether some 100 bytes
> were leaked somewhere or not... (of course, error is non-repeatable)
Well, it is not plain 100 bytes leaked.
It is rather an absolutely impossible event, which cannot happen
even if all the bits leaked. 8)
OK... Audit is started.
Alexey
|