The result of this run yields the following:

>>>>>>
C:\wip\solr\trunk\solr\example\solr>"c:\Program Files\Java\jdk1.6.0_19\bin\java"
 -cp \solr-dym\searcher\lib\lucene-core-4.0-dev.jar -ea:org.apache.lucene... org
.apache.lucene.index.CheckIndex data\index

Opening index @ data\index

Segments file=segments_8x numSegments=5 version=FORMAT_4_0 [Lucene 4.0]
  1 of 5: name=_9q docCount=317
    codec=Standard
    compound=false
    hasProx=false
    numFiles=6
    size (MB)=0.031
    diagnostics = {optimize=false, mergeFactor=10, os.version=5.1, os=Windows XP
, mergeDocStores=true, lucene.version=4.0-dev 979328 - 2010-07-26 14:02:52, sour
ce=merge, os.arch=x86, java.version=1.6.0_19, java.vendor=Sun Microsystems Inc.}

    no deletions
    test: open reader.........OK
    test: fields..............OK [5 fields]
    test: field norms.........OK [5 fields]
    test: terms, freq, prox...OK [640 terms; 1268 terms/docs pairs; 1268 tokens]

    test: stored fields.......ERROR [Index: 103, Size: 5]
java.lang.IndexOutOfBoundsException: Index: 103, Size: 5
        at java.util.ArrayList.RangeCheck(ArrayList.java:547)
        at java.util.ArrayList.get(ArrayList.java:322)
        at org.apache.lucene.index.FieldInfos.fieldInfo(FieldInfos.java:264)
        at org.apache.lucene.index.FieldsReader.doc(FieldsReader.java:204)
        at org.apache.lucene.index.SegmentReader.document(SegmentReader.java:828
)
        at org.apache.lucene.index.IndexReader.document(IndexReader.java:755)
        at org.apache.lucene.index.CheckIndex.testStoredFields(CheckIndex.java:7
39)
        at org.apache.lucene.index.CheckIndex.checkIndex(CheckIndex.java:490)
        at org.apache.lucene.index.CheckIndex.checkIndex(CheckIndex.java:288)
        at org.apache.lucene.index.CheckIndex.main(CheckIndex.java:934)
    test: term vectors........OK [0 total vector count; avg 0 term/freq vector f
ields per doc]
FAILED
    WARNING: fixIndex() would remove reference to this segment; full exception:
