Re: I just don't understand...

2003-07-25 Thread Scott Adkins
By the way, I through ladebug at the ctl_cyrudb program.  The stack trace
looks like the following:
0  0x304f624 in __db_errcall(0x3ffc008a2b0, 0x0, 0x57, 0x0, 0x0, 0x0)
   in /usr/local/BerkeleyDB.4.1/lib/libdb-4.1.so
#1  0x304f4b0 in __db_err(0x3ffc008a2b0, 0x0, 0x57, 0x0, 0x0, 0x0)
   in /usr/local/BerkeleyDB.4.1/lib/libdb-4.1.so
#2  0x3071f00 in __db_e_attach(0x3ffc008a2b0, 0x0, 0x57, 0x0, 0x0, 0x0)
   in /usr/local/BerkeleyDB.4.1/lib/libdb-4.1.so
#3  0x3072170 in __db_e_remove(0x3ffc008a2b0, 0x0, 0x57, 0x0, 0x0, 0x0)
   in /usr/local/BerkeleyDB.4.1/lib/libdb-4.1.so
#4  0x306d770 in UnknownProcedure3FromFile59(0x3ffc008a2b0, 0x0, 0x57,
   0x0, 0x0, 0x0) in /usr/local/BerkeleyDB.4.1/lib/libdb-4.1.so
#5  0x306d064 in __dbenv_open(0x3ffc008a2b0, 0x0, 0x57, 0x0, 0x0, 0x0)
   in /usr/local/BerkeleyDB.4.1/lib/libdb-4.1.so
#6  0x1200312a0 in init(dbdir=0x11fffaee8=/var/imap/db, myflags=1)
   cyrusdb_berkeley.c:177
#7  0x120030a38 in cyrusdb_init() cyrusdb.c:80
#8  0x1200281c8 in libcyrus_init() libcyr_cfg.c:149
#9  0x120008b88 in cyrus_init(alt_config=0x0, ident=0x14170
   =ctl_cyrusdb) global.c:168
#10 0x120007fe4 in main(argc=2, argv=0x11fffc018) ctl_cyrusdb.c:218
#11 0x120007b38 in __start(0x3ffc008a2b0, 0x0, 0x57, 0x0, 0x0, 0x0)
   in ctl_cyrusdb
The error produced is DBERROR db4: unable to join the environment.  It
looks like it tries to initialize the database by opening /var/imap/db
and never comes back... the process is aborted somewhere in the call.
Scott

--On Friday, July 25, 2003 1:28 AM -0400 Scott Adkins [EMAIL PROTECTED] 
wrote:

I have tried everything to get DB stuff working... I just don't know what
is going on.  Once again, I am on a Tru64 5.1a cluster, was using BerkDB
4.0.14, then switched to 4.1.25.  This is with Cyrus IMAP 2.2.1-beta.
Basically, I get the following errors (just the ctl_cyrusdb lines):

  DBERROR db4: unable to join the environment
  DBERROR: dbenv-open '/var/imap/db' failed: Operation would block
  DBERROR: init() on berkeley
  DBERROR: reading /var/imap/db/skipstamp, assuming the worst:
 No such file or directory
  checkpointing cyrus databases
  archiving database file: /var/imap/annotations.db
  archiving database file: /var/imap/mailboxes.db
  done checkpointing cyrus databases
If I run the ctl_cyrusdb command by hand (basically, logged in as cyrus
and run 'ctl_cyrusdb -r'), I eventually get the following error:
  1434184:./ctl_cyrusdb: /sbin/loader: Fatal Error: call to unresolved
  symbol from /usr/local/BerkeleyDB.4.1/lib/libdb-4.1.so
(pc=0x3016418)
Running ldd against ctl_cyrusdb gives me the following:

  Main  =   ctl_cyrusdb
  libsasl2.so  =   /usr/local/sasl-2.1.15/lib/libsasl2.so
  libdb-4.1.so  =   /usr/local/BerkeleyDB.4.1/lib/libdb-4.1.so
  libssl.so  =   /usr/local/ssl/lib/libssl.so
  libcrypto.so  =   /usr/local/ssl/lib/libcrypto.so
  libc.so  =   /usr/shlib/libc.so
