lucenenet-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Digy" <digyd...@gmail.com>
Subject RE: Lucene.net 2.9.1 and mono
Date Thu, 01 Apr 2010 22:40:51 GMT
Where do you compile Lucene.Net? If on mono, try compiling on windows with
VS  because I also have observed some 
strange behaviours after compiling on mono ( since it was far long ago, I
don't remember what it is was anymore).

DIGY

-----Original Message-----
From: Arne Claassen [mailto:arnec@mindtouch.com] 
Sent: Friday, April 02, 2010 1:29 AM
To: lucene-net-dev@lucene.apache.org
Subject: Lucene.net 2.9.1 and mono

Hi, i'm new to the list, so if this falls under FAQ, please just point  
me in the right direction.

We've been using Lucene.net 1.9.1 for quite a while and I wanted to  
finally get us current with lucene, so i incorporated 2.9.1 into our  
code. Unfortunately, 2.9.1 crashes under mono 2.4. Has anyone else  
tried it on Mono? I downgraded to 2.4.0 which does work but has  
problems with unclean shutdown with SimpleFSLock on windows and linux,  
that NativeFSLock in 2.9.1 does not exhibit.

Before i go into the 2.9.1 issues in detail, in 2.40 is there a best  
practice for cleaning up lingering locks for SimpleFSLock other than  
manually looking for the lock file and clearing it out at startup?

Anyway, here are the 2.9.1 issues i came across. Being mono only  
issues i don't know if this helpful, but i thought i'd see if this  
rings a bell.

When no index exists yet, IndexWriter will die and completely take  
down the process with this:

** ERROR:(mini.c:3624):mini_method_compile: assertion failed: (tblock- 
 >native_offset)
Stacktrace:

   at Lucene.Net.Index.SegmentInfos.FinishCommit  
(Lucene.Net.Store.Directory) <0xffffffff>
   at Lucene.Net.Index.SegmentInfos.FinishCommit  
(Lucene.Net.Store.Directory) <0x000e4>
   at Lucene.Net.Index.SegmentInfos.Commit  
(Lucene.Net.Store.Directory) <0x00024>
   at Lucene.Net.Index.IndexWriter.Init  
(Lucene 
.Net 
.Store 
.Directory 
,Lucene 
.Net 
.Analysis 
.Analyzer 
,bool 
,bool 
,Lucene 
.Net 
.Index.IndexDeletionPolicy,bool,int,Lucene.Net.Index.DocumentsWriter/ 
IndexingChain,Lucene.Net.Index.IndexCommit) <0x001a3>
   at Lucene.Net.Index.IndexWriter.Init  
(Lucene 
.Net 
.Store 
.Directory 
,Lucene 
.Net 
.Analysis 
.Analyzer 
,bool 
,Lucene 
.Net 
.Index.IndexDeletionPolicy,bool,int,Lucene.Net.Index.DocumentsWriter/ 
IndexingChain,Lucene.Net.Index.IndexCommit) <0x00076>
   at Lucene.Net.Index.IndexWriter..ctor  
(Lucene 
.Net 
.Store 
.Directory,Lucene.Net.Analysis.Analyzer,Lucene.Net.Index.IndexWriter/ 
MaxFieldLength) <0x001c2>
   at Repro.Program.Main (string[]) <0x00089>
   at (wrapper runtime-invoke)  
Repro.Program.runtime_invoke_void_object (object,intptr,intptr,intptr)  
<0xffffffff>

If an index already exists both IndexWriter and IndexSearcher will  
throw an exception (without taking down the process this time) for  
NIOFSDirectory:

Unhandled Exception: System.NullReferenceException: Object reference  
not set to an instance of an object
   at Lucene.Net.Store.NIOFSDirectory+NIOFSIndexInput.ReadInternal  
(System.Byte[] b, Int32 offset, Int32 len) [0x00000]
   at Lucene.Net.Store.BufferedIndexInput.Refill () [0x00000]
   at Lucene.Net.Store.BufferedIndexInput.ReadByte () [0x00000]
   at Lucene.Net.Store.IndexInput.ReadInt () [0x00000]
   at Lucene.Net.Index.SegmentInfos+FindSegmentsFile.Run  
(Lucene.Net.Index.IndexCommit commit) [0x00000]
   at Lucene.Net.Index.DirectoryReader.Open  
(Lucene.Net.Store.Directory directory, IndexDeletionPolicy  
deletionPolicy, Lucene.Net.Index.IndexCommit commit, Boolean readOnly,  
Int32 termInfosIndexDivisor) [0x00000]
   at Lucene.Net.Index.IndexReader.Open (Lucene.Net.Store.Directory  
directory, IndexDeletionPolicy deletionPolicy,  
Lucene.Net.Index.IndexCommit commit, Boolean readOnly, Int32  
termInfosIndexDivisor) [0x00000]
   at Lucene.Net.Index.IndexReader.Open (Lucene.Net.Store.Directory  
directory) [0x00000]
   at Lucene.Net.Search.IndexSearcher..ctor  
(Lucene.Net.Store.Directory directory) [0x00000]
   at (wrapper remoting-invoke-with-check)  
Lucene.Net.Search.IndexSearcher:.ctor (Lucene.Net.Store.Directory)
   at Repro.Program.Main (System.String[] args) [0x00000]

I've also come across lock timeout with NativeFSLock on mono, but  
can't figure out how to repro this.

cheers,
Arne Claassen

MindTouch
San Diego, CA
http://twitter.com/sdether


Mime
View raw message