java.lang.RuntimeException: Stored Field test failed
        at org.apache.lucene.index.CheckIndex.checkIndex(CheckIndex.java:502)
        at org.apache.lucene.index.CheckIndex.checkIndex(CheckIndex.java:288)
        at org.apache.lucene.index.CheckIndex.main(CheckIndex.java:934)

  2 of 5: name=_9r docCount=1
    codec=Standard
    compound=false
    hasProx=false
    numFiles=7
    size (MB)=0.001
    diagnostics = {os.version=5.1, os=Windows XP, lucene.version=4.0-dev 979328
- 2010-07-26 14:02:52, source=flush, os.arch=x86, java.version=1.6.0_19, java.ve
ndor=Sun Microsystems Inc.}
    no deletions
    test: open reader.........OK
    test: fields..............OK [5 fields]
    test: field norms.........OK [5 fields]
    test: terms, freq, prox...OK [4 terms; 4 terms/docs pairs; 4 tokens]
    test: stored fields.......OK [4 total field count; avg 4 fields per doc]
    test: term vectors........OK [0 total vector count; avg 0 term/freq vector f
ields per doc]

  3 of 5: name=_9s docCount=1
    codec=Standard
    compound=false
    hasProx=false
    numFiles=7
    size (MB)=0.001
    diagnostics = {os.version=5.1, os=Windows XP, lucene.version=4.0-dev 979328
- 2010-07-26 14:02:52, source=flush, os.arch=x86, java.version=1.6.0_19, java.ve
ndor=Sun Microsystems Inc.}
    no deletions
    test: open reader.........OK
    test: fields..............OK [5 fields]
    test: field norms.........OK [5 fields]
    test: terms, freq, prox...OK [4 terms; 4 terms/docs pairs; 4 tokens]
    test: stored fields.......OK [4 total field count; avg 4 fields per doc]
    test: term vectors........OK [0 total vector count; avg 0 term/freq vector f
ields per doc]

  4 of 5: name=_9t docCount=1
    codec=Standard
    compound=false
    hasProx=false
    numFiles=7
    size (MB)=0.001
    diagnostics = {os.version=5.1, os=Windows XP, lucene.version=4.0-dev 979328
- 2010-07-26 14:02:52, source=flush, os.arch=x86, java.version=1.6.0_19, java.ve
ndor=Sun Microsystems Inc.}
    no deletions
    test: open reader.........OK
    test: fields..............OK [5 fields]
    test: field norms.........OK [5 fields]
    test: terms, freq, prox...OK [4 terms; 4 terms/docs pairs; 4 tokens]
    test: stored fields.......OK [4 total field count; avg 4 fields per doc]
    test: term vectors........OK [0 total vector count; avg 0 term/freq vector f
ields per doc]

  5 of 5: name=_9u docCount=1
    codec=Standard
    compound=false
    hasProx=false
    numFiles=7
    size (MB)=0.001
    diagnostics = {os.version=5.1, os=Windows XP, lucene.version=4.0-dev 979328
- 2010-07-26 14:02:52, source=flush, os.arch=x86, java.version=1.6.0_19, java.ve
ndor=Sun Microsystems Inc.}
    no deletions
    test: open reader.........OK
    test: fields..............OK [5 fields]
    test: field norms.........OK [5 fields]
    test: terms, freq, prox...OK [4 terms; 4 terms/docs pairs; 4 tokens]
    test: stored fields.......OK [4 total field count; avg 4 fields per doc]
    test: term vectors........OK [0 total vector count; avg 0 term/freq vector f
ields per doc]

WARNING: 1 broken segments (containing 317 documents) detected
WARNING: would write new segments file, and 317 documents would be lost, if -fix
 were specified
<<<<<<

Karl


-----Original Message-----
From: ext Simon Willnauer [mailto:simon.willna...@googlemail.com]
Sent: Monday, August 02, 2010 5:11 AM
To: dev@lucene.apache.org
Subject: Re: busywait hang using extracting update handler on trunk

On Mon, Aug 2, 2010 at 10:56 AM,  <karl.wri...@nokia.com> wrote:
>>>>>>>
> And can you run CheckIndex and post that output, and also the AIOOBE
> you hit for certain searches?
> <<<<<<
>
> Where can I find CheckIndex?

you find it in your lucene JAR
java -cp lucene.jar -ea:org.apache.lucene...
org.apache.lucene.index.CheckIndex pathToIndex [-fix] [-segment X]
[-segment Y]

see  
http://lucene.apache.org/java/3_0_2/api/core/org/apache/lucene/index/CheckIndex.html#main%28java.lang.String[]%29
for details....

simon

