2.0.33 - Line 1669 in net/ipv4/tcp.c ?

Mike Leddy (mike@ultranet.com.br)
Tue, 20 Jan 1998 19:42:32 -0300


I'm using a standard 2.0.33 kernel uptime 5 days, on my stable server
with ECC memory
(more later) and observed the following three general protections with
squid, tproxyd and
apache. The server is still up and running without any noticable
problems.

I managed to locate the code and source line in question in the hope
that it can help
with bug tracking...

Regards,

Mike - Fortaleza, NE Brasil.

------------------------------------------------------------------------------------------------

FIRST

Jan 19 08:58:06 asa kernel: general protection: 0000
Jan 19 08:58:06 asa kernel: CPU: 0
Jan 19 08:58:06 asa kernel: EIP: 0010:[tcp_recvmsg+368/1036]
Jan 19 08:58:06 asa kernel: EFLAGS: 00010213
Jan 19 08:58:06 asa kernel: eax: f000e987 ebx: 00000000 ecx:
02b2d834 edx: f000f84d
Jan 19 08:58:06 asa kernel: esi: 02b2d8d0 edi: 000001a1 ebp:
02b2d810 esp: 077d7ee8
Jan 19 08:58:06 asa kernel: ds: 0018 es: 0018 fs: 002b gs: 002b
ss: 0018
Jan 19 08:58:06 asa kernel: Process squid (pid: 206, process nr: 24,
stackpage=077d7000)
Jan 19 08:58:06 asa kernel: Stack: 02b2d810 077d7f7c 00000000 00000800
100f5c73 02b2d834 00000000 000001a1
Jan 19 08:58:06 asa kernel: 07835c0c 021d8348 0010531f 00151d22
02b2d810 077d7f78 00000e5e 00000800
Jan 19 08:58:06 asa kernel: 00000000 077d7f7c 00000fff 021d8300
08ce5f68 021d8390 0013722b 021d8390
Jan 19 08:58:06 asa kernel: Call Trace: [inet_recvmsg+114/136]
[<08ce5f68>] [sock_read+171/192] [<08ce6109>] [sys_read+192/232]
[<08ce5f68>
] [system_call+85/128]
Jan 19 08:58:06 asa kernel: [<08ce5f68>]
Jan 19 08:58:06 asa kernel: Code: 8a 40 0d a8 02 74 04 ff 4c 24 10 8b 7c
24 10 39 7b 30 0f 87

SECOND

Jan 19 18:35:47 asa kernel: general protection: 0000
Jan 19 18:35:47 asa kernel: CPU: 0
Jan 19 18:35:47 asa kernel: EIP: 0010:[tcp_recvmsg+368/1036]
Jan 19 18:35:47 asa kernel: EFLAGS: 00010213
Jan 19 18:35:47 asa kernel: eax: f000e987 ebx: 00000000 ecx:
03f04c30 edx: f000f84d
Jan 19 18:35:47 asa kernel: esi: 03f04ccc edi: 0000019a ebp:
03f04c0c esp: 00622ee8
Jan 19 18:35:48 asa kernel: ds: 0018 es: 0018 fs: 002b gs: 002b
ss: 0018
Jan 19 18:35:48 asa kernel: Process apache (pid: 13633, process nr: 33,
stackpage=00622000)
Jan 19 18:35:48 asa kernel: Stack: 03f04c0c 00622f7c 00000000 00000000
100b5f0e 03f04c30 00000000 0000019a
Jan 19 18:35:48 asa kernel: 0312a414 023fe148 000c55c1 00151d22
03f04c0c 00622f78 00000e66 00000000
Jan 19 18:35:48 asa kernel: 00000000 00622f7c 00001000 023fe100
0808bb6c 023fe190 0013722b 023fe190
Jan 19 18:35:49 asa kernel: Call Trace: [inet_recvmsg+114/136]
[sock_read+171/192] [sys_read+192/232] [system_call+85/128]
Jan 19 18:35:49 asa kernel: Code: 8a 40 0d a8 02 74 04 ff 4c 24 10 8b 7c
24 10 39 7b 30 0f 87

THIRD

