From owner-freebsd-current Tue Jul 16 16:14: 1 2002 Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1AD5B37B400 for ; Tue, 16 Jul 2002 16:13:58 -0700 (PDT) Received: from mail.speakeasy.net (mail14.speakeasy.net [216.254.0.214]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6AF2543E42 for ; Tue, 16 Jul 2002 16:13:57 -0700 (PDT) (envelope-from jhb@FreeBSD.org) Received: (qmail 7411 invoked from network); 16 Jul 2002 23:13:56 -0000 Received: from unknown (HELO server.baldwin.cx) ([216.27.160.63]) (envelope-sender ) by mail14.speakeasy.net (qmail-ldap-1.03) with DES-CBC3-SHA encrypted SMTP for ; 16 Jul 2002 23:13:56 -0000 Received: from laptop.baldwin.cx (laptop.baldwin.cx [192.168.0.4]) by server.baldwin.cx (8.11.6/8.11.6) with ESMTP id g6GNDs054613; Tue, 16 Jul 2002 19:13:54 -0400 (EDT) (envelope-from jhb@FreeBSD.org) Message-ID: X-Mailer: XFMail 1.5.2 on FreeBSD X-Priority: 3 (Normal) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8bit MIME-Version: 1.0 In-Reply-To: <20020716225346.GA552@genius.tao.org.uk> Date: Tue, 16 Jul 2002 19:14:05 -0400 (EDT) From: John Baldwin To: Josef Karthauser Subject: Re: What to do with witness verbiage (is this new?)? Cc: dnelson@allantgroup.com, current@freebsd.org, zipzippy@sonic.net, Don Lewis Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On 16-Jul-2002 Josef Karthauser wrote: > On Thu, Jul 11, 2002 at 12:33:27PM +0100, Josef Karthauser wrote: >> On Thu, Jul 11, 2002 at 04:01:08AM -0700, Don Lewis wrote: > > [stuff about > could sleep with "inp" locked from /usr/src/sys/netinet/tcp_usrreq.c:647 > could sleep with "tcp" locked from /usr/src/sys/netinet/tcp_usrreq.c:630 > cut] > > I saw the recent changes to -current to try and fix this, but I'm still > seeing it. > > Here's a typical stack trace: > > Debugger(c0374e00,c0389851,534,c0374e47,c037d8c8) at Debugger+0x54 > witness_sleep(1,0,c0389851,534,c021bf24) at witness_sleep+0x135 > uma_zalloc_arg(c1564000,0,4,c021bf24,c1564000) at uma_zalloc_arg+0x39 > malloc(50,c03c1060,4,c40e5000,c40e5000) at malloc+0x55 > uhci_allocm(c40e5000,c40edc40,a4,c024a000,c160e72e) at uhci_allocm+0x3d > usbd_transfer(c40edc00,c434b600,c4126174,c42b1000,a4) at > usbd_transfer+0xba > aue_encap(c4126000,c160e700,0,49c,c41260dc) at aue_encap+0xa2 > aue_start(c4126000,0,c0379f81,134,0) at aue_start+0xcc > if_handoff(c41260c8,c160e700,c4126000,0,de0259e4) at if_handoff+0x107 > ether_output_frame(c4126000,c160e700,6,c4336ba8,de0259e4) at > ether_output_frame+0x241 > ether_output(c4126000,c160e700,c4336ba8,c4ace200,0) at > ether_output+0x4a2 > ip_output(c160e700,0,c4336ba4,0,0) at ip_output+0xa75 > tcp_output(c4336c68,c160ed00,c037de40,287,0) at tcp_output+0xc60 > tcp_usr_send(c4ce1320,0,c160ed00,0,0) at tcp_usr_send+0x1be > sosend(c4ce1320,0,de025c7c,c160ed00,0) at sosend+0x4c3 > soo_write(c4d62078,de025c7c,c4d5cc80,0 > > Is anyone anywhere near this code at the moment? This is because USB network drivers are possibly doing bad things. Either that or the network locking is making bogus assumptions about what device driver routines will and will not do. Probably the network stack should not hold locks across a driver's start method. -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message