[Date Prev][Date Next]
2.2.3 w/db-4.2.50 fails test000 on SGI only (ITS#2856)
Full_Name: Darin Broady
OS: Irix 6.5.19m
Submission from: (NULL) (188.8.131.52)
Berkeley 4.2.50 -- ../dist/configure --prefix=<>
OL 2.2.3beta -- ./configure --prefix=<> --enable-crypt --enable-monitor
CPPFLAGS & LDFLAGS point to location of db-4.2.50 & openssl-0.9.6k
Test000 fails with the following message in testrun/slapd.1.log:
bdb_db_open: o=OpenLDAP Project,l=Internet
bdb(o=OpenLDAP Project,l=Internet): write: 0x7fff0a70, 8192: Invalid argument
bdb(o=OpenLDAP Project,l=Internet): PANIC: Invalid argument
bdb_db_open: dbenv_open failed: DB_RUNRECOVERY: Fatal error, run database
backend_startup: bi_db_open(0) failed! (-30978)
slapd shutdown: initiated
slapd shutdown: freeing system resources.
bdb(o=OpenLDAP Project,l=Internet): txn_checkpoint interface requires an
environment configured for the transaction subsystem
bdb_db_destroy: txn_checkpoint failed: Invalid argument (22)
connections_destroy: nothing to destroy.
Seeing the "write: 0x7fff0a70, 8192" message coming from BDB, I went to look
that code. It appears as if BDB tries to do a O_DIRECT write on the file, but
errors out with EINVAL. I think that BDB is not following the rules setup on
for doing a DIRECT IO operation. Irix apparently has some stringent
on the alignment of data for O_DIRECT operations that other operating system do
This problem does not appear on Solaris.
This problem occur in BDB-4.1.25.
I think that solution would be to have BDB not use O_DIRECT on SGI, but I'm not
entirely sure of the correct way to accomplish that one, nor am I sure that it
is the correct solution.
Does anyone have any insight into this?