As I mentioned above, I was using BerkDB 4.0.14, and decided to try out
4.1.25 to see if anything changed... it didn't.  S...
I recompiled Cyrus to with the following configuration:

  export CFLAGS=-g2
  ./configure --with-sasl=/usr/local/sasl-2.1.15 \
  --with-dbdir=/usr/local/BerkeleyDB.4.1 \
  --with-ucdsnmp=/usr/local/net-snmp-4.2.1 \
  --with-openssl=/usr/local/ssl \
  --with-egd-socket=/var/run/egd-pool \
  --with-perl=/usr/local/bin/perl \
  --enable-listext --with-lock=flock \
  --with-duplicate-db=skiplist \
  --with-tls-db=skiplist \
  --with-pts-db=skiplist
Basically, nothing uses berkeley or berkely_nosync anymore, choosing
skiplist as the replacement (I am just trying to get something to work
right now, not worry about performance).  I thought that maybe I could
compile without linking in BerkDB at all, but configure won't let me
do it... if I comment out the lines in configure, then I get errors at
compile time because it tries to compile cyrusdb_berkeley.c, which
requires the libs in order to get compiled... even if it supposedly
isn't being used.
Okay, so I got it compiled and freshly installed.  Running ldd against
the binaries shows the same output as above.  When I start the Cyrus
server up, I get the same errors!!! I thought I disabled BerkeleyDB by
specifying skiplist for everything?  So, why am I still getting the
db4: unable to join the environment errors and the follow-up errors
regarding /var/imap/db?
Has anyone else seen this problem?  I know that the last person who
posted something about this problem (back in March) was also running on
Tru64 and never did get a response.
The next thing I can try is to use BerkelyDB 3.x and see what happens.
It obviously works with Cyrus IMAP 2.0.16, so...  After that, I will be
hacking the BerkDB stuff *out* of the code and solve the problem that
way...
Scott
--
 

Re: I just don't understand...

2003-07-25 Thread Nikola Milutinovic
By the way, I through ladebug at the ctl_cyrudb program.  The stack trace
looks like the following:

0  0x304f624 in __db_errcall(0x3ffc008a2b0, 0x0, 0x57, 0x0, 0x0, 0x0)
in /usr/local/BerkeleyDB.4.1/lib/libdb-4.1.so
#1  0x304f4b0 in __db_err(0x3ffc008a2b0, 0x0, 0x57, 0x0, 0x0, 0x0)
in /usr/local/BerkeleyDB.4.1/lib/libdb-4.1.so

This is the error orutine.

#2  0x3071f00 in __db_e_attach(0x3ffc008a2b0, 0x0, 0x57, 0x0, 0x0, 0x0)
in /usr/local/BerkeleyDB.4.1/lib/libdb-4.1.so
#3  0x3072170 in __db_e_remove(0x3ffc008a2b0, 0x0, 0x57, 0x0, 0x0, 0x0)
in /usr/local/BerkeleyDB.4.1/lib/libdb-4.1.so
#4  0x306d770 in UnknownProcedure3FromFile59(0x3ffc008a2b0, 0x0, 0x57,
0x0, 0x0, 0x0) in /usr/local/BerkeleyDB.4.1/lib/libdb-4.1.so

This is strange.

#5  0x306d064 in __dbenv_open(0x3ffc008a2b0, 0x0, 0x57, 0x0, 0x0, 0x0)
in /usr/local/BerkeleyDB.4.1/lib/libdb-4.1.so
#6  0x1200312a0 in init(dbdir=0x11fffaee8=/var/imap/db, myflags=1)
cyrusdb_berkeley.c:177
#7  0x120030a38 in cyrusdb_init() cyrusdb.c:80
#8  0x1200281c8 in libcyrus_init() libcyr_cfg.c:149
#9  0x120008b88 in cyrus_init(alt_config=0x0, ident=0x14170
=ctl_cyrusdb) global.c:168
#10 0x120007fe4 in main(argc=2, argv=0x11fffc018) ctl_cyrusdb.c:218
#11 0x120007b38 in __start(0x3ffc008a2b0, 0x0, 0x57, 0x0, 0x0, 0x0)
in ctl_cyrusdb