> Karl
>
> ________________________________________
> From: ext Michael McCandless [luc...@mikemccandless.com]
> Sent: Thursday, July 29, 2010 11:56 AM
> To: dev@lucene.apache.org
> Subject: Re: busywait hang using extracting update handler on trunk
>
> Hi Karl,
>
> Can you post the original merge failure?  A merge failure should not
> corrupt the index and shouldn't cause spinning.
>
> And can you run CheckIndex and post that output, and also the AIOOBE
> you hit for certain searches?
>
> Your first thread dumps shows one thread waiting the for the commit to
> finish so it can add a doc, and another thread closing the IW for
> commit (aside: Solr seems to close the IW whenever it autoCommits?  Is
> that true?) with the IW.close waiting for all outstanding merges to
> finish (though I see no actual merge thread running).  Your 2nd
> [truncated] dump does show a merge thread actively running.
>
> Is it possible there's just a big merge running, and this is why Solr
> appears hung?  (Ie because it closes the writer -- why not just call
> IW.commit instead?)
>
> Mike
>
> On Wed, Jul 28, 2010 at 5:57 AM,  <karl.wri...@nokia.com> wrote:
>> It appears that whenever I see a merge failure, I also apparently have a 
>> corrupt index (I get arrayindexoutofbounds exceptions when searching for 
>> certain things).  So that may be the underlying cause of the merge infinite 
>> loop.
>>
>> I've blown away the indexes repeatedly and tried to rebuild.  I am now 
>> committing every 1000 records, and I can make this happen utterly reliably.  
>> The data contains quite a lot of unicode, and I've noted recent posts about 
>> tests failing in this area.  Perhaps this is related?
>>
>> If this guess is correct, then there are two bugs.  First bug is that index 
>> corruption causes merge to spin indefinitely, rather than error out.  Second 
>> bug is that certain characters cause index corruption.
>>
>> With a bit of work I should be able to isolate the record that is the 
>> proximate cause of the index corruption.  I will post it when I have it.
>>
>> Karl
>>
>> --- original message ---
>> From: "Wright Karl (Nokia-MS/Cambridge)" <karl.wri...@nokia.com>
>> Subject: RE: busywait hang using extracting update handler on trunk
>> Date: July 27, 2010
>> Time: 11:57:49  AM
>>
>>
>> Happened again.  The thing that caused it seems to have been an autocommit.  
>> Here's part of the first thread dump:
>>
>>        at java.lang.Object.wait(Native Method)
>>        - waiting on <0x29642f00> (a java.util.TaskQueue)
>>        at java.util.TimerThread.mainLoop(Timer.java:509)
>>        - locked <0x29642f00> (a java.util.TaskQueue)
>>        at java.util.TimerThread.run(Timer.java:462)
>>
>> "25615...@qtp-20051738-9 - Acceptor0 socketconnec...@0.0.0.0:8983" prio=6 
>> tid=0x
>> 03076800 nid=0x19ac runnable [0x034df000]
>>   java.lang.Thread.State: RUNNABLE
>>        at java.net.PlainSocketImpl.socketAccept(Native Method)
>>        at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:390)
>>        - locked <0x29770448> (a java.net.SocksSocketImpl)
>>        at java.net.ServerSocket.implAccept(ServerSocket.java:453)
>>        at java.net.ServerSocket.accept(ServerSocket.java:421)
>>        at 
>> org.mortbay.jetty.bio.SocketConnector.accept(SocketConnector.java:99)
>>
>>        at 
>> org.mortbay.jetty.AbstractConnector$Acceptor.run(AbstractConnector.ja
>> va:707)
>>        at 
>> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.j
>> ava:582)
>>
>> "11245...@qtp-20051738-8" prio=6 tid=0x03075000 nid=0x10b4 waiting on 
>> condition
>> [0x0348e000]
>>   java.lang.Thread.State: WAITING (parking)
>>        at sun.misc.Unsafe.park(Native Method)
>>        - parking to wait for  <0x2970bad8> (a 
>> java.util.concurrent.locks.Reentr
>> antReadWriteLock$NonfairSync)
>>        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
>>        at 
>> java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInt
>> errupt(AbstractQueuedSynchronizer.java:747)
>>        at 
>> java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireShared
>> (AbstractQueuedSynchronizer.java:877)
>>        at 
>> java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(A
>> bstractQueuedSynchronizer.java:1197)
>>        at 
>> java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock(Reent
>> rantReadWriteLock.java:594)
>>        at 
>> org.apache.solr.update.DirectUpdateHandler2.addDoc(DirectUpdateHandle
>> r2.java:211)
>>        at 
>> org.apache.solr.update.processor.RunUpdateProcessor.processAdd(RunUpd
>> ateProcessorFactory.java:61)
>>        at 
>> org.apache.solr.handler.extraction.ExtractingDocumentLoader.doAdd(Ext
>> ractingDocumentLoader.java:120)
>>        at 
>> org.apache.solr.handler.extraction.ExtractingDocumentLoader.addDoc(Ex
>> tractingDocumentLoader.java:125)
>>        at 
>> org.apache.solr.handler.extraction.ExtractingDocumentLoader.load(Extr
>> actingDocumentLoader.java:195)
>>        at 
>> org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(Co
>> ntentStreamHandlerBase.java:54)
>>        at 
>> org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandl
>> erBase.java:131)
>>        at 
>> org.apache.solr.core.RequestHandlers$LazyRequestHandlerWrapper.handle
>> Request(RequestHandlers.java:237)
>>        at org.apache.solr.core.SolrCore.execute(SolrCore.java:1323)
>>        at 
>> org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter
>> .java:337)
>>        at 
>> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilte
>> r.java:240)
>>        at 
>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet
>> Handler.java:1157)
>>        at 
>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:3
>> 88)
>>        at 
>> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.jav
>> a:216)
>>        at 
>> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:1
>> 82)
>>        at 
>> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:7
>> 65)
>>        at 
>> org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
>>
>>        at 
>> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHand
>> lerCollection.java:230)
>>        at 
>> org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.
>> java:114)
>>        at 
>> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:1
>> 52)
>>        at org.mortbay.jetty.Server.handle(Server.java:326)
>>        at 
>> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:54
>> 2)
>>        at 
>> org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpCo
>> nnection.java:923)
>>        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:547)
>>        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
>>        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
>>        at 
>> org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.
>> java:228)
>>        at 
>> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.j
>> ava:582)
>>
>> "25377...@qtp-20051738-7" prio=6 tid=0x03073800 nid=0x11c0 in Object.wait() 
>> [0x0
>> 343e000]
>>   java.lang.Thread.State: TIMED_WAITING (on object monitor)
>>        at java.lang.Object.wait(Native Method)
>>        - waiting on <0x2c802ee0> (a org.apache.solr.update.SolrIndexWriter)
>>        at org.apache.lucene.index.IndexWriter.doWait(IndexWriter.java:4270)
>>        - locked <0x2c802ee0> (a org.apache.solr.update.SolrIndexWriter)
>>        at 
>> org.apache.lucene.index.IndexWriter.waitForMerges(IndexWriter.java:27
>> 81)
>>        - locked <0x2c802ee0> (a org.apache.solr.update.SolrIndexWriter)
>>        at 
>> org.apache.lucene.index.IndexWriter.finishMerges(IndexWriter.java:276
>> 9)
>>        - locked <0x2c802ee0> (a org.apache.solr.update.SolrIndexWriter)
>>        at 
>> org.apache.lucene.index.IndexWriter.closeInternal(IndexWriter.java:17
>> 42)
>>        at org.apache.lucene.index.IndexWriter.close(IndexWriter.java:1695)
>>        at org.apache.lucene.index.IndexWriter.close(IndexWriter.java:1659)
>>        at 
>> org.apache.solr.update.SolrIndexWriter.close(SolrIndexWriter.java:231
>> )
>>        at 
>> org.apache.solr.update.DirectUpdateHandler2.closeWriter(DirectUpdateH
>> andler2.java:181)
>>        at 
>> org.apache.solr.update.DirectUpdateHandler2.commit(DirectUpdateHandle
>> r2.java:409)
>>        at 
>> org.apache.solr.update.processor.RunUpdateProcessor.processCommit(Run
>> UpdateProcessorFactory.java:85)
>>        at 
>> org.apache.solr.handler.RequestHandlerUtils.handleCommit(RequestHandl
>> erUtils.java:107)
>>        at 
>> org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(Co
>> ntentStreamHandlerBase.java:48)
>>        at 
>> org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandl
>> erBase.java:131)
>>        at 
>> org.apache.solr.core.RequestHandlers$LazyRequestHandlerWrapper.handle
>> Request(RequestHandlers.java:237)
>>        at org.apache.solr.core.SolrCore.execute(SolrCore.java:1323)
>>        at 
>> org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter
>> .java:337)
>>        at 
>> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilte
>> r.java:240)
>>        at 
>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet
>> Handler.java:1157)
>>        at 
>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:3
>> 88)
>>        at 
>> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.jav
>> a:216)
>>        at 
>> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:1
>> 82)
>>        at 
>> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:7
>> 65)
>>        at 
>> org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
>>
>>        at 
>> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHand
>> lerCollection.java:230)
>>        at 
>> org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.
>> java:114)
>>        at 
>> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:1
>> 52)
>>        at org.mortbay.jetty.Server.handle(Server.java:326)
>>        at 
>> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:54
>> 2)
>>        at 
>> org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpCo
>> nnection.java:923)
>>        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:547)
>>        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
>>        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
>>        at 
>> org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.
>> java:228)
>>        at 
>> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.j
>> ava:582)
>>
>> "15232...@qtp-20051738-6" prio=6 tid=0x0309ac00 nid=0x1458 in Object.wait() 
>> [0x0
>> 33ef000]
>>   java.lang.Thread.State: TIMED_WAITING (on object monitor)
>>        at java.lang.Object.wait(Native Method)
>>        - waiting on <0x295ece00> (a 
>> org.mortbay.thread.QueuedThreadPool$PoolThr
>> ead)
>>        at 
>> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.j
>> ava:625)
>>        - locked <0x295ece00> (a 
>> org.mortbay.thread.QueuedThreadPool$PoolThread)
>>
>>
>> "381...@qtp-20051738-5" prio=6 tid=0x03099800 nid=0x19ec in Object.wait() 
>> [0x033
>> 9f000]
>>   java.lang.Thread.State: TIMED_WAITING (on object monitor)
>>        at java.lang.Object.wait(Native Method)
>>        - waiting on <0x295ece70> (a 
>> org.mortbay.thread.QueuedThreadPool$PoolThr
>> ead)
>>        at 
>> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.j
>> ava:625)
>>        - locked <0x295ece70> (a 
>> org.mortbay.thread.QueuedThreadPool$PoolThread)
>>
>>
>> "2583...@qtp-20051738-4" prio=6 tid=0x03095800 nid=0x18dc in Object.wait() 
>> [0x03
>> 34f000]
>>   java.lang.Thread.State: TIMED_WAITING (on object monitor)
>>        at java.lang.Object.wait(Native Method)
>>        - waiting on <0x295ecee0> (a 
>> org.mortbay.thread.QueuedThreadPool$PoolThr
>> ead)
>>        at 
>> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.j
>> ava:625)
>>        - locked <0x295ecee0> (a 
>> org.mortbay.thread.QueuedThreadPool$PoolThread)
>>
>>
>> "31289...@qtp-20051738-3" prio=6 tid=0x030a2800 nid=0x10c4 in Object.wait() 
>> [0x0
>> 32ff000]
>>   java.lang.Thread.State: TIMED_WAITING (on object monitor)
>>        at java.lang.Object.wait(Native Method)
>>        - waiting on <0x295ecf50> (a 
>> org.mortbay.thread.QueuedThreadPool$PoolThr
>> ead)
>>        at 
>> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.j
>> ava:625)
>>        - locked <0x295ecf50> (a 
>> org.mortbay.thread.QueuedThreadPool$PoolThread)
>>
>>
>> "9004...@qtp-20051738-2" prio=6 tid=0x03077400 nid=0x1a38 in Object.wait() 
>> [0x03
>> 2af000]
>>   java.lang.Thread.State: TIMED_WAITING (on object monitor)
>>        at java.lang.Object.wait(Native Method)
>>        - waiting on <0x295ecfc0> (a 
>> org.mortbay.thread.QueuedThreadPool$PoolThr
>> ead)
>>        at 
>> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.j
>> ava:625)
>>        - locked <0x295ecfc0> (a 
>> org.mortbay.thread.QueuedThreadPool$PoolThread)
>>
>>
>> "30971...@qtp-20051738-1" prio=6 tid=0x0308f800 nid=0x1ae0 in Object.wait() 
>> [0x0
>> 325f000]
>>   java.lang.Thread.State: TIMED_WAITING (on object monitor)
>>        at java.lang.Object.wait(Native Method)
>>        - waiting on <0x295ed030> (a 
>> org.mortbay.thread.QueuedThreadPool$PoolThr
>> ead)
>>        at 
>> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.j
>> ava:625)
>>        - locked <0x295ed030> (a 
>> org.mortbay.thread.QueuedThreadPool$PoolThread)
>>
>>
>> "17758...@qtp-20051738-0" prio=6 tid=0x03094800 nid=0x1d58 in Object.wait() 
>> [0x0
>> 320f000]
>>   java.lang.Thread.State: TIMED_WAITING (on object monitor)
>>        at java.lang.Object.wait(Native Method)
>>        - waiting on <0x295ed0a0> (a 
>> org.mortbay.thread.QueuedThreadPool$PoolThr
>> ead)
>>        at 
>> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.j
>> ava:625)
>>        - locked <0x295ed0a0> (a 
>> org.mortbay.thread.QueuedThreadPool$PoolThread)
>>
>>
>> "Timer-0" daemon prio=6 tid=0x0308a400 nid=0x1d68 in Object.wait() 
>> [0x031bf000]
>>   java.lang.Thread.State: TIMED_WAITING (on object monitor)
>>        at java.lang.Object.wait(Native Method)
>>        - waiting on <0x295ed180> (a java.util.TaskQueue)
>>        at java.util.TimerThread.mainLoop(Timer.java:509)
>>        - locked <0x295ed180> (a java.util.TaskQueue)
>>        at java.util.TimerThread.run(Timer.java:462)
>>
>> "Low Memory Detector" daemon prio=6 tid=0x02c1d400 nid=0x122c runnable 
>> [0x000000
>> 00]
>>   java.lang.Thread.State: RUNNABLE
>>
>> "CompilerThread0" daemon prio=10 tid=0x02c17400 nid=0x1f94 waiting on 
>> condition
>> [0x00000000]
>>   java.lang.Thread.State: RUNNABLE
>>
>> "Attach Listener" daemon prio=10 tid=0x02c15c00 nid=0x11b8 runnable 
>> [0x00000000]
>>
>>   java.lang.Thread.State: RUNNABLE
>>
>> "Signal Dispatcher" daemon prio=10 tid=0x02c14800 nid=0xf38 waiting on 
>> condition
>>  [0x00000000]
>>   java.lang.Thread.State: RUNNABLE
>>
>> "Finalizer" daemon prio=8 tid=0x02c0cc00 nid=0x1408 in Object.wait() 
>> [0x02ddf000
>> ]
>>   java.lang.Thread.State: WAITING (on object monitor)
>>        at java.lang.Object.wait(Native Method)
>>        - waiting on <0x29590468> (a java.lang.ref.ReferenceQueue$Lock)
>>        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
>>        - locked <0x29590468> (a java.lang.ref.ReferenceQueue$Lock)
>>        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
>>        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
>>
>> "Reference Handler" daemon prio=10 tid=0x02c0b400 nid=0x1614 in 
>> Object.wait() [0
>> x02d8f000]
>>   java.lang.Thread.State: WAITING (on object monitor)
>>        at java.lang.Object.wait(Native Method)
>>        - waiting on <0x295904f0> (a java.lang.ref.Reference$Lock)
>>        at java.lang.Object.wait(Object.java:485)
>>        at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
>>        - locked <0x295904f0> (a java.lang.ref.Reference$Lock)
>>
>> "VM Thread" prio=10 tid=0x02c09c00 nid=0x1cc8 runnable
>>
>> "VM Periodic Task Thread" prio=10 tid=0x02c20000 nid=0x90c waiting on 
>> condition
>>
>>
>> JNI global references: 1236
>>
>> Heap
>>  def new generation   total 44992K, used 20928K [0x24040000, 0x27110000, 
>> 0x29590
>> 000)
>>  eden space 40000K,  52% used [0x24040000, 0x254b0278, 0x26750000)
>>  from space 4992K,   0% used [0x26c30000, 0x26c30038, 0x27110000)
>>  to   space 4992K,   0% used [0x26750000, 0x26750000, 0x26c30000)
>>  tenured generation   total 99780K, used 74989K [0x29590000, 0x2f701000, 
>> 0x34040
>> 000)
>>   the space 99780K,  75% used [0x29590000, 0x2decb7a8, 0x2decb800, 
>> 0x2f701000)
>>  compacting perm gen  total 12288K, used 8833K [0x34040000, 0x34c40000, 
>> 0x380400
>> 00)
>>   the space 12288K,  71% used [0x34040000, 0x348e0758, 0x348e0800, 
>> 0x34c40000)
>>    ro space 10240K,  54% used [0x38040000, 0x385bb760, 0x385bb800, 
>> 0x38a40000)
>>    rw space 12288K,  55% used [0x38a40000, 0x390df798, 0x390df800, 
>> 0x39640000)
>>
>>
>>
>> Here's the top part of a second thread dump (it doesn't all fit in one 
>> screen buffer, unfortunately):
>>
>> JNI global references: 1236
>>
>> Heap
>>  def new generation   total 44992K, used 20928K [0x24040000, 0x27110000, 
>> 0x29590
>> 000)
>>  eden space 40000K,  52% used [0x24040000, 0x254b0278, 0x26750000)
>>  from space 4992K,   0% used [0x26c30000, 0x26c30038, 0x27110000)
>>  to   space 4992K,   0% used [0x26750000, 0x26750000, 0x26c30000)
>>  tenured generation   total 99780K, used 74989K [0x29590000, 0x2f701000, 
>> 0x34040
>> 000)
>>   the space 99780K,  75% used [0x29590000, 0x2decb7a8, 0x2decb800, 
>> 0x2f701000)
>>  compacting perm gen  total 12288K, used 8833K [0x34040000, 0x34c40000, 
>> 0x380400
>> 00)
>>   the space 12288K,  71% used [0x34040000, 0x348e0758, 0x348e0800, 
>> 0x34c40000)
>>    ro space 10240K,  54% used [0x38040000, 0x385bb760, 0x385bb800, 
>> 0x38a40000)
>>    rw space 12288K,  55% used [0x38a40000, 0x390df798, 0x390df800, 
>> 0x39640000)
>>
>> 2010-07-27 11:55:19
>> Full thread dump Java HotSpot(TM) Client VM (16.2-b04 mixed mode, sharing):
>>
>> "Lucene Merge Thread #0" daemon prio=6 tid=0x02ffc400 nid=0xba0 runnable 
>> [0x042e
>> f000]
>>   java.lang.Thread.State: RUNNABLE
>>        at sun.nio.ch.FileChannelImpl.size0(Native Method)
>>        at sun.nio.ch.FileChannelImpl.size(FileChannelImpl.java:309)
>>        - locked <0x2de616d8> (a java.lang.Object)
>>        at sun.nio.ch.FileChannelImpl.transferFrom(FileChannelImpl.java:597)
>>        at org.apache.lucene.store.FSDirectory.copy(FSDirectory.java:476)
>>        at 
>> org.apache.lucene.store.FSDirectory$FSIndexOutput.copyBytes(FSDirecto
>> ry.java:513)
>>        at 
>> org.apache.lucene.index.FieldsWriter.addRawDocuments(FieldsWriter.jav
>> a:210)
>>        at 
>> org.apache.lucene.index.SegmentMerger.copyFieldsWithDeletions(Segment
>> Merger.java:392)
>>        at 
>> org.apache.lucene.index.SegmentMerger.mergeFields(SegmentMerger.java:
>> 329)
>>        at org.apache.lucene.index.SegmentMerger.merge(SegmentMerger.java:153)
>>        at 
>> org.apache.lucene.index.IndexWriter.mergeMiddle(IndexWriter.java:4024
>> )
>>        at org.apache.lucene.index.IndexWriter.merge(IndexWriter.java:3618)
>>        at 
>> org.apache.lucene.index.ConcurrentMergeScheduler.doMerge(ConcurrentMe
>> rgeScheduler.java:339)
>>        at 
>> org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.run(Conc
>> urrentMergeScheduler.java:407)
>>
>> "DestroyJavaVM" prio=6 tid=0x003b6800 nid=0x1e34 waiting on condition 
>> [0x0000000
>> 0]
>>   java.lang.Thread.State: RUNNABLE
>>
>> "Timer-2" daemon prio=6 tid=0x0363b400 nid=0x1e2c in Object.wait() 
>> [0x03a9f000]
>>   java.lang.Thread.State: TIMED_WAITING (on object monitor)
>>        at java.lang.Object.wait(Native Method)
>>        - waiting on <0x297703f0> (a java.util.TaskQueue)
>>        at java.util.TimerThread.mainLoop(Timer.java:509)
>>        - locked <0x297703f0> (a java.util.TaskQueue)
>>        at java.util.TimerThread.run(Timer.java:462)
>>
>> "pool-1-thread-1" prio=6 tid=0x02cb1400 nid=0x1760 waiting on condition 
>> [0x03a3f
>> 000]
>>   java.lang.Thread.State: WAITING (parking)
>>        at sun.misc.Unsafe.park(Native Method)
>>        - parking to wait for  <0x296acc88> (a 
>> java.util.concurrent.locks.Abstra
>> ctQueuedSynchronizer$ConditionObject)
>>        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
>>        at 
>> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject
>> .await(AbstractQueuedSynchronizer.java:1925)
>>        at 
>> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.jav
>> a:399)
>>        at 
>> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.ja
>> va:947)
>>        at 
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
>> .java:907)
>>        at java.lang.Thread.run(Thread.java:619)
>>
>> "Timer-1" daemon prio=6 tid=0x036de000 nid=0x1130 in Object.wait() 
>> [0x039df000]
>>   java.lang.Thread.State: TIMED_WAITING (on object monitor)
>>        at java.lang.Object.wait(Native Method)
>>        - waiting on <0x29642f00> (a java.util.TaskQueue)
>>        at java.util.TimerThread.mainLoop(Timer.java:509)
>>        - locked <0x29642f00> (a java.util.TaskQueue)
>>        at java.util.TimerThread.run(Timer.java:462)
>>
>> "25615...@qtp-20051738-9 - Acceptor0 socketconnec...@0.0.0.0:8983" prio=6 
>> tid=0x
>> 03076800 nid=0x19ac runnable [0x034df000]
>>   java.lang.Thread.State: RUNNABLE
>>        at java.net.PlainSocketImpl.socketAccept(Native Method)
>>        at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:390)
>>        - locked <0x29770448> (a java.net.SocksSocketImpl)
>>        at java.net.ServerSocket.implAccept(ServerSocket.java:453)
>>        at java.net.ServerSocket.accept(ServerSocket.java:421)
>>        at 
>> org.mortbay.jetty.bio.SocketConnector.accept(SocketConnector.java:99)
>>
>>        at 
>> org.mortbay.jetty.AbstractConnector$Acceptor.run(AbstractConnector.ja
>> va:707)
>>        at 
>> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.j
>> ava:582)
>>
>> "11245...@qtp-20051738-8" prio=6 tid=0x03075000 nid=0x10b4 waiting on 
>> condition
>> [0x0348e000]
>>   java.lang.Thread.State: WAITING (parking)
>>        at sun.misc.Unsafe.park(Native Method)
>>        - parking to wait for  <0x2970bad8> (a 
>> java.util.concurrent.locks.Reentr
>> antReadWriteLock$NonfairSync)
>>        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
>>        at 
>> java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInt
>> errupt(AbstractQueuedSynchronizer.java:747)
>>        at 
>> java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireShared
>> (AbstractQueuedSynchronizer.java:877)
>> ...
>>
>> Karl
>>
>>
>> -----Original Message-----
>> From: Wright Karl (Nokia-MS/Cambridge)
>> Sent: Tuesday, July 27, 2010 9:25 AM
>> To: dev@lucene.apache.org
>> Subject: busywait hang using extracting update handler on trunk
>>
>> Hi,
>> While using extracting update request handler on trunk to index some 20 
>> million records, about 1/3 theway through solr just hung, using 100% cpu.  
>> the same post code had been successfully used with the last release solr 
>> version, so this may be a regrssion.  If it happens again I cantry to get a 
>> thread dump.  Any thoughts?
>>
>> Karl
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> For additional commands, e-mail: dev-h...@lucene.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> For additional commands, e-mail: dev-h...@lucene.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to