Re: db4o11-7.4 AbstractMethodError

Matthew Toseland <toad-EI5O+8PHWbJeeLb3ft/[email protected]>
Newsgroups gmane.network.freenet.support
Message-ID <[email protected]>
On Sunday 19 Aug 2012 15:09:32 Dennis Nezic wrote:
> On Wed, 15 Aug 2012 14:29:15 +0100, Matthew Toseland wrote:
> > On Wednesday 15 Aug 2012 05:05:44 Dennis Nezic wrote:
> > > On Tue, 14 Aug 2012 23:50:03 -0400, Steve Dougherty wrote:
> > > > On 08/14/2012 10:52 PM, Dennis Nezic wrote:
> > > > > On Tue, 14 Aug 2012 11:40:49 -0400, Steve Dougherty wrote:
> > > > >> On 08/14/2012 08:56 AM, Dennis Nezic wrote:
> > > > >>> On Fri, 10 Aug 2012 15:47:35 -0400, Steve Dougherty wrote:
> > > > >>>> Any idea what may have changed before this problem started 
> > > > >>>> happening? What version of ant are you using to build?
> > > > >>> 
> > > > >>> That's what I'm pulling my hair trying to find out! I only
> > > > >>> upgraded a few system packages on my machine, like glib,
> > > > >>> libffi, ... -- and nothing much else! But how can a seemingly
> > > > >>> unrelated system package have such a huge effect in a Java
> > > > >>> environment??
> > > > >>> 
> > > > >>> I haven't changed my jdk (although recently I did test with 
> > > > >>> others, sun-jdk and icedtea-bin), I haven't changed my ant, I 
> > > > >>> haven't changed my db4o's, I recompiled all of Freenet's
> > > > >>> (direct) dependencies. This is incredibly frustrating. I mean,
> > > > >>> 1407 WAS working before, and now it's not :S.
> > > > >>> 
> > > > >>> Here are the types of AbstractMethodError's that arise:
> > > > >>> 
> > > > >>> 
> > > > >>> java.lang.AbstractMethodError: 
> > > > >>> com.db4o.internal.query.ObjectSetFacade.iterator 
> > > > >>> ()Ljava/util/Iterator;
> > > > >>> 
> > > > >>> 
> > > > >> at freenet.client.async.ClientRequestScheduler.loadKeyListeners
> > > > >>> (ClientRequestScheduler.java:114) [code]
> > > > >>> ObjectSet<HasKeyListener> results = Db4oBugs.query (container,
> > > > >>> HasKeyListener.class); for (HasKeyListener l : results) {
> > > > >>> <--- ** 114 [/code]
> > > > >>> 
> > > > >>> 
> > > > >>> java.lang.AbstractMethodError: 
> > > > >>> com.db4o.internal.query.ObjectSetFacade.iterator 
> > > > >>> ()Ljava/util/Iterator;
> > > > >>> 
> > > > >>> 
> > > > >> at
> > > > >> freenet.client.async.PersistentStatsPutter.restorePreviousData
> > > > >>> (PersistentStatsPutter.java:44) [code] 
> > > > >>> ObjectSet<BandwidthStatsContainer> BSCresult =
> > > > >>> container.query (BandwidthStatsContainer.class); for
> > > > >>> (BandwidthStatsContainer candidate : BSCresult) {   <--- **
> > > > >>> 44 [/code]
> > > > >> 
> > > > >> So what did you do to establish that your database is not
> > > > >> corrupted? These are internal db4o errors.
> > > > > 
> > > > > Hmm. So it does seem as though my datastore was corrupted.
> > > > > Deleting it, and making my node create a new one got me up and
> > > > > running again. Thanks Steve!
> > > > > 
> > > > > The odd thing is a bunch of us[1] have been getting this
> > > > > error / corruption since about the time build1409 came out. I
> > > > > sure hope it's just a freak coincidence :S.
> > > > > 
> > > > > [1] https://bugs.gentoo.org/show_bug.cgi?id=429716
> > > > 
> > > > Your _datastore_ was corrupted, not your node.db4o(.crypt)?! What
> > > > exactly did you do to get your node running again?
> > > 
> > > Correct. The very first thing I tried (which usually worked before
> > > with db4o errors), was to delete my node.db4o.crypt file. That had
> > > no effect this time. Instead, deleting datastore/*, or starting
> > > with a fresh installation, with the wizard, got the node running.
> > > Drastic, I know. (Although, Tommy in the bug report mentioned he
> > > was able to reproduce the error even with a clean wizard
> > > installation :S.)
> > 
> > That is not consistent with the error message you gave, which is
> > clearly a db4o problem.
> 
> Are you sure about that? Is there no way a "corrupt" datastore could
> corrupt the db4o file? What do you suppose created that db4o Abstract
> Method Error? (Considering the fact that deleting it, and letting
> freenet make a new one still caused it.)

No, this would definitely not be caused by a problem with the datastore, which is a very simple structure that does not store any code or complex objects. Whereas db4o could well cause such problems - either spontaneously, on defrag, on doing uploads, or ... Well we have lots of reports and we're not quite sure what to do about it yet. :(

_______________________________________________
Support mailing list
[email protected]
http://news.gmane.org/gmane.network.freenet.support
Unsubscribe at http://emu.freenetproject.org/cgi-bin/mailman/listinfo/support
Or mailto:support-request-RdDMkVZAZeuJnvDnx1genB2eb7JE58TQ@public.gmane.org?subject=unsubscribe
signature.asc (application/pgp-signature, 198 B)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)

iEYEABEIAAYFAlAyhm0ACgkQYUNbc3WUHYi5cACfWUtvS3AmJEIJ+N++7JOYlBx7
07kAoJfO0JmNoFJsPJm1fbK54DIADgAA
=40TR
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.