[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

a new tack on figuring out 'invalid argument' bdb errs

From: Ben Collins-Sussman <sussman_at_collab.net>
Date: 2004-07-27 21:27:56 CEST

Maxb has a nice talent for fixing broken repositories, but we still
can't figure out *why* certain folks are getting these 'invalid
argument' errors from BDB.

According to the sleepycat docs, the first FAQ on this page:

   http://www.sleepycat.com/docs/ref/debug/common.html

...says that EINVAL is a generic error, and that to see the true
detailed error, we need to activate BDB's "verbose" error messages,
using BDB's string callback mechanism.

Of course, this has always been problematic for us... trying to
register a callback in libsvn_fs_base with DB_ENV->set_errcall(), when
a library isn't supposed to print things.

Glenn Thompson posted a patch for this in issue 1358, but it never got
applied; it was a very complex. (cmpilato says we didn't apply the
patch because we were passing a baton as a const char * parameter, and
we wanted Sleepycat to change the api to void *, and we were going to
work around it by parsing/unparsing memory addresses to/from strings.
Gat's patch also opened us up to a generic logging mechanism within
libsvn_fs_base.)

But I have a *much* simpler idea, just aimed at diagnosing issue 1968
in the short-term. Let's build a diagnostic tool we can distribute.

1. create a new branch from the 1.0.6 tag.
2. register a callback with DB_ENV->set_errcall() that just prints to
   stdout.
3. build a static 'svnadmin' from this branch for a couple of
   platforms (intel linux, OSX) against db4.2.

When somebody gets the mysterious "invalid argument" error from
svnadmin, we ask them to grab the static binary... and run it to see
the detailed error.

Is this a silly idea? It would be pretty easy to do.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue Jul 27 21:29:11 2004

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.