From mboxrd@z Thu Jan 1 00:00:00 1970 Received: by 10.90.117.16 with SMTP id p16cs452587agc; Tue, 13 Oct 2009 13:27:24 -0700 (PDT) Received: by 10.224.13.19 with SMTP id z19mr6394076qaz.242.1255465642404; Tue, 13 Oct 2009 13:27:22 -0700 (PDT) Return-Path: Received: from rubyforge.org (rubyforge.org [205.234.109.19]) by mx.google.com with ESMTP id 12si6905863qyk.115.2009.10.13.13.27.19; Tue, 13 Oct 2009 13:27:22 -0700 (PDT) Received-SPF: pass (google.com: domain of sup-talk-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-talk-bounces@rubyforge.org designates 205.234.109.19 as permitted sender) smtp.mail=sup-talk-bounces@rubyforge.org; dkim=neutral (body hash did not verify) header.i=@gmail.com Received: from rubyforge.org (rubyforge.org [127.0.0.1]) by rubyforge.org (Postfix) with ESMTP id 34F671218274; Tue, 13 Oct 2009 16:27:19 -0400 (EDT) Received: from mail-ew0-f215.google.com (mail-ew0-f215.google.com [209.85.219.215]) by rubyforge.org (Postfix) with ESMTP id 3FF321D7882B for ; Tue, 13 Oct 2009 16:18:48 -0400 (EDT) Received: by ewy11 with SMTP id 11so10245537ewy.35 for ; Tue, 13 Oct 2009 13:18:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:content-type:subject:from:to :in-reply-to:references:date:message-id:user-agent :content-transfer-encoding; bh=bbaPFMK2WmZIYGXu9d0h++qrKTFIexqPat4YjmrYgQM=; b=dX/nPGuh25MLRuju4KS33OkwplUuYElyPvo6PSAfdmb8uK5G4cmfv3igvUBCylVIGu Dj2P1VbWLxZTOnUP8tqSOrlqcv+EvAi3LeQgs7M7NPh81aXrr/j2f/ReRgpJuTTZyRoK PLv8bSpwWmwr5CesEYxQ+HUSPq/r44sWIhM7U= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=content-type:subject:from:to:in-reply-to:references:date:message-id :user-agent:content-transfer-encoding; b=FQLXtmuHG7+T3XUfO6bkXtLHNwJ5iZEeOW7O0oL0VxLL6nSnoslwwBazLlTyiqJjQh lxz0j0GIhfQzwkaCa/cTpbfO50H9H5hP+8QaZxmzhcSWduaOXNGDk88CdPe/i07ghM2D aflpfHRxJNi/ahb3vHsuNtWu9X6G2I3sOCFXw= Received: by 10.103.127.7 with SMTP id e7mr3250370mun.117.1255465127235; Tue, 13 Oct 2009 13:18:47 -0700 (PDT) Received: from localhost ([128.119.77.37]) by mx.google.com with ESMTPS id w5sm16436mue.7.2009.10.13.13.18.45 (version=TLSv1/SSLv3 cipher=RC4-MD5); Tue, 13 Oct 2009 13:18:46 -0700 (PDT) From: Ben Gamari To: sup-talk In-reply-to: <1255292742-sup-3957@masanjin.net> References: <1254955312-sup-7085@ben-laptop> <1255292742-sup-3957@masanjin.net> Date: Tue, 13 Oct 2009 16:18:44 -0400 Message-Id: <1255464686-sup-4163@ben-laptop> User-Agent: Sup/git Subject: Re: [sup-talk] Fwd: Re: Crash while in thread-view-mode X-BeenThere: sup-talk@rubyforge.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: User & developer discussion of Sup 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-talk-bounces@rubyforge.org Errors-To: sup-talk-bounces@rubyforge.org Excerpts from William Morgan's message of Sun Oct 11 16:28:48 -0400 2009: > I'm sorry you've had to rebuild the index so many times. The Xapian side > of things is very new, and I think you've had a run of bad luck. But I > am personally not motivated to improve index time performance, because > that's not a common event. At least, it shouldn't be. Unfortunately, it seems that the crashes have returned (In fact, they returned only hours after I rebuilt). Interestingly, it is once again my LKML label that is the culprit. On the note of crashing, is it really necessary for the "wrong id called on nil" exception to be fatal? Couldn't the client at least make some attempt at recovering (skipping the problematic thread while catching and logging the exception)? It seems like these issues could be rather tricky to sort out (I've put an hour or so into tracking down the source of the nils to no avail), and with a dynamically typed language like Ruby, could occur at any time. Considering this, it seems like it might be a good idea to handle these failures a bit more gracefully. Would this be problematic? Regardless, it might be a good idea to have a hierarchy of exception classes instead of just throwing Strings. It seems that throwing specialized classes would make the above substantially easier. Thanks, - Ben --- RuntimeError from thread: load threads for thread-index-mode wrong id called on nil /opt/exp/sup/lib/sup.rb:17:in `id' /opt/exp/sup/lib/sup/modes/thread-index-mode.rb:225:in `update' /usr/lib64/ruby/1.8/rubygems/custom_require.rb:31:in `sort_by' /opt/exp/sup/lib/sup/modes/thread-index-mode.rb:225:in `each' /opt/exp/sup/lib/sup/modes/thread-index-mode.rb:225:in `sort_by' /opt/exp/sup/lib/sup/modes/thread-index-mode.rb:225:in `update' /opt/exp/sup/lib/sup/modes/thread-index-mode.rb:223:in `synchronize' /opt/exp/sup/lib/sup/modes/thread-index-mode.rb:223:in `update' /opt/exp/sup/lib/sup/modes/thread-index-mode.rb:628:in `__unprotected_load_n_threads' /opt/exp/sup/lib/sup/thread.rb:334:in `load_n_threads' /opt/exp/sup/lib/sup/xapian_index.rb:117:in `each_id_by_date' /opt/exp/sup/lib/sup/xapian_index.rb:110:in `each_id' /opt/exp/sup/lib/sup/xapian_index.rb:110:in `each' /opt/exp/sup/lib/sup/xapian_index.rb:110:in `each_id' /opt/exp/sup/lib/sup/xapian_index.rb:117:in `each_id_by_date' /opt/exp/sup/lib/sup/thread.rb:328:in `load_n_threads' /opt/exp/sup/lib/sup/modes/thread-index-mode.rb:625:in `__unprotected_load_n_threads' (eval):12:in `load_n_threads' /opt/exp/sup/lib/sup/modes/thread-index-mode.rb:609:in `load_n_threads_background' /opt/exp/sup/lib/sup.rb:77:in `reporting_thread' /opt/exp/sup/lib/sup.rb:75:in `initialize' /opt/exp/sup/lib/sup.rb:75:in `new' /opt/exp/sup/lib/sup.rb:75:in `reporting_thread' /opt/exp/sup/lib/sup/modes/thread-index-mode.rb:608:in `load_n_threads_background' /opt/exp/sup/lib/sup/modes/thread-index-mode.rb:679:in `__unprotected_load_threads' (eval):12:in `load_threads' /opt/exp/sup/lib/sup/modes/thread-index-mode.rb:81:in `initialize' /opt/exp/sup/lib/sup/modes/line-cursor-mode.rb:22:in `call' /opt/exp/sup/lib/sup/modes/line-cursor-mode.rb:22:in `initialize' /opt/exp/sup/lib/sup/modes/line-cursor-mode.rb:22:in `each' /opt/exp/sup/lib/sup/modes/line-cursor-mode.rb:22:in `initialize' /opt/exp/sup/lib/sup/modes/line-cursor-mode.rb:19:in `new' /opt/exp/sup/lib/sup/modes/line-cursor-mode.rb:19:in `initialize' /opt/exp/sup/lib/sup/modes/thread-index-mode.rb:54:in `initialize' /opt/exp/sup/lib/sup/modes/label-search-results-mode.rb:9:in `initialize' /opt/exp/sup/lib/sup/modes/label-search-results-mode.rb:32:in `new' /opt/exp/sup/lib/sup/modes/label-search-results-mode.rb:32:in `spawn_nicely' /opt/exp/sup/lib/sup/buffer.rb:350:in `spawn_unless_exists' /opt/exp/sup/lib/sup/util.rb:520:in `send' /opt/exp/sup/lib/sup/util.rb:520:in `method_missing' /opt/exp/sup/lib/sup/modes/label-search-results-mode.rb:32:in `spawn_nicely' /opt/exp/sup/lib/sup/modes/label-list-mode.rb:134:in `select_label' /opt/exp/sup/lib/sup/mode.rb:51:in `send' /opt/exp/sup/lib/sup/mode.rb:51:in `handle_input' /opt/exp/sup/lib/sup/buffer.rb:267:in `handle_input' /usr/bin/sup:245 _______________________________________________ sup-talk mailing list sup-talk@rubyforge.org http://rubyforge.org/mailman/listinfo/sup-talk