Jan 19 22:51:57 asa kernel: general protection: 0000
Jan 19 22:51:57 asa kernel: CPU: 0
Jan 19 22:51:57 asa kernel: EIP: 0010:[tcp_recvmsg+368/1036]
Jan 19 22:51:57 asa kernel: EFLAGS: 00010217
Jan 19 22:51:57 asa kernel: eax: f000e987 ebx: 00000000 ecx:
06f45834 edx: f000f84d
Jan 19 22:51:57 asa kernel: esi: 06f458d0 edi: 0000019a ebp:
06f45810 esp: 06088ee8
Jan 19 22:51:57 asa kernel: ds: 0018 es: 0018 fs: 002b gs: 002b
ss: 0018
Jan 19 22:51:58 asa kernel: Process tproxyd (pid: 29475, process nr: 73,
stackpage=06088000)
Jan 19 22:51:58 asa kernel: Stack: 06f45810 06088f7c 00000000 00000000
1084a6c6 06f45834 00000000 0000019a
Jan 19 22:51:58 asa kernel: 05ccb018 05a22648 00859d79 00151d22
06f45810 06088f78 00003e66 00000000
Jan 19 22:51:58 asa kernel: 00000000 06088f7c 00004000 05a22600
0804b13c 05a22690 0013722b 05a22690
Jan 19 22:51:58 asa kernel: Call Trace: [inet_recvmsg+114/136]
[sock_read+171/192] [sys_read+192/232] [system_call+85/128]
Jan 19 22:51:58 asa kernel: Code: 8a 40 0d a8 02 74 04 ff 4c 24 10 8b 7c
24 10 39 7b 30 0f 87
Jan 19 22:51:59 asa kernel: wait_queue is bad (eip = 001512f7)
Jan 19 22:51:59 asa kernel: q = 05a2264c
Jan 19 22:51:59 asa kernel: *q = 06088f08

------------------------------------------------------------------------------------------------

7227 .stabn 68,0,1668,.LM1080-tcp_recvmsg
7228 .LM1080:
7229 1711 8B01 movl (%ecx),%eax
7230 1713 29D0 subl %edx,%eax
7231 1715 89442410 movl %eax,16(%esp)
7232 .stabn 68,0,1669,.LM1081-tcp_recvmsg
7233 .LM1081:
7234 1719 8B4324 movl 36(%ebx),%eax
7235 171c 8A400D movb 13(%eax),%al <++++++++++++++++++++
HERE
7236 171f A802 testb $2,%al
7237 1721 7404 je .L2287
7238 .stabn 68,0,1670,.LM1082-tcp_recvmsg
7239 .LM1082:
7240 1723 FF4C2410 decl 16(%esp)

1664 while (skb != (struct sk_buff
*)&sk->receive_queue)
1665 {
1666 if (before(*seq, skb->seq))
1667 break;
1668 offset = *seq - skb->seq;
1669 if (skb->h.th->syn)
<++++++++++++++++++++ HERE
1670 offset--;
1671 if (offset < skb->len)
1672 goto found_ok_skb;
1673 if (skb->h.th->fin)
1674 goto found_fin_ok;
1675 if (!(flags & MSG_PEEK))
1676 skb->used = 1;
1677 skb = skb->next;
1678 }

------------------------------------------------------------------------------------------------

Linux version 2.0.33 (root@asa) (gcc version 2.7.2.1) #3 Thu Jan 15
10:50:43 GMT-3 1998

ASUS P/I-P55T2P4 - Pentium 200Mhz - 128MB ECC memory - Adaptec AHA-2940A
Ultra SCSI - NE2K -
DISKS: SCSI QUANTUM FIREBALL_TM3200S (root) - IDE SEAGATE ST31722A (for
squid spool)

