php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #40211 dba_firstkey segfaults when used with mod_php5
Submitted: 2007-01-23 14:40 UTC Modified: 2007-02-02 01:00 UTC
From: stuhood at webmail dot us Assigned:
Status: No Feedback Package: DBM/DBA related
PHP Version: 5.2.0 OS: Red Hat w/ 2.4.21-32.0.1.EL
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If this is not your bug, you can add a comment by following this link.
If this is your bug, but you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: stuhood at webmail dot us
New email:
PHP Version: OS:

 

 [2007-01-23 14:40 UTC] stuhood at webmail dot us
Description:
------------
This bug affects 5.1.4, 5.2.0 and latest CVS on this system, compiled with "--enable-dba=shared --with-db4=/usr/local/BerkeleyDB.4.5/" (or 4.3), and with the dba shared extension in my php.ini file. httpd version is Apache/2.0.46. `php run-tests.php ext/dba` runs without errors.

Permissions:
-rw-r--r-- thedatabase.db

Reproduce code:
---------------
The following script works correctly from the command line, but causes httpd processes to segfault. With a dba_exists call instead of firstkey, it works fine, so I'm fairly certain its a problem with firstkey:

<?php
        $db = dba_open("thedatabase.db", "r", "db4");
        $key = dba_firstkey ($db);
        if($db)
                print "Success: ".$key."\n";
        dba_close($db);
?>


Expected result:
----------------
Should see Success: (first key)

Actual result:
--------------
httpd child segfaults (11) and displays a 500 error.

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2007-01-23 14:51 UTC] tony2001@php.net
We also need this thedatabase.db, please put it somewhere and put the URL here.
 [2007-01-23 20:38 UTC] stuhood at webmail dot us
Alright, here's a link to the database, but as I said: this script (and others) execute just fine from the command line.

http://www.webmail.us/misc/spamrules.db
 [2007-01-23 21:05 UTC] tony2001@php.net
Please try using this CVS snapshot:

  http://snaps.php.net/php5.2-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php5.2-win32-latest.zip

Cannot reproduce with both CLI and Apache.
 [2007-01-24 08:26 UTC] judas dot iscariote at gmail dot com
works perfectly fine here, with db-4.4.20 in both 5.2.0 and latets CVS.

are you sure that your system libraries/headers are not messed up ?
 [2007-01-24 15:34 UTC] stuhood at webmail dot us
Its entirely possible... but if that is the case, then PHP shouldn't compile or work from the command line, correct?

The system has:
/usr/local/BerkeleyDB.4.5/
/usr/local/BerkeleyDB.4.4/
/usr/local/BerkeleyDB.4.3/

libdb-4.* for each version are symlinked to /lib/

I could try reinstalling BDB I guess, but I still want to hear any other suggestions you all might have.

Thanks
 [2007-01-24 15:38 UTC] tony2001@php.net
Thank you for this bug report. To properly diagnose the problem, we
need a backtrace to see what is happening behind the scenes. To
find out how to generate a backtrace, please read
http://bugs.php.net/bugs-generating-backtrace.php for *NIX and
http://bugs.php.net/bugs-generating-backtrace-win32.php for Win32

Once you have generated a backtrace, please submit it to this bug
report and change the status back to "Open". Thank you for helping
us make PHP better.


 [2007-01-25 14:14 UTC] stuhood at webmail dot us
Here are the backtraces affecting httpd when php is built with db-4.3 and db-4.5. Its not crashing where I expected, and its crashing in a different place for both versions.

http://www.hoodidge.net/bugs/db-4.3_httpd-bt.txt
http://www.hoodidge.net/bugs/db-4.5_httpd-bt.txt

You'll note that the 4.3 trace mentions libdb-4.1.so? I tried moving that file and then recompiling php, but httpd would throw an "error while loading shared library" and exit 0177.

So... do I need to recompile apache as well?
 [2007-01-25 14:43 UTC] tony2001@php.net
Please try latest CVS snapshot first.

>So... do I need to recompile apache as well?
If you apache uses db4 - yes, you'll have to recompile it.
 [2007-02-02 01:00 UTC] php-bugs at lists dot php dot net
No feedback was provided for this bug for over a week, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Tue Apr 23 14:01:31 2024 UTC