From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Alessandro Suardi" Subject: [2.6.17-git22] lock debugging output Date: Tue, 4 Jul 2006 20:13:21 +0200 Message-ID: <5a4c581d0607041113o2993cbf5m7011b2a06e96d974@mail.gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Return-path: Received: from ug-out-1314.google.com ([66.249.92.171]:39485 "EHLO ug-out-1314.google.com") by vger.kernel.org with ESMTP id S932294AbWGDSNX (ORCPT ); Tue, 4 Jul 2006 14:13:23 -0400 Received: by ug-out-1314.google.com with SMTP id c2so1860886ugf for ; Tue, 04 Jul 2006 11:13:21 -0700 (PDT) To: "Linux Kernel" , netdev@vger.kernel.org Content-Disposition: inline Sender: netdev-owner@vger.kernel.org List-Id: netdev.vger.kernel.org Hoping gmail doesn't mess it too badly... eth0: tg3 (BCM5751 Gbit Ethernet) eth1: ipw2200 (Intel PRO/Wireless 2200BG) Sequence: 1. boot with eth0 disconnected (eth1 doesn't come up on boot) 2. ifup eth1, bring wpa-supplicant up 3. run 'dig' ---> Note that due to my very variable network setup, I had no /etc/resolv.conf in place at the moment I ran 'dig'. Second execution of 'dig' did not print any lock debug output but just (properly) stalled; then I realized I didn't put my home resolv.conf in place, did that and 'dig' just worked. System appears to work and I'm actually typing this report from the same kernel that reported the following upon invoking 'dig' : ================================= [ INFO: inconsistent lock state ] --------------------------------- inconsistent {softirq-on-W} -> {in-softirq-R} usage. dig/2373 [HC0[0]:SC1[2]:HE1:SE0] takes: (&sk->sk_dst_lock){---?}, at: [] sk_dst_check+0x1b/0xe6 {softirq-on-W} state was registered at: [] lock_acquire+0x60/0x80 [] _write_lock+0x19/0x28 [] sock_setsockopt+0x351/0x49c [] sys_setsockopt+0x5b/0x8d [] sys_socketcall+0x148/0x186 [] sysenter_past_esp+0x56/0x8d irq event stamp: 1130 hardirqs last enabled at (1130): [] local_bh_enable_ip+0xb2/0xbb hardirqs last disabled at (1129): [] local_bh_enable_ip+0x53/0xbb softirqs last enabled at (1120): [] dev_queue_xmit+0x205/0x211 softirqs last disabled at (1121): [] do_softirq+0x4d/0xac other info that might help us debug this: 2 locks held by dig/2373: #0: (sk_lock-AF_INET6){--..}, at: [] udpv6_sendmsg+0x546/0x818 [ipv6] #1: (slock-AF_INET6){-...}, at: [] icmpv6_send+0x222/0x549 [ipv6] stack backtrace: [] show_trace+0xd/0x10 [] dump_stack+0x19/0x1b [] print_usage_bug+0x1cc/0x1d9 [] mark_lock+0x193/0x360 [] __lock_acquire+0x3b7/0x969 [] lock_acquire+0x60/0x80 [] _read_lock+0x19/0x28 [] sk_dst_check+0x1b/0xe6 [] ip6_dst_lookup+0x31/0x16d [ipv6] [] icmpv6_send+0x332/0x549 [ipv6] [] udpv6_rcv+0x4ab/0x4d6 [ipv6] [] ip6_input+0x19c/0x228 [ipv6] [] ipv6_rcv+0x188/0x1b7 [ipv6] [] netif_receive_skb+0x18d/0x1d8 [] process_backlog+0x80/0xf9 [] net_rx_action+0x80/0x174 [] __do_softirq+0x46/0x9c [] do_softirq+0x4d/0xac ======================= [] local_bh_enable+0xc8/0xec [] dev_queue_xmit+0x205/0x211 [] neigh_resolve_output+0x1db/0x207 [] ip6_output2+0x1e4/0x202 [ipv6] [] ip6_output+0x69e/0x6c8 [ipv6] [] ip6_push_pending_frames+0x2c5/0x377 [ipv6] [] udp_v6_push_pending_frames+0x154/0x176 [ipv6] [] udpv6_sendmsg+0x608/0x818 [ipv6] [] inet_sendmsg+0x3b/0x48 [] sock_sendmsg+0xe8/0x103 [] sys_sendmsg+0x14f/0x1aa [] sys_socketcall+0x16b/0x186 [] sysenter_past_esp+0x56/0x8d Hope this may be useful to lock debug devs / netdev folks... Ciao, --alessandro "I can't change what makes me high and I can't change what I believe in" (Heather Nova, "My Fidelity")