From owner-freebsd-bluetooth@FreeBSD.ORG Fri Aug 4 23:38:33 2006 Return-Path: X-Original-To: freebsd-bluetooth@freebsd.org Delivered-To: freebsd-bluetooth@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 54F5616A4DD; Fri, 4 Aug 2006 23:38:33 +0000 (UTC) (envelope-from maksim.yevmenkin@savvis.net) Received: from mailgate1b.savvis.net (mailgate1b.savvis.net [216.91.182.6]) by mx1.FreeBSD.org (Postfix) with ESMTP id F337243D45; Fri, 4 Aug 2006 23:38:32 +0000 (GMT) (envelope-from maksim.yevmenkin@savvis.net) Received: from localhost (localhost.localdomain [127.0.0.1]) by mailgate1b.savvis.net (Postfix) with ESMTP id DC3C03BE66; Fri, 4 Aug 2006 18:38:01 -0500 (CDT) Received: from mailgate1b.savvis.net ([127.0.0.1]) by localhost (mailgate1b.savvis.net [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 07922-02-15; Fri, 4 Aug 2006 18:38:01 -0500 (CDT) Received: from [10.12.163.251] (unknown [10.12.163.251]) by mailgate1b.savvis.net (Postfix) with ESMTP id 630373BE4C; Fri, 4 Aug 2006 18:38:01 -0500 (CDT) Message-ID: <44D3DA58.5080506@savvis.net> Date: Fri, 04 Aug 2006 16:38:00 -0700 From: Maksim Yevmenkin User-Agent: Thunderbird 1.5.0.2 (X11/20060603) MIME-Version: 1.0 To: FreeBSD_Bluetooth Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: amavisd-new at savvis.net Subject: [HEADSUP] bluetooth sockets layer in 7-current is broken X-BeenThere: freebsd-bluetooth@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Using Bluetooth in FreeBSD environments List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Aug 2006 23:38:33 -0000 Dear Bluetooth Users, it has come to my attention that bluetooth sockets layer in 7-current is broken. there are few lor's and panics. this was caused by me not paying closer attention to Robert Watson's ongoing socket work. i will try to fix the code as soon as possible (but no specific date is given :) in the mean time, stick with 6-stable if you are using bluetooth. thanks, max From owner-freebsd-bluetooth@FreeBSD.ORG Fri Aug 4 23:43:01 2006 Return-Path: X-Original-To: freebsd-bluetooth@freebsd.org Delivered-To: freebsd-bluetooth@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1B4BD16A4DA for ; Fri, 4 Aug 2006 23:43:01 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from cyrus.watson.org (cyrus.watson.org [209.31.154.42]) by mx1.FreeBSD.org (Postfix) with ESMTP id 31BFC43D67 for ; Fri, 4 Aug 2006 23:42:59 +0000 (GMT) (envelope-from rwatson@FreeBSD.org) Received: from fledge.watson.org (fledge.watson.org [209.31.154.41]) by cyrus.watson.org (Postfix) with ESMTP id BD1E346C3C; Fri, 4 Aug 2006 19:42:58 -0400 (EDT) Date: Sat, 5 Aug 2006 00:42:58 +0100 (BST) From: Robert Watson X-X-Sender: robert@fledge.watson.org To: Maksim Yevmenkin In-Reply-To: <44D3DA58.5080506@savvis.net> Message-ID: <20060805003953.B45647@fledge.watson.org> References: <44D3DA58.5080506@savvis.net> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: FreeBSD_Bluetooth Subject: Re: [HEADSUP] bluetooth sockets layer in 7-current is broken X-BeenThere: freebsd-bluetooth@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Using Bluetooth in FreeBSD environments List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Aug 2006 23:43:01 -0000 On Fri, 4 Aug 2006, Maksim Yevmenkin wrote: > it has come to my attention that bluetooth sockets layer in 7-current is > broken. there are few lor's and panics. > > this was caused by me not paying closer attention to Robert Watson's ongoing > socket work. > > i will try to fix the code as soon as possible (but no specific date is > given :) > > in the mean time, stick with 6-stable if you are using bluetooth. Sorry about that -- I'm unable to test bluetooth locally, but I'm happy to help debugging in any way I can. The most recent set of changes, possibly the ones that have triggered the problem, was to change things from pru_abort and pru_detach being for abort and close, respectively, with both freeing protocol state, to pru_abort and pru_close notifying of connection tear-down, and pru_detach freeing protocol state once both the socket and protocol layers are done with the socket. Until yesterday, there was a change in place so that calls to notify the socket layer of events in pru_detach, such as soisdisconnected(), resulted in a panic as the kqueue state had already been torn down. Really, soisdisconnected() should be called prior to pru_detach being invoked. However, since a number of protocols still call soisdisconnected() in pru_detach, I've changed the order of events in sofree() so that this is still permitted, as I find myself slightly undecided on exactly if/when various protocols should do the fairly socket notification. So if there were lock order reversals and panics due to soisdisconnected(), those are most likely now fixed, FYI. Robert N M Watson Computer Laboratory University of Cambridge