The error produced is DBERROR db4: unable to join the environment.  It
looks like it tries to initialize the database by opening /var/imap/db
and never comes back... the process is aborted somewhere in the call.

So why not run it really in a debugging session? Set breakpoints, step
throught the code. I know it is a pain (you'd have to recompile both Cyrus
IMAP and BDB with -g3 switch), but it is the last resort.

 I have tried everything to get DB stuff working... I just don't know what
 is going on.  Once again, I am on a Tru64 5.1a cluster, was using BerkDB
 4.0.14, then switched to 4.1.25.  This is with Cyrus IMAP 2.2.1-beta.

4.0.14 was buggy, 4.1.25 has seen one patch so far, but it is still buggy
and unstable. Folks at SleepyCat have announced that new version should be
soon, but it is taking time.

 Basically, I get the following errors (just the ctl_cyrusdb lines):

   DBERROR db4: unable to join the environment
   DBERROR: dbenv-open '/var/imap/db' failed: Operation would block
   DBERROR: init() on berkeley
   DBERROR: reading /var/imap/db/skipstamp, assuming the worst:
  No such file or directory
   checkpointing cyrus databases
   archiving database file: /var/imap/annotations.db
   archiving database file: /var/imap/mailboxes.db
   done checkpointing cyrus databases

 If I run the ctl_cyrusdb command by hand (basically, logged in as cyrus
 and run 'ctl_cyrusdb -r'), I eventually get the following error:

   1434184:./ctl_cyrusdb: /sbin/loader: Fatal Error: call to unresolved
   symbol from /usr/local/BerkeleyDB.4.1/lib/libdb-4.1.so
 (pc=0x3016418)

This is strange - it should name the unresolved symbol.

 Running ldd against ctl_cyrusdb gives me the following:

   Main  =   ctl_cyrusdb
   libsasl2.so  =   /usr/local/sasl-2.1.15/lib/libsasl2.so
   libdb-4.1.so  =   /usr/local/BerkeleyDB.4.1/lib/libdb-4.1.so
   libssl.so  =   /usr/local/ssl/lib/libssl.so
   libcrypto.so  =   /usr/local/ssl/lib/libcrypto.so
   libc.so  =   /usr/shlib/libc.so

Cyrus IMAP 2.1.13:

Legba:/usr/opt/Cyrus-IMAP-2.1.13/sbin# odump -Dl ctl_cyrusdb

***LIBRARY LIST SECTION***
Name Time-StampCheckSum   Flags Version
ctl_cyrusdb:
libsasl2.so  May  9 13:16:22 2003 0x5324c721 0 2.0
libdb-4.1.so Dec 31 17:10:14 2002 0x62e2eea1 0
libssl.soMar  4 13:26:48 2003 0x7353d310 0 0.9.7
libcrypto.so Mar  4 13:26:46 2003 0x17df10e7 0 0.9.7
libc.so  Jun 25 21:14:05 2001 0x5cbd50dd 0 osf.1

Nothing new there.

 Okay, so I got it compiled and freshly installed.  Running ldd against
 the binaries shows the same output as above.  When I start the Cyrus
 server up, I get the same errors!!! I thought I disabled BerkeleyDB by
 specifying skiplist for everything?  So, why am I still getting the
 db4: unable to join the environment errors and the follow-up errors
 regarding /var/imap/db?

Is skiplist actally disabling BDB?

Nix.



Re: I just don't understand...

2003-07-25 Thread Rob Siemborski
On Fri, 25 Jul 2003, Nikola Milutinovic wrote:

  the binaries shows the same output as above.  When I start the Cyrus
  server up, I get the same errors!!! I thought I disabled BerkeleyDB by
  specifying skiplist for everything?  So, why am I still getting the
  db4: unable to join the environment errors and the follow-up errors
  regarding /var/imap/db?

 Is skiplist actally disabling BDB?

It should be able to run Cyrus without touching the BDB code at all (for
that matter, it should be possible to run it without linking bdb).
However, even if you set all your databases to be skiplist, you still wind
up running Berkeley DB code in 2.2 (see bug 2120, which I just submitted).

2.2 still calls the init functions even if it doesn't use that particular
database backend.  Which means you probably get confusing (harmless) error
messages about the berkeley DB backend because there's no actual database
there.

