ID: 51062
User updated by: seanius at debian dot org
Reported By: seanius at debian dot org
Status: Open
Bug Type: DBM/DBA related
Operating System: Debian
PHP Version: 5.3.1
New Comment:
some more investigation reveals that the problem was caused by having
db4.8 headers alongside db4.6 and db4.8 runtime libraries (i.e. having
installed libdb4.6, libdb4.8, and libdv-dev (which is 4.8 in latest
debian/ubuntu)). the build scripts find the the headers from the db4.8
package, and the 4.6 libraries since there is no code for testing for
versions > 4.6. strangely enough it's able to build/link.
having the libdb4.6 headers installed instead of the 4.8 headers
removes the problem and the tests pass, but i would argue that this is
still a bug. namely:
* php doesn't support building against db4.8 (i could report a
seperate bug about this if it's better)
* php wrongly builds against headers for one version of libdb and
links against another.
Previous Comments:
------------------------------------------------------------------------
[2010-02-16 21:52:06] seanius at debian dot org
Description:
------------
Tested against the debian 5.3.1 packages as well as a recent 5.3
snapshot. fails on a variety of BE/LE and 32/64bit archs. note that
the failure is different from the snapshot (Segfaults in some cases) and
from 5.3.1 (various warnings about invalid parameters). i don't want to
flood the description so i'll only include the 5.3 snapshot output
here.
=====================================================================
PHP : ./sapi/cli/php
PHP_SAPI : cli
PHP_VERSION : 5.3.3-dev
ZEND_VERSION: 2.3.0
PHP_OS : Linux - Linux rangda 2.6.32-trunk-amd64 #1 SMP Sun Jan 10
22:40:40 UTC 2010 x86_64
INI actual : /home/sean/Download/php5.3-201002160730
More .INIs :
CWD : /home/sean/Download/php5.3-201002160730
Extra dirs :
VALGRIND : Not used
=====================================================================
Running selected tests.
TEST 1/25 [ext/dba/tests/bug36436.phpt]
========DIFF========
001+ DB->sync: method not permitted before handle's open method
002+ Segmentation fault
001- resource(%d) of type (dba persistent)
002- string(3) "XYZ"
003- string(1) "X"
004- string(1) "Y"
005- ===DONE===
========DONE========
FAIL Bug #36436 (DBA problem with Berkeley DB4)
[ext/dba/tests/bug36436.phpt]
TEST 2/25 [ext/dba/tests/bug48240.phpt]
========DIFF========
001+ DB->sync: method not permitted before handle's open method
002- ===DONE===
003+ Segmentation fault
========DONE========
FAIL Bug #48240 (DBA Segmentation fault dba_nextkey)
[ext/dba/tests/bug48240.phpt]
TEST 3/25 [ext/dba/tests/bug49125.phpt]
========DIFF========
001+ DB->sync: method not permitted before handle's open method
001- bool(true)
002+ Segmentation fault
========DONE========
FAIL Bug #49125 (Error in dba_exists C code)
[ext/dba/tests/bug49125.phpt]
PASS DBA File Creation Test [ext/dba/tests/dba001.phpt]
PASS DBA Insert/Fetch Test [ext/dba/tests/dba002.phpt]
PASS DBA Insert/Replace/Fetch Test [ext/dba/tests/dba003.phpt]
PASS DBA Multiple Insert/Fetch Test [ext/dba/tests/dba004.phpt]
PASS DBA FirstKey/NextKey Loop Test With 5 Items
[ext/dba/tests/dba005.phpt]
PASS DBA FirstKey/NextKey with 2 deletes [ext/dba/tests/dba006.phpt]
PASS DBA Multiple File Creation Test [ext/dba/tests/dba007.phpt]
PASS DBA magic_quotes_runtime Test [ext/dba/tests/dba008.phpt]
PASS DBA dba_popen Test [ext/dba/tests/dba009.phpt]
PASS DBA CDB handler test [ext/dba/tests/dba_cdb.phpt]
PASS DBA CDB_MAKE handler test [ext/dba/tests/dba_cdb_make.phpt]
PASS DBA CDB handler test (read only) [ext/dba/tests/dba_cdb_read.phpt]
SKIP DBA DB1 handler test [ext/dba/tests/dba_db1.phpt] reason: DB1
handler not available
SKIP DBA DB2 handler test [ext/dba/tests/dba_db2.phpt] reason: DB2
handler not available
SKIP DBA DB3 handler test [ext/dba/tests/dba_db3.phpt] reason: DB3
handler not available
TEST 19/25 [ext/dba/tests/dba_db4.phpt]
========DIFF========
002+ DB->sync: method not permitted before handle's open method
003+ DB->get: method not permitted before handle's open method
004+ DB->get: method not permitted before handle's open method
005+ DB->fd: method not permitted before handle's open method
006+ 0Segmentation fault
002- 3NYNYY
003- Content String 2
004- Content 2 replaced
005- Read during write: not allowed
006- Content 2 replaced 2nd time
007- The 6th value
008- array(3) {
009- ["key number 6"]=>
010- string(13) "The 6th value"
011- ["key2"]=>
012- string(27) "Content 2 replaced 2nd time"
013- ["key5"]=>
014- string(23) "The last content string"
015- }
016- --NO-LOCK--
017- 3NYNYY
018- Content String 2
019- Content 2 replaced
020- Read during write: not allowed
021- Content 2 replaced 2nd time
022- The 6th value
023- array(3) {
024- ["key number 6"]=>
025- string(13) "The 6th value"
026- ["key2"]=>
027- string(27) "Content 2 replaced 2nd time"
028- ["key5"]=>
029- string(23) "The last content string"
030- }
031- ===DONE===
========DONE========
FAIL DBA DB4 handler test [ext/dba/tests/dba_db4.phpt]
SKIP DBA DBM handler test [ext/dba/tests/dba_dbm.phpt] reason: DBM
handler not available
PASS DBA FlatFile handler test [ext/dba/tests/dba_flatfile.phpt]
SKIP DBA GDBM handler test [ext/dba/tests/dba_gdbm.phpt] reason: GDBM
handler not available
PASS DBA INIFILE handler test [ext/dba/tests/dba_inifile.phpt]
SKIP DBA NDBM handler test [ext/dba/tests/dba_ndbm.phpt] reason: NDBM
handler not available
SKIP DBA QDBM handler test [ext/dba/tests/dba_qdbm.phpt] reason: QDBM
handler not available
=====================================================================
Number of tests : 25 18
Tests skipped : 7 ( 28.0%) --------
Tests warned : 0 ( 0.0%) ( 0.0%)
Tests failed : 4 ( 16.0%) ( 22.2%)
Expected fail : 0 ( 0.0%) ( 0.0%)
Tests passed : 14 ( 56.0%) ( 77.8%)
---------------------------------------------------------------------
Time taken : 0 seconds
=====================================================================
=====================================================================
FAILED TEST SUMMARY
---------------------------------------------------------------------
Bug #36436 (DBA problem with Berkeley DB4)
[ext/dba/tests/bug36436.phpt]
Bug #48240 (DBA Segmentation fault dba_nextkey)
[ext/dba/tests/bug48240.phpt]
Bug #49125 (Error in dba_exists C code) [ext/dba/tests/bug49125.phpt]
DBA DB4 handler test [ext/dba/tests/dba_db4.phpt]
=====================================================================
Reproduce code:
---------------
ext/dba/tests/bug36436.phpt
ext/dba/tests/bug48240.phpt
ext/dba/tests/bug49125.phpt
ext/dba/tests/dba_db4.phpt
Expected result:
----------------
PASS
Actual result:
--------------
FAIL (incl segfaults)
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=51062&edit=1