After examining some other instance/environments we have found more JVM
crashes with JDK 6u35.
EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0000000000fe9a1a,
JRE version: 6.0_35-b10
Java VM: Java HotSpot(TM) 64-Bit Server VM (20.10-b01 mixed mode
windows-amd64 compressed oops)
We have only seen these on Windows and they always occur in a elasticsearch
cache thread. One documented difference that I have found with
elasticsearch on Windows is the use of mmapfs stores by default
and in the crash log files we see MMapDirectory$MMapIndexInput in the
register to memory mapping (consistent on all of our crashes). Doing some
digging into Lucene MMapDirectory, I found this stackoverflow post by Uwe
where he describes the MMapDirectory implementation in Lucene and mentions
that there is not 100% safety and the calling application must ensure the
"By default MMapDirectory unmaps the files after closing the IndexInputs.
MMapDirectory is not synchronized at all, so when another thread tries to
access the IndexInput after unmapping it will access an unmapped address
and will SIGSEGV.
If your code would be correct this cannot happen, but it looks like you are
using an already closed IndexReader/IndexWriter to access the index. Before
Lucene 3.5 (will come out soon), missing checks in IndexReader will make it
possible that an already closed IndexReader with all its closed (and
unmapped) IndexInputs tries to access index data and segfaults.
In 3.5 we added additional safety checks to prevent this illegal access,
but its not 100% (as synchronization is missing). I would review the code
and check that nothing accesses closed index."
I believe we are hitting a rare case where elasticsearch has closed an
IndexReader but another thread is trying to read from it. I have also seen
a similar report on this mailing list except it was for
Is anyone using a store type other than mmapfs on Windows? How is the
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to email@example.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/93e8e4bf-7e45-4169-a9f6-a88a2df7aa35%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.