Hi,

 

Can you try 1.6.0_29 or disable hotspot by using "-Xint" JVM startup flag
(just to test, I know, it's slow then)? Are you *not* using
"-XX:+AggressiveOpts" as JVM parameter?

The JVM bug which may lead to this is a sign-flip bug:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5091921 (see also
http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/2011-March/00494
2.html)

 

Otherwise, is all fine, if you remove the numeric field? The code you are
using can never cause such behavior, this is extensively tested.

 

Uwe

 

-----

Uwe Schindler

H.-H.-Meier-Allee 63, D-28213 Bremen

 <http://www.thetaphi.de/> http://www.thetaphi.de

eMail: [email protected]

 

From: Thushara Wijeratna [mailto:[email protected]] 
Sent: Sunday, December 18, 2011 11:17 PM
To: [email protected]; [email protected]
Subject: Re: Lucene 3.4 : shift bug in possibly invalid use of
NumericTokenStream

 

Yes, I use this field to set a timestamp (an int). And I'm not using the
special constructor, so I must be using the default precision step.

Java version : 1.6.0_24

 

mpire@seafcmr16:~$ java -version

java version "1.6.0_24"

Java(TM) SE Runtime Environment (build 1.6.0_24-b07)

Java HotSpot(TM) 64-Bit Server VM (build 19.1-b02, mixed mode)

 

Also : I have only seen this when multiple threads within the app is writing
to a single Lucene index. But it is rare.

 

I'm attaching the indexing code.

 

Could you also point me to the JVM bug you suspect to be the cause?

 

thx,

thushara

 

On Fri, Dec 16, 2011 at 4:07 PM, Uwe Schindler <[email protected]> wrote:

Hi,

Thanks, this *may* cause the exception, but it is impossible that the
exception stack trace you are posting occurs in Lucene's code with a default
precision step on a numeric field, as you use here. I assume it's a 32bit
integer (NumericField.setIntValue or setFloatValue)?

Please provide us your full Java version (java -version) and ideally the
full source code you use during indexing. The only chance you can get this
Exception is by a JVM bug.


-----
Uwe Schindler
H.-H.-Meier-Allee 63, D-28213 Bremen
http://www.thetaphi.de
eMail: [email protected]


> -----Original Message-----
> From: Thushara Wijeratna [mailto:[email protected]]

> Sent: Saturday, December 17, 2011 1:01 AM
> To: [email protected]; [email protected]
> Subject: Re: Lucene 3.4 : shift bug in possibly invalid use of
> NumericTokenStream
>
> Yes, there is one.
>
> This is how the field is being created:
>
> new NumericField("timestamp", Field.Store.NO, true);
>
> Thus, the field is not stored, but indexed.
>
> thx,
> thushara
>
>
> On Fri, Dec 16, 2011 at 3:28 PM, Uwe Schindler <[email protected]> wrote:
>
> > Do you have NumericFields? If yes, how are they configured?
> >
> > -----
> > Uwe Schindler
> > H.-H.-Meier-Allee 63, D-28213 Bremen
> > http://www.thetaphi.de
> > eMail: [email protected]
> >
> >
> > > -----Original Message-----
> > > From: Thushara Wijeratna [mailto:[email protected]]
> > > Sent: Saturday, December 17, 2011 12:25 AM
> > > To: [email protected]
> > > Subject: Lucene 3.4 : shift bug in possibly invalid use of
> > NumericTokenStream
> > >
> > > I got this exception while indexing with Lucene 3.4:
> > >
> > > Exception in thread "Thread-0" java.lang.IllegalArgumentException:
> > Illegal
> > shift
> > > value, must be 0..31
> > >
> > > at
> > >
> >
org.apache.lucene.util.NumericUtils.intToPrefixCoded(NumericUtils.java:157)
> > >
> > > at
> > >
> org.apache.lucene.analysis.NumericTokenStream.incrementToken(NumericTok
> > > enStream.java:217)
> > >
> > > at
> > >
> >
> >
>
org.apache.lucene.index.DocInverterPerField.processFields(DocInverterPerFiel
> > d
> > > .java:185)
> > >
> > > at
> > >
> org.apache.lucene.index.DocFieldProcessorPerThread.processDocument(DocFie
> > > ldProcessorPerThread.java:278)
> > >
> > > at
> > >
> org.apache.lucene.index.DocumentsWriter.updateDocument(DocumentsWriter
> > > .java:766)
> > >
> > > at
> org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:2067)
> > >
> > > at
> org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:2041)
> > >
> > > at com.adxpose.affinity.IndexerHelper.index(IndexerHelper.java:797)
> > >
> > > at
com.adxpose.affinity.IndexerHelper$Clerk.run(IndexerHelper.java:433)
> > >
> > > at java.lang.Thread.run(Thread.java:662)
> > >
> > >
> > > It is not clear to my why the NumericTokenStream is being called here,
as
> > my
> > > analyzer do not use that. Any clues much appreciated.
> > >
> > >
> > > thx,
> > >
> > > thushara
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [email protected]
> > For additional commands, e-mail: [email protected]
> >
> >


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

 

Reply via email to