Re: WARNING: at net/ipv4/tcp_input.c:2054 tcp_mark_head_lost()

From: Guillaume Chazarain
Date: Wed Feb 27 2008 - 13:57:15 EST


Hi Ilpo,

On Wed, Feb 27, 2008 at 10:29 AM, Ilpo JÃrvinen
<ilpo.jarvinen@xxxxxxxxxxx> wrote:
> I did in the past a debug patch
> that verifies TCP's write queue state by the hard way, ie., by bruteforce
> walking often enough to catch inconsistencies early enough to find out
> the root cause.

Are you talking about this one:
http://marc.info/?l=linux-netdev&m=119482084511178 ?
I attached a forward port to current git.

I am using this patch, and caught this maybe related error while Bittorrenting:

KERNEL: assertion (packets <= tp->packets_out) failed at
/home/g/linux-2.6/net/ipv4/tcp_input.c (2145)
KERNEL: assertion (packets <= tp->packets_out) failed at
/home/g/linux-2.6/net/ipv4/tcp_input.c (2145)
------------[ cut here ]------------
WARNING: at /home/g/linux-2.6/net/ipv4/tcp_input.c:2515
tcp_fastretrans_alert+0xa5/0xa4f()
Modules linked in: radeon drm acpi_cpufreq lm90 hwmon binfmt_misc
dm_mirror dm_mod snd_intel8x0m snd_intel8x0 snd_seq_dummy
snd_ac97_codec ac97_bus snd_seq_oss snd_seq_midi_event snd_seq
snd_seq_device snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd
ohci1394 ieee1394 hci_usb ipw2200 bluetooth usbhid ieee80211
firewire_ohci soundcore hid snd_page_alloc sg rtc_cmos i2c_i801
iTCO_wdt serio_raw firewire_core button ac asus_laptop i2c_core
rtc_core crc_itu_t irda crc_ccitt battery skge led_class rtc_lib
pcspkr ieee80211_crypt sdhci mmc_core sr_mod cdrom pata_acpi uhci_hcd
ohci_hcd ehci_hcd
Pid: 0, comm: swapper Not tainted 2.6.25-rc2-gc-00243-g54a8145 #379
[<c011aff0>] warn_on_slowpath+0x41/0x51
[<c02e0ae0>] ? tcp_sacktag_walk+0x67/0x2a6
[<c02e9c9f>] ? tcp_v4_send_check+0x77/0xb1
[<c02e5aa2>] ? tcp_transmit_skb+0x644/0x677
[<c0169634>] ? __slab_free+0x56/0x262
[<c02b5738>] ? skb_release_data+0x84/0x89
[<c016a004>] ? kfree+0x6e/0x7a
[<c02b5738>] ? skb_release_data+0x84/0x89
[<c02e0046>] tcp_fastretrans_alert+0xa5/0xa4f
[<c02e2089>] tcp_ack+0xba6/0xcf9
[<c02e4740>] tcp_rcv_established+0xdb/0x5fb
[<c02e960e>] tcp_v4_do_rcv+0x28/0x188
[<c02ead20>] tcp_v4_rcv+0x5a2/0x607
[<f8985daf>] ? ipw_rx+0x12b5/0x12bd [ipw2200]
[<c02d4165>] ip_local_deliver_finish+0xda/0x16a
[<c02d4543>] ip_local_deliver+0x64/0x6d
[<c02d406c>] ip_rcv_finish+0x244/0x263
[<c02d44c1>] ip_rcv+0x1d2/0x1f0
[<c02b9e86>] netif_receive_skb+0x34d/0x3d1
[<c02bbc2f>] process_backlog+0x5b/0xa5
[<c02bb849>] net_rx_action+0x86/0x166
[<c011f418>] __do_softirq+0x38/0x7a
[<c0106327>] do_softirq+0x3e/0x72
[<c014a0e3>] ? handle_fasteoi_irq+0x0/0xbd
[<c011f364>] irq_exit+0x28/0x61
[<c01063f0>] do_IRQ+0x95/0xaa
[<c0105293>] common_interrupt+0x23/0x28
[<c014007b>] ? cgroup_scan_tasks+0x73/0x15b
[<c0110000>] ? io_apic_set_pci_routing+0x2b/0x119
[<c023a59c>] ? acpi_idle_enter_simple+0x15b/0x1c7
[<c023a6bb>] acpi_idle_enter_bm+0xb3/0x2cc
[<c02acc2b>] cpuidle_idle_call+0x4c/0x71
[<c02acbdf>] ? cpuidle_idle_call+0x0/0x71
[<c0103570>] cpu_idle+0x5a/0x87
[<c0311af8>] rest_init+0x5c/0x5e
=======================
---[ end trace c3302487bda6288d ]---


I attached the full dmesg, but I don't think there is any output
caused by the TCP_DEBUG patch.


Cheers.

--
Guillaume

Attachment: TCP_DEBUG
Description: Binary data

Attachment: dmesg-tcp
Description: Binary data