You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Uwe Schindler (JIRA)" <ji...@apache.org> on 2015/12/24 13:48:49 UTC

[jira] [Comment Edited] (LUCENE-6943) Jvm Crashes occassionaly with Lucene 4.6.1

    [ https://issues.apache.org/jira/browse/LUCENE-6943?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15070960#comment-15070960 ] 

Uwe Schindler edited comment on LUCENE-6943 at 12/24/15 12:47 PM:
------------------------------------------------------------------

bq. we were earlier using MMapDirectory but we switched to NIOFS if you check the latest log file here: https://issues.apache.org/jira/secure/attachment/12779429/hs_err_pid9254.log

Sorry, this is definitely using MMapDirectory, because this one uses ByteBufferIndexInput as implementation class!

{noformat}
Stack: [0x00007fc83191e000,0x00007fc831a1f000],  sp=0x00007fc831a195c0,  free space=1005k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
J 1583 C2 org.apache.lucene.store.ByteBufferIndexInput.readByte()B (126 bytes) @ 0x00007fe487f50c0c [0x00007fe487f50bc0+0x4c]
{noformat}

Please check your solrconfig.xml!

In addition: MMapDirectory tries its best to prevent SIGSEGV by early throwing AlreadyClosedException. Can you check the log files if you see any occurence of stuff like AlreadyClosedException or other IOExceptions? If you see those, the SIGSEGV was prevented by the tracking code, but under high load with high concurrency this cannot be safely tracked, as we would otherwise significantly slowdown searches. So it may throw AlreadyClosed/IOExceptions or crash. But both tell you that there is a programming error (because something closes IndexReaders while searches are running).

Switching to NIOFSDirectory would just prevent hard crushes by slowing down searches, but the error in your / Solr's code is still there. So please look for IO/AlreadyClosed exceptions in the logs (with MMap or NIO doesnt matter).


was (Author: thetaphi):
bq. we were earlier using MMapDirectory but we switched to NIOFS if you check the latest log file here: https://issues.apache.org/jira/secure/attachment/12779429/hs_err_pid9254.log

Sorry, this is definitely using MMapDirectory, because this one uses ByteBufferIndexInput as implementation class!

{noformat}
Stack: [0x00007fc83191e000,0x00007fc831a1f000],  sp=0x00007fc831a195c0,  free space=1005k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
J 1583 C2 org.apache.lucene.store.ByteBufferIndexInput.readByte()B (126 bytes) @ 0x00007fe487f50c0c [0x00007fe487f50bc0+0x4c]
{noformat}

Please check your solrconfig.xml!

In addition: MMapDirectory tries its best to prevent SIGSEGV by early throwing AlreadyClosedException. Can you check the log files if you see any occurence of stuff like AlreadyClosedException or other IOExceptions? If you see those, the SIGSEGV was prevented by the tracking code, but under high load with high concurrency this cannot be safely tracked, as we would otherwise significantly slowdown searches. So it may throw AlreadyClosed/IOExceptions or crash. But both tell you that there is a programming error (because something closes IndexReaders while searches are running).

> Jvm Crashes occassionaly with Lucene 4.6.1
> ------------------------------------------
>
>                 Key: LUCENE-6943
>                 URL: https://issues.apache.org/jira/browse/LUCENE-6943
>             Project: Lucene - Core
>          Issue Type: Bug
>          Components: core/query/scoring
>    Affects Versions: 4.6.1
>            Reporter: amit bhengra
>         Attachments: hs_err_pid9254.log, hs_err_pid9889.log
>
>
> #
> # A fatal error has been detected by the Java Runtime Environment:
> #
> #  SIGSEGV (0xb) at pc=0x00007f5625212cd7, pid=9889, tid=139920130201344
> #
> # JRE version: Java(TM) SE Runtime Environment (7.0_60-b19) (build 1.7.0_60-b19)
> # Java VM: Java HotSpot(TM) 64-Bit Server VM (24.60-b09 mixed mode linux-amd64 )
> # Problematic frame:
> # J 11490 C2 org.apache.lucene.store.ByteBufferIndexInput.readByte()B (126 bytes) @ 0x00007f5625212cd7 [0x00007f5625212c80+0x57]
> #
> # Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
> #
> # If you would like to submit a bug report, please visit:
> #   http://bugreport.sun.com/bugreport/crash.jsp
> #
> Register to memory mapping:
> RAX=0x00007f55de053510 is an oop
> {instance class} 
>  - klass: {other class}
> RBX=0x00007f549dffc028 is an oop
> org.apache.lucene.codecs.lucene41.Lucene41PostingsReader 
>  - klass: 'org/apache/lucene/codecs/lucene41/Lucene41PostingsReader'
> RCX=0x0000000000000004 is an unknown value
> RDX=0x0000000000000080 is an unknown value
> RSP=0x00007f41b1a7f640 is pointing into the stack for thread: 0x00007f48f81a4000
> RBP=0x00007f4b1bff3630 is an oop
> java.nio.DirectByteBufferR 
>  - klass: 'java/nio/DirectByteBufferR'
> RSI=0x00007f4b1bff35a8 is an oop
> org.apache.lucene.store.MMapDirectory$MMapIndexInput 
>  - klass: 'org/apache/lucene/store/MMapDirectory$MMapIndexInput'
> RDI=0x00000000237c532a is an unknown value
> R8 =0x00000000237c4da3 is an unknown value
> R9 =0x00007f4b1bff35a8 is an oop
> org.apache.lucene.store.MMapDirectory$MMapIndexInput 
>  - klass: 'org/apache/lucene/store/MMapDirectory$MMapIndexInput'
> R10=0x00007f3a8f98a000 is an unknown value
> R11=0x00000000237c4da3 is an unknown value
> R12=0x00007f41b1a81f30 is pointing into the stack for thread: 0x00007f48f81a4000
> R13=0x0000000000000093 is an unknown value
> R14=0x000000000000431f is an unknown value
> R15=0x00007f48f81a4000 is a thread
> Stack: [0x00007f41b1985000,0x00007f41b1a86000],  sp=0x00007f41b1a7f640,  free space=1001k
> Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
> J 11490 C2 org.apache.lucene.store.ByteBufferIndexInput.readByte()B (126 bytes) @ 0x00007f5625212cd7 [0x00007f5625212c80+0x57]
> J 4940 C2 org.apache.lucene.codecs.lucene41.Lucene41PostingsReader$BlockDocsAndPositionsEnum.nextPosition()I (118 bytes) @ 0x00007f5624515cb4 [0x00007f5624515980+0x334]
> J 10578 C2 org.apache.lucene.search.ExactPhraseScorer.phraseFreq()I (624 bytes) @ 0x00007f56256de588 [0x00007f56256de4e0+0xa8]
> J 10629 C2 org.apache.lucene.search.ExactPhraseScorer.advance(I)I (152 bytes) @ 0x00007f5625729d84 [0x00007f5625729ba0+0x1e4]
> J 10433 C2 org.apache.lucene.search.MinShouldMatchSumScorer.advance(I)I (113 bytes) @ 0x00007f5625653c34 [0x00007f5625653ae0+0x154]
> J 5630 C2 org.apache.lucene.search.BooleanScorer2.advance(I)I (14 bytes) @ 0x00007f5624642a10 [0x00007f5624642820+0x1f0]
> J 5826 C2 org.apache.lucene.search.DisjunctionScorer.advance(I)I (87 bytes) @ 0x00007f56246f140c [0x00007f56246f13c0+0x4c]
> J 8801 C2 org.apache.lucene.search.join.FkToChildBlockJoinQuery$FkToChildBlockJoinScorer.advance(I)I (284 bytes) @ 0x00007f56251274c0 [0x00007f5625127440+0x80]
> J 5630 C2 org.apache.lucene.search.BooleanScorer2.advance(I)I (14 bytes) @ 0x00007f56246429fc [0x00007f5624642820+0x1dc]
> J 4797 C2 org.apache.lucene.search.FilteredQuery$LeapFrogScorer.score(Lorg/apache/lucene/search/Collector;)V (91 bytes) @ 0x00007f56244e9ccc [0x00007f56244e9c40+0x8c]
> J 4613 C2 org.apache.lucene.search.IndexSearcher.search(Ljava/util/List;Lorg/apache/lucene/search/Weight;Lorg/apache/lucene/search/Collector;)V (93 bytes) @ 0x00007f562446cbec [0x00007f562446ca80+0x16c]
> J 6159 C2 org.apache.solr.search.SolrIndexSearcher.getDocListNC(Lorg/apache/solr/search/SolrIndexSearcher$QueryResult;Lorg/apache/solr/search/SolrIndexSearcher$QueryCommand;)V (708 bytes) @ 0x00007f562486cc30 [0x00007f562486c9a0+0x290]
> J 11811 C2 org.apache.solr.search.SolrIndexSearcher.getDocListC(Lorg/apache/solr/search/SolrIndexSearcher$QueryResult;Lorg/apache/solr/search/SolrIndexSearcher$QueryCommand;)V (696 bytes) @ 0x00007f5625c957c0 [0x00007f5625c955c0+0x200]
> J 9702 C2 org.apache.solr.search.SolrIndexSearcher.search(Lorg/apache/solr/search/SolrIndexSearcher$QueryResult;Lorg/apache/solr/search/SolrIndexSearcher$QueryCommand;)Lorg/apache/solr/search/SolrIndexSearcher$QueryResult; (8 bytes) @ 0x00007f5625461404 [0x00007f56254613e0+0x24]
> j  org.apache.solr.handler.component.QueryComponent.process(Lorg/apache/solr/handler/component/ResponseBuilder;)V+1537



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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