Archive of RubyForge sup-talk mailing list
 help / color / mirror / Atom feed
From: rlane@club.cc.cmu.edu (Rich Lane)
Subject: [sup-talk] crash when sup-syncing to xapian
Date: Tue, 18 Aug 2009 15:52:12 -0400	[thread overview]
Message-ID: <1250624577-sup-4801@zyrg.net> (raw)
In-Reply-To: <1250622911-sup-2815@localdomain>

Excerpts from Beno?t PIERRE's message of Tue Aug 18 15:17:03 -0400 2009:
> Excerpts from Rich Lane's message of Tue Aug 18 20:42:13 +0200 2009:
> > Excerpts from Beno?t PIERRE's message of Tue Aug 18 14:20:41 -0400 2009:
> > > Excerpts from Ben Walton's message of Tue Aug 18 19:35:35 +0200 2009:
> > > > 
> > > > I just tried to import my index to xapian and it crashed part way
> > > > through the import.  I then discovered that I couldn't use ferret
> > > > either.  There is something wonky with label handling, as per attached
> > > > exception log.  I haven't had a chance to look at the code yet, but
> > > > I'll poke at it tonight.
> > > 
> > > I think I just ran into the same problem! For now I fixed it with
> > > the following small patch:
> > 
> > That's odd because the Xapian code passes the labels straight through
> > from the message to LabelManager. Try instrumenting Message#labels= to
> > raise an exception if any member of the set is not a Symbol.
> 
> I applied the following patch:
> 
> diff --git a/lib/sup/message.rb b/lib/sup/message.rb
> index 965c10e..9156c02 100644
> --- a/lib/sup/message.rb
> +++ b/lib/sup/message.rb
> @@ -1,4 +1,5 @@
>  require 'time'
> +require 'pp'
> 
>  module Redwood
> 
> @@ -183,6 +184,7 @@ class Message
>    def labels= l
>      raise ArgumentError, "not a set" unless l.is_a?(Set)
>      return if @labels == l
> +    warn "labels=#{l.pretty_inspect}"
>      @labels = l
>      @dirty = true
>    end
> 
> And get this in the logs:
> 
> [Tue Aug 18 21:12:39 +0200 2009] WARNING: labels=#<Set: {:inbox, :unread,
> "aquarius", "music"}>
> [Tue Aug 18 21:12:39 +0200 2009] WARNING: labels=#<Set: {:inbox, :unread,
> "metalblade", "music"}>
> 

It'd be nice to get a backtrace including the offending caller. I'd just
replace the warn with a fail.


  reply	other threads:[~2009-08-18 19:52 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-08-18 17:35 Ben Walton
2009-08-18 18:20 ` Benoît PIERRE
2009-08-18 18:42   ` Rich Lane
2009-08-18 19:17     ` Benoît PIERRE
2009-08-18 19:52       ` Rich Lane [this message]
2009-08-18 20:14         ` Benoît PIERRE
2009-08-19  0:03           ` Ben Walton
2009-08-19 18:39 ` William Morgan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1250624577-sup-4801@zyrg.net \
    --to=rlane@club.cc.cmu.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox