From mboxrd@z Thu Jan 1 00:00:00 1970 Received: by 10.42.229.71 with SMTP id jh7cs220950icb; Thu, 20 Jan 2011 15:00:42 -0800 (PST) Received: by 10.224.19.142 with SMTP id a14mr2415324qab.194.1295564441991; Thu, 20 Jan 2011 15:00:41 -0800 (PST) Return-Path: Received: from rubyforge.org (rubyforge.org [205.234.109.19]) by mx.google.com with ESMTP id e7si18048736qck.99.2011.01.20.15.00.41; Thu, 20 Jan 2011 15:00:41 -0800 (PST) Received-SPF: pass (google.com: domain of sup-devel-bounces@rubyforge.org designates 205.234.109.19 as permitted sender) client-ip=205.234.109.19; Authentication-Results: mx.google.com; spf=pass (google.com: domain of sup-devel-bounces@rubyforge.org designates 205.234.109.19 as permitted sender) smtp.mail=sup-devel-bounces@rubyforge.org Received: from rubyforge.org (rubyforge.org [127.0.0.1]) by rubyforge.org (Postfix) with ESMTP id 700B519783BD; Thu, 20 Jan 2011 18:00:41 -0500 (EST) Received: from dmz-mailsec-scanner-1.mit.edu (DMZ-MAILSEC-SCANNER-1.MIT.EDU [18.9.25.12]) by rubyforge.org (Postfix) with ESMTP id 4365818583C1 for ; Thu, 20 Jan 2011 17:57:25 -0500 (EST) X-AuditID: 1209190c-b7ba9ae0000009f8-48-4d38bdd49ff5 Received: from mailhub-auth-4.mit.edu ( [18.7.62.39]) by dmz-mailsec-scanner-1.mit.edu (Symantec Brightmail Gateway) with SMTP id C1.88.02552.4DDB83D4; Thu, 20 Jan 2011 17:57:24 -0500 (EST) Received: from outgoing.mit.edu (OUTGOING-AUTH.MIT.EDU [18.7.22.103]) by mailhub-auth-4.mit.edu (8.13.8/8.9.2) with ESMTP id p0KMvOq0026801 for ; Thu, 20 Jan 2011 17:57:24 -0500 Received: from localhost (ool-44c4de0a.dyn.optonline.net [68.196.222.10]) (authenticated bits=0) (User authenticated as ezyang@ATHENA.MIT.EDU) by outgoing.mit.edu (8.13.6/8.12.4) with ESMTP id p0KMvMl8003566 for ; Thu, 20 Jan 2011 17:57:24 -0500 (EST) From: "Edward Z. Yang" To: sup-devel Date: Thu, 20 Jan 2011 17:57:22 -0500 Message-Id: <1295563880-sup-5855@ezyang> User-Agent: Sup/git X-Brightmail-Tracker: AAAAAQCq+Kk= Subject: [sup-devel] Strategy for dealing with nil and thread errors X-BeenThere: sup-devel@rubyforge.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: Sup developer discussion List-Id: Sup developer discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: sup-devel-bounces@rubyforge.org Errors-To: sup-devel-bounces@rubyforge.org My experience for having run Sup for some appreciable amount of time includes running into a few Sup exceptions where 'the wrong id is called on some object' or we attempt to access a field that doesn't exist on nil. I also have run into any number of race condition style bugs with respect to threading and the user interface. Usually the bugs are kind of harmless, so I just shrug, ignore the UI oddity, reboot our client, and hope it doesn't come back again. Sometimes it's really bad, in which case I might need to reload our index (but usually it goes away after that) or patch the immediate bit of code that is complaining and hope I have encouraged some silent corruption. I was curious if other people have had similar experiences. I know threading is fucking hard, and writing code that is robust against internal corruption (which I assume is the source of nils) is fucking hard, but I think it's a worthy goal and I think we should be thinking about ways to help rule out these errors in the Sup codebase. Cheers, Edward _______________________________________________ Sup-devel mailing list Sup-devel@rubyforge.org http://rubyforge.org/mailman/listinfo/sup-devel