-Rob

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Rob Siemborski * Andrew Systems Group * Cyert Hall 207 * 412-268-7456
Research Systems Programmer * /usr/contributed Gatekeeper



I just don't understand...

2003-07-24 Thread Scott Adkins
I have tried everything to get DB stuff working... I just don't know what
is going on.  Once again, I am on a Tru64 5.1a cluster, was using BerkDB
4.0.14, then switched to 4.1.25.  This is with Cyrus IMAP 2.2.1-beta.
Basically, I get the following errors (just the ctl_cyrusdb lines):

 DBERROR db4: unable to join the environment
 DBERROR: dbenv-open '/var/imap/db' failed: Operation would block
 DBERROR: init() on berkeley
 DBERROR: reading /var/imap/db/skipstamp, assuming the worst:
No such file or directory
 checkpointing cyrus databases
 archiving database file: /var/imap/annotations.db
 archiving database file: /var/imap/mailboxes.db
 done checkpointing cyrus databases
If I run the ctl_cyrusdb command by hand (basically, logged in as cyrus
and run 'ctl_cyrusdb -r'), I eventually get the following error:
 1434184:./ctl_cyrusdb: /sbin/loader: Fatal Error: call to unresolved
 symbol from /usr/local/BerkeleyDB.4.1/lib/libdb-4.1.so (pc=0x3016418)
Running ldd against ctl_cyrusdb gives me the following:

 Main  =   ctl_cyrusdb
 libsasl2.so  =   /usr/local/sasl-2.1.15/lib/libsasl2.so
 libdb-4.1.so  =   /usr/local/BerkeleyDB.4.1/lib/libdb-4.1.so
 libssl.so  =   /usr/local/ssl/lib/libssl.so
 libcrypto.so  =   /usr/local/ssl/lib/libcrypto.so
 libc.so  =   /usr/shlib/libc.so
As I mentioned above, I was using BerkDB 4.0.14, and decided to try out
4.1.25 to see if anything changed... it didn't.  S...
I recompiled Cyrus to with the following configuration:

 export CFLAGS=-g2
 ./configure --with-sasl=/usr/local/sasl-2.1.15 \
 --with-dbdir=/usr/local/BerkeleyDB.4.1 \
 --with-ucdsnmp=/usr/local/net-snmp-4.2.1 \
 --with-openssl=/usr/local/ssl \
 --with-egd-socket=/var/run/egd-pool \
 --with-perl=/usr/local/bin/perl \
 --enable-listext --with-lock=flock \
 --with-duplicate-db=skiplist \
 --with-tls-db=skiplist \
 --with-pts-db=skiplist
Basically, nothing uses berkeley or berkely_nosync anymore, choosing
skiplist as the replacement (I am just trying to get something to work
right now, not worry about performance).  I thought that maybe I could
compile without linking in BerkDB at all, but configure won't let me
do it... if I comment out the lines in configure, then I get errors at
compile time because it tries to compile cyrusdb_berkeley.c, which
requires the libs in order to get compiled... even if it supposedly
isn't being used.
Okay, so I got it compiled and freshly installed.  Running ldd against
the binaries shows the same output as above.  When I start the Cyrus
server up, I get the same errors!!! I thought I disabled BerkeleyDB by
specifying skiplist for everything?  So, why am I still getting the
db4: unable to join the environment errors and the follow-up errors
regarding /var/imap/db?
Has anyone else seen this problem?  I know that the last person who
posted something about this problem (back in March) was also running on
Tru64 and never did get a response.
The next thing I can try is to use BerkelyDB 3.x and see what happens.
It obviously works with Cyrus IMAP 2.0.16, so...  After that, I will be
hacking the BerkDB stuff *out* of the code and solve the problem that
way...
Scott
--
+---+
 Scott W. Adkinshttp://www.cns.ohiou.edu/~sadkins/
  UNIX Systems Engineer  mailto:[EMAIL PROTECTED]
   ICQ 7626282 Work (740)593-9478 Fax (740)593-1944
+---+
PGP Public Key available at http://www.cns.ohiou.edu/~sadkins/pgp/

pgp0.pgp
Description: PGP signature