[Date Prev][Date Next] [Chronological] [Thread] [Top]

RE: 2.2.3 w/db-4.2.50 fails test000 on SGI only (ITS#2856)



This is a multipart message in MIME format.
--=_alternative 00556C3C85256DF1_=
Content-Type: text/plain; charset="us-ascii"

Howard,

How do I go about telling Sleepycat about this?  I don't have a support 
contract with them, nor do see on their website how to submit issues.

Darin Broady
dbroady@lexmark.com
Lexmark International, Inc.




To:     <dbroady@lexmark.com>, <openldap-its@OpenLDAP.org>
cc: 
Subject:        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 
dbroady@lexmark.com

> Full_Name: Darin Broady
> Version: 2.2.3
> OS: Irix 6.5.19m
> URL: ftp://ftp.openldap.org/incoming/
> Submission from: (NULL) (192.146.101.11)
>
>
> Setup:
> --------
> Berkeley 4.2.50 -- ../dist/configure --prefix=<>
> OL 2.2.3beta    -- ./configure --prefix=<> --enable-crypt
> --enable-monitor
> --enable-hdb
> 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
> through
> that code.  It appears as if BDB tries to do a O_DIRECT write
> on the file, but
> it
> errors out with EINVAL.  I think that BDB is not following
> the rules setup on
> Irix
> for doing a DIRECT IO operation.  Irix apparently has some stringent
> requirements
> 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
http://www.symas.com               http://highlandsun.com/hyc
Symas: Premier OpenSource Development and Support




--=_alternative 00556C3C85256DF1_=
Content-Type: text/html; charset="us-ascii"


<br><font size=2 face="sans-serif">Howard,</font>
<br>
<br><font size=2 face="sans-serif">How do I go about telling Sleepycat about this? &nbsp;I don't have a support contract with them, nor do see on their website how to submit issues.</font>
<br><font size=2 face="sans-serif"><br>
Darin Broady</font>
<br><font size=2 face="sans-serif">dbroady@lexmark.com</font>
<br><font size=2 face="sans-serif">Lexmark International, Inc.</font>
<br>
<br>
<br>
<br>
<p><font size=1 color=#800080 face="sans-serif">To: &nbsp; &nbsp; &nbsp; &nbsp;</font><font size=1 face="sans-serif">&lt;dbroady@lexmark.com&gt;, &lt;openldap-its@OpenLDAP.org&gt;</font>
<br><font size=1 color=#800080 face="sans-serif">cc: &nbsp; &nbsp; &nbsp; &nbsp; </font>
<br><font size=1 color=#800080 face="sans-serif">Subject: &nbsp; &nbsp; &nbsp; &nbsp;</font><font size=1 face="sans-serif">RE: 2.2.3 w/db-4.2.50 fails test000 on SGI only (ITS#2856)</font>
<br>
<br>
<br><font size=2><tt>&gt; -----Original Message-----<br>
&gt; From: owner-openldap-bugs@OpenLDAP.org<br>
&gt; [mailto:owner-openldap-bugs@OpenLDAP.org]On Behalf Of dbroady@lexmark.com<br>
</tt></font>
<br><font size=2><tt>&gt; Full_Name: Darin Broady<br>
&gt; Version: 2.2.3<br>
&gt; OS: Irix 6.5.19m<br>
&gt; URL: ftp://ftp.openldap.org/incoming/<br>
&gt; Submission from: (NULL) (192.146.101.11)<br>
&gt;<br>
&gt;<br>
&gt; Setup:<br>
&gt; --------<br>
&gt; Berkeley 4.2.50 -- ../dist/configure --prefix=&lt;&gt;<br>
&gt; OL 2.2.3beta &nbsp; &nbsp;-- ./configure --prefix=&lt;&gt; --enable-crypt<br>
&gt; --enable-monitor<br>
&gt; --enable-hdb<br>
&gt; CPPFLAGS &amp; LDFLAGS point to location of db-4.2.50 &amp; openssl-0.9.6k<br>
&gt;<br>
&gt; Test000 fails with the following message in testrun/slapd.1.log:<br>
&gt; ----------------------------------<br>
&gt; bdb_db_open: o=OpenLDAP Project,l=Internet<br>
&gt; bdb_db_open: dbenv_open(./testrun/db.1.a)<br>
&gt; bdb(o=OpenLDAP Project,l=Internet): write: 0x7fff0a70, 8192:<br>
&gt; Invalid argument<br>
&gt; bdb(o=OpenLDAP Project,l=Internet): PANIC: Invalid argument<br>
&gt; bdb_db_open: dbenv_open failed: DB_RUNRECOVERY: Fatal error,<br>
&gt; run database<br>
&gt; recovery (-30978)<br>
&gt; backend_startup: bi_db_open(0) failed! (-30978)<br>
&gt; slapd shutdown: initiated<br>
&gt; ====&gt; bdb_cache_release_all<br>
&gt; slapd shutdown: freeing system resources.<br>
&gt; bdb(o=OpenLDAP Project,l=Internet): txn_checkpoint interface<br>
&gt; requires an<br>
&gt; environment configured for the transaction subsystem<br>
&gt; bdb_db_destroy: txn_checkpoint failed: Invalid argument (22)<br>
&gt; slapd stopped.<br>
&gt; connections_destroy: nothing to destroy.<br>
&gt;<br>
&gt;<br>
&gt; Seeing the &quot;write: 0x7fff0a70, 8192&quot; message coming from BDB,<br>
&gt; I went to look<br>
&gt; through<br>
&gt; that code. &nbsp;It appears as if BDB tries to do a O_DIRECT write<br>
&gt; on the file, but<br>
&gt; it<br>
&gt; errors out with EINVAL. &nbsp;I think that BDB is not following<br>
&gt; the rules setup on<br>
&gt; Irix<br>
&gt; for doing a DIRECT IO operation. &nbsp;Irix apparently has some stringent<br>
&gt; requirements<br>
&gt; on the alignment of data for O_DIRECT operations that other<br>
&gt; operating system do<br>
&gt; not have.<br>
&gt;<br>
&gt; This problem does not appear on Solaris.<br>
&gt;<br>
&gt; This problem occur in BDB-4.1.25.<br>
&gt;<br>
&gt; I think that solution would be to have BDB not use O_DIRECT<br>
&gt; on SGI, but I'm not<br>
&gt; entirely sure of the correct way to accomplish that one, nor<br>
&gt; am I sure that it<br>
&gt; is the correct solution.<br>
&gt;<br>
&gt; Does anyone have any insight into this?<br>
</tt></font>
<br><font size=2><tt>Sounds like a bug in BDB that should be reported to SleepyCat. According to<br>
the SleepyCat documentation, DIRECT IO is not used by default, you're<br>
supposed to set the DB_DIRECT_DB environment flag to enable it. OpenLDAP does<br>
not enable this flag by default.<br>
</tt></font>
<br><font size=2><tt>-- Howard Chu<br>
Chief Architect, Symas Corp. &nbsp; &nbsp; &nbsp; Director, Highland Sun<br>
http://www.symas.com &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; http://highlandsun.com/hyc<br>
Symas: Premier OpenSource Development and Support</tt></font>
<br>
<br>
<br>
<br>
--=_alternative 00556C3C85256DF1_=--