lucene-lucene-net-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Prescott Nasser <geobmx...@hotmail.com>
Subject RE: [Lucene.Net] Repro if LUCENENET-54 (ArgumentOutOfRangeException in SnowballProgram)
Date Fri, 13 Jan 2012 08:49:38 GMT

Hey Simon Are you using the latest released version? ~P
 > Date: Sat, 7 Jan 2012 22:58:12 +0100
> From: sisve@devhost.se
> To: lucene-net-dev@lucene.apache.org
> Subject: [Lucene.Net] Repro if LUCENENET-54 (ArgumentOutOfRangeException in SnowballProgram)
> 
> Hi,
> 
> I've written a simple reproduction of LUCENENET-54 
> (ArgumentOutOfRangeException in SnowballProgram). I'm not sure about the 
> correct workflow to reopen this issue (it was closed as invalid in 2007 
> due to missing information), so I'm throwing what I got into the 
> developer mailing list and hope that someone else knows the correct 
> approach. Problem originates in SnowballProgram.slice_to, where the 
> second argument to StringBuilder.ToString(start, length) where the last 
> parameter is passed an index instead of the length.
> 
> Reproduction:
> using System.IO;
> using Lucene.Net.Analysis.Snowball;
> using Lucene.Net.Analysis.Tokenattributes;
> using NUnit.Framework;
> 
> namespace ConsoleApplication {
>      [TestFixture]
>      public class LuceneRepo {
>          [Test(Description = "LUCENENET-54")]
>          public void Repro() {
>              var analyzer = new SnowballAnalyzer("Finnish");
> 
>              var input = new StringReader("terve");
>              var tokenStream = analyzer.TokenStream("fieldName", input);
>              var termAttr = 
> (TermAttribute)tokenStream.AddAttribute(typeof (TermAttribute));
> 
>              Assert.That(tokenStream.IncrementToken(), Is.True);
>              Assert.That(termAttr.Term(), Is.EqualTo("terv"));
>          }
>      }
> }
> 
> Unexpected exception:
> System.ArgumentOutOfRangeException: Index and length must refer to a 
> location within the string.
> Parameter name: length
>     at System.Text.StringBuilder.ToString(Int32 startIndex, Int32 length)
>     at SF.Snowball.SnowballProgram.slice_to(StringBuilder s) in 
> C:\Dev\Third 
> Party\Lucene.NET\src\contrib\Snowball\SF\Snowball\SnowballProgram.cs:line 467
>     at SF.Snowball.Ext.FinnishStemmer.r_tidy() in C:\Dev\Third 
> Party\Lucene.NET\src\contrib\Snowball\SF\Snowball\Ext\FinnishStemmer.cs:line 
> 974
>     at SF.Snowball.Ext.FinnishStemmer.Stem() in C:\Dev\Third 
> Party\Lucene.NET\src\contrib\Snowball\SF\Snowball\Ext\FinnishStemmer.cs:line 
> 1137
> 
> Expected result:
> The unit test should pass.
> 
> // Simon
> 
 		 	   		  
Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message