Hi
We had the same issue using the version 2.6.1 and waited for a new version to fix. Unfortunatly the new version 2.7-1_01 does not fix that problem as it should do, according to the release notes. We could repeatable cause this error, when opening an old database (created from version 2.6.1) with the new library, do some short thing and close it again.
Using the workaround from user 'btc_es' avoids the exception. After the workaround has taken place, we could run the testcase (on the newly indexed database) several times without the workaround and without any exceptions.
Now I'm a little bit unshure, if we should rely on this workaround and wether we need it every time after opening the database or only once a time after changing the indexes.
In our scenario (exspecially update) it may happen that the database ist opened only for a short time. What if the indexer will start his work in this moment.
edit1: I Just recognized, that the behavior of 2.7.1_01 is not completly the same as in 2.6.7, escpecially it's not a null pointer exception. Instead it seems, that closing the database causes the ODB-IndexActivation Thread to complain about the now unreadable database.
12.07.2017 16:43:30 | copy dbfile
12.07.2017 16:43:33 | Datenbank gefunden und angemeldet (U:\Arne_Temp\TestDB_Arne_objectd_jar\dbtest\AdvoluxData)
12.07.2017 16:43:33 | changed: Peter Gegner, Anschrift: Gegnerweg 1, 10119 Berlin
pos = 3987456
length = 2048
12.07.2017 16:43:34 | Datenbank abgemeldet
Exception in thread "ODB-IndexActivation" com.objectdb.o.UserException: Failed to read from file 'U:\Arne_Temp\TestDB_Arne_objectd_jar\dbtest\AdvoluxData\db\anwalt.objectdb'
at com.objectdb.o.MSG.d(MSG.java:75)
at com.objectdb.o.LFL.UA(LFL.java:1107)
at com.objectdb.o.PAG.au(PAG.java:928)
at com.objectdb.o.PGC.C(PGC.java:283)
at com.objectdb.o.SNP.G(SNP.java:436)
at com.objectdb.o.OBI.v(OBI.java:448)
at com.objectdb.o.OBI.s(OBI.java:357)
at com.objectdb.o.OBI.r(OBI.java:274)
at com.objectdb.o.MBI.c(MBI.java:51)
at com.objectdb.o.MBI.VC(MBI.java:71)
at com.objectdb.o.MST.U8(MST.java:783)
at com.objectdb.o.IXM.D(IXM.java:366)
at com.objectdb.o.IXM.run(IXM.java:341)
at java.lang.Thread.run(Unknown Source)
Caused by: java.io.IOException: Stream Closed
at java.io.RandomAccessFile.seek0(Native Method)
at java.io.RandomAccessFile.seek(Unknown Source)
at com.objectdb.o.LFL.L(LFL.java:1184)
at com.objectdb.o.LFL.UA(LFL.java:1101)
edit2: I played around a little bit with our testcase and repeated the task several times before calling the workaround. It seems that once the workaround was called, every thing went fine and there was no damage at the database. The old library (I think it was 2.6.7) has sometimes damaged the whole database, so we did not dare to deliver it to our customers.