On Thursday, May 19, 2016 01:33:11 PM Bert Massop wrote: > On Thu, May 19, 2016 at 1:04 PM, Moses <[email protected]> wrote: > > (plugins.WebOfTrust.WebOfTrust, <noname>(51), ERROR): Error during startup > > com.db4o.ext.Db4oIOException > > > > at > > com.db4o.io.CachedIoAdapter.validateReadOnly(CachedIoAdapter.java:244 > > ) > > at com.db4o.io.CachedIoAdapter.write(CachedIoAdapter.java:215) > > at com.db4o.internal.PersistentBase.write(PersistentBase.java:171) > > [...] > > at > > com.db4o.internal.LocalObjectContainer.createBTreeClassIndex(LocalObj > > ectContainer.java:149) at > > com.db4o.internal.classindex.BTreeClassIndexStrategy.createBTreeIndex > > (BTreeClassIndexStrategy.java:78) [...] > > at com.db4o.internal.ClassMetadata.init(ClassMetadata.java:983) > > [...] > > at > > com.db4o.internal.query.processor.QQueryBase.addClassConstraint(QQuer > > yBase.java:190) at > > com.db4o.internal.query.processor.QQueryBase.constrain(QQueryBase.jav > > a:129) at > > plugins.WebOfTrust.WebOfTrust.peekDatabaseFormatVersion(WebOfTrust.ja > > va:1468) at > > plugins.WebOfTrust.WebOfTrust.openDatabase(WebOfTrust.java:630) [...] > > This looks simple to me. `peekDatabaseFormatVersion` opens the > database with a read-only configuration obtained through > `getNewDatabaseConfiguration(true)`, however the latter configures > indexes regardless of the read-only flag. When adding a constraint > (line 1468) Db4o then attempts to initialize these indexes > (`createBTreeIndex` and friends). In this initialization, Db4o tries > to write, and the read-only configured CachedIoAdapter bails out. > > Long story short: don't attempt to configure indexes on read-only > databases ;-) Should be an easy fix.
I did the following procedure (with build0018): 1. Comment out all index creation code in getNewDatabaseConfiguration() 2. Start WoT to create a fresh database without any indexes, create an own identity, stop it. 3. Re-enable the index creation code. Start WoT again to make the peekDatabaseFormatVersion() hit the database which has no indexes. db4o now should have tried to create them as you suspected. If what you suspected was right, this should have reprocuded the error - but it did not :( Any other ideas? If not, I would suspect the affected database was just randomly broken :|
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ Devl mailing list [email protected] https://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl
