I've been trying to track down some random AIOOB exceptions in Lucene for a customer, and I've managed to reproduce the issue with a unit test of sufficient size in conjunction with highly concurrent read requests.
A typical stack trace looks like:
The number of unique stack traces is relatively high, most AIOOB exceptions, but some EOF. Most exceptions occur in the term index, however I believe this may be just an artifact of where highly concurrent access is most likely to occur. The queries that triggered this had many wildcards and other multi-term queries.