No modules loadedCONFIG_EXPERIMENTAL=y
CONFIG_MODULES=y
CONFIG_MODVERSIONS=y
CONFIG_KERNELD=y
CONFIG_NET=y
CONFIG_PCI=y
CONFIG_SYSVIPC=y
CONFIG_BINFMT_ELF=y
CONFIG_KERNEL_ELF=y
CONFIG_M586=y
CONFIG_BLK_DEV_FD=y
CONFIG_BLK_DEV_IDE=y
CONFIG_BLK_DEV_IDECD=y
CONFIG_BLK_DEV_IDETAPE=y
CONFIG_BLK_DEV_IDE_PCMCIA=y
CONFIG_BLK_DEV_CMD640=y
CONFIG_BLK_DEV_RZ1000=y
CONFIG_BLK_DEV_TRITON=y
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_MD=y
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_FIREWALL=y
CONFIG_NET_ALIAS=y
CONFIG_INET=y
CONFIG_IP_FORWARD=y
CONFIG_SYN_COOKIES=y
CONFIG_RST_COOKIES=y
CONFIG_IP_FIREWALL=y
CONFIG_IP_FIREWALL_VERBOSE=y
CONFIG_IP_TRANSPARENT_PROXY=y
CONFIG_IP_ALWAYS_DEFRAG=y
CONFIG_IP_ACCT=y
CONFIG_NET_IPIP=y
CONFIG_IP_ALIAS=y
CONFIG_INET_RARP=y
CONFIG_IP_NOSR=y
CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
CONFIG_BLK_DEV_SR=y
CONFIG_SCSI_MULTI_LUN=y
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_AHA152X=yCONFIG_EXPERIMENTAL=y
CONFIG_MODULES=y
CONFIG_MODVERSIONS=y
CONFIG_KERNELD=y
CONFIG_NET=y
CONFIG_PCI=y
CONFIG_SYSVIPC=y
CONFIG_BINFMT_ELF=y
CONFIG_KERNEL_ELF=y
CONFIG_M586=y
CONFIG_BLK_DEV_FD=y
CONFIG_BLK_DEV_IDE=y
CONFIG_BLK_DEV_IDECD=y
CONFIG_BLK_DEV_IDETAPE=y
CONFIG_BLK_DEV_IDE_PCMCIA=y
CONFIG_BLK_DEV_CMD640=y
CONFIG_BLK_DEV_RZ1000=y
CONFIG_BLK_DEV_TRITON=y
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_MD=y
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_FIREWALL=y
CONFIG_NET_ALIAS=y
CONFIG_INET=y
CONFIG_IP_FORWARD=y
CONFIG_SYN_COOKIES=y
CONFIG_RST_COOKIES=y
CONFIG_IP_FIREWALL=y
CONFIG_IP_FIREWALL_VERBOSE=y
CONFIG_IP_TRANSPARENT_PROXY=y
CONFIG_IP_ALWAYS_DEFRAG=y
CONFIG_IP_ACCT=y
CONFIG_NET_IPIP=y
CONFIG_IP_ALIAS=y
CONFIG_INET_RARP=y
CONFIG_IP_NOSR=y
CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
CONFIG_BLK_DEV_SR=yCONFIG_SCSI_AHA1740=y
CONFIG_SCSI_AIC7XXX=y
CONFIG_AIC7XXX_TAGGED_QUEUEING=y
CONFIG_AIC7XXX_PAGE_ENABLE=y
CONFIG_AIC7XXX_PROC_STATS=y
CONFIG_NETDEVICES=y
CONFIG_PPP=y
CONFIG_NET_ETHERNET=y
CONFIG_NET_ISA=y
CONFIG_NE2000=y
CONFIG_QUOTA=y
CONFIG_MINIX_FS=y
CONFIG_EXT2_FS=y
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=y
CONFIG_PROC_FS=y
CONFIG_NFS_FS=y
CONFIG_SMB_FS=y
CONFIG_SMB_WIN95=y
CONFIG_ISO9660_FS=y
CONFIG_SERIAL=y
CONFIG_CYCLADES=y
CONFIG_WATCHDOG=y
CONFIG_SOFT_WATCHDOG=y (Still using soft watchdog - waiting for
hardware....)
CONFIG_PCWATCHDOG=y
CONFIG_RTC=y

CONFIG_SCSI_MULTI_LUN=y
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_AHA152X=y
CONFIG_SCSI_AHA1542=y

CONFIG_SCSI_AHA1542=y

------------------------------------------------------------------------------------------------