[Date Prev][Date Next]
RE: 2.2.3 w/db-4.2.50 fails test000 on SGI only (ITS#2856)
> -----Original Message-----
> From: owner-openldap-bugs@OpenLDAP.org
> [mailto:owner-openldap-bugs@OpenLDAP.org]On Behalf Of email@example.com
> Full_Name: Darin Broady
> Version: 2.2.3
> OS: Irix 6.5.19m
> URL: ftp://ftp.openldap.org/incoming/
> Submission from: (NULL) (188.8.131.52)
> Berkeley 4.2.50 -- ../dist/configure --prefix=<>
> OL 2.2.3beta -- ./configure --prefix=<> --enable-crypt
> 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_db_open: dbenv_open(./testrun/db.1.a)
> 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
> recovery (-30978)
> backend_startup: bi_db_open(0) failed! (-30978)
> slapd shutdown: initiated
> ====> bdb_cache_release_all
> 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)
> slapd stopped.
> 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
> not have.
> 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?
Sounds like a bug in BDB that should be reported to SleepyCat. According to
the SleepyCat documentation, DIRECT IO is not used by default, you're
supposed to set the DB_DIRECT_DB environment flag to enable it. OpenLDAP does
not enable this flag by default.
-- Howard Chu
Chief Architect, Symas Corp. Director, Highland Sun
Symas: Premier OpenSource Development and Support