From: christian at enovo dot dk
Operating system: FreeBSD 7.1-PRERELEASE #0
PHP version: 5.2.8
PHP Bug Type: Reproducible crash
Bug description: Bus error: 10 (core dumped) in zend_hash.c
Description:
------------
Failing server:
FreeBSD fox.enovo.dk 7.1-PRERELEASE FreeBSD 7.1-PRERELEASE
#0: Sat Nov 1 17:48:22 UTC 2008
[email protected]:/usr/obj/usr/src/sys/Fox amd64
PHP 5.2.8 (cli) (built: Dec 15 2008 16:38:16) (DEBUG)
Working server:
FreeBSD cox.enovo.dk 7.1-PRERELEASE FreeBSD 7.1-PRERELEASE
#1: Sat Nov 1 16:45:54 UTC 2008
[email protected]:/usr/obj/usr/src/sys/Cox amd64
PHP 5.2.6 with Suhosin-Patch 0.9.6.2 (cli) (built: Oct 8
2008 21:37:20)
Trace:
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and
you are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for
details.
This GDB was configured as "amd64-marcel-freebsd"...
Core was generated by `php'.
Program terminated with signal 10, Bus error.
Reading symbols from /lib/libcrypt.so.4...done.
Loaded symbols for /lib/libcrypt.so.4
Reading symbols from /lib/libz.so.4...done.
Loaded symbols for /lib/libz.so.4
Reading symbols from /usr/local/lib/libexslt.so.8...done.
Loaded symbols for /usr/local/lib/libexslt.so.8
Reading symbols from /lib/libm.so.5...done.
Loaded symbols for /lib/libm.so.5
Reading symbols from /usr/local/lib/libmcrypt.so.8...done.
Loaded symbols for /usr/local/lib/libmcrypt.so.8
Reading symbols from /usr/local/lib/libltdl.so.4...done.
Loaded symbols for /usr/local/lib/libltdl.so.4
Reading symbols from /usr/local/lib/libintl.so.8...done.
Loaded symbols for /usr/local/lib/libintl.so.8
Reading symbols from /usr/local/lib/libpng.so.5...done.
Loaded symbols for /usr/local/lib/libpng.so.5
Reading symbols from /usr/local/lib/libjpeg.so.9...done.
Loaded symbols for /usr/local/lib/libjpeg.so.9
Reading symbols from /usr/lib/libssl.so.5...done.
Loaded symbols for /usr/lib/libssl.so.5
Reading symbols from /lib/libcrypto.so.5...done.
Loaded symbols for /lib/libcrypto.so.5
Reading symbols from /usr/lib/libbz2.so.3...done.
Loaded symbols for /usr/lib/libbz2.so.3
Reading symbols from /usr/local/lib/libcurl.so.4...done.
Loaded symbols for /usr/local/lib/libcurl.so.4
Reading symbols from /usr/local/lib/libcares.so.1...done.
Loaded symbols for /usr/local/lib/libcares.so.1
Reading symbols from
/usr/local/lib/mysql/libmysqlclient.so.15...done.
Loaded symbols for /usr/local/lib/mysql/libmysqlclient.so.15
Reading symbols from /usr/local/lib/libxslt.so.2...done.
Loaded symbols for /usr/local/lib/libxslt.so.2
Reading symbols from /usr/local/lib/libxml2.so.5...done.
Loaded symbols for /usr/local/lib/libxml2.so.5
Reading symbols from /usr/local/lib/libiconv.so.3...done.
Loaded symbols for /usr/local/lib/libiconv.so.3
Reading symbols from /lib/libc.so.7...done.
Loaded symbols for /lib/libc.so.7
Reading symbols from /usr/local/lib/php/20060613-debug/apc.so...done.
Loaded symbols for /usr/local/lib/php/20060613-debug/apc.so
Reading symbols from /usr/lib/librt.so.1...done.
Loaded symbols for /usr/lib/librt.so.1
Reading symbols from /usr/local/lib/php/20060613-
debug/fileinfo.so...done.
Loaded symbols for /usr/local/lib/php/20060613-debug/fileinfo.so
Reading symbols from /usr/lib/libmagic.so.3...done.
Loaded symbols for /usr/lib/libmagic.so.3
Reading symbols from /libexec/ld-elf.so.1...done.
Loaded symbols for /libexec/ld-elf.so.1
#0 0x000000000082f88c in zend_hash_get_current_data_ex (ht=0xe24ed8,
pData=0x7fffffffbdd8, pos=0x7fffffffbd98) at
/usr/home/php/php-5.2.8/Zend/zend_hash.c:1163
1163 *pData = p->pData;
(gdb) bt
#0 0x000000000082f88c in zend_hash_get_current_data_ex (ht=0xe24ed8,
pData=0x7fffffffbdd8, pos=0x7fffffffbd98) at
/usr/home/php/php-5.2.8/Zend/zend_hash.c:1163
#1 0x00000000006f3da3 in zif_extract (ht=2, return_value=0xe21048,
return_value_ptr=0x0, this_ptr=0x0,
return_value_used=0) at /usr/home/php/php-
5.2.8/ext/standard/array.c:1396
#2 0x000000000084b13b in zend_do_fcall_common_helper_SPEC
(execute_data=0x7fffffffc420) at zend_vm_execute.h:200
#3 0x0000000000851d80 in ZEND_DO_FCALL_SPEC_CONST_HANDLER
(execute_data=0x7fffffffc420) at zend_vm_execute.h:1729
#4 0x000000000084ab70 in execute (op_array=0xe24228) at
zend_vm_execute.h:92
#5 0x000000000084b31c in zend_do_fcall_common_helper_SPEC
(execute_data=0x7fffffffc9e0) at zend_vm_execute.h:234
#6 0x000000000084c035 in ZEND_DO_FCALL_BY_NAME_SPEC_HANDLER
(execute_data=0x7fffffffc9e0) at zend_vm_execute.h:322
#7 0x000000000084ab70 in execute (op_array=0xe24228) at
zend_vm_execute.h:92
#8 0x000000000084b31c in zend_do_fcall_common_helper_SPEC
(execute_data=0x7fffffffcd00) at zend_vm_execute.h:234
#9 0x000000000084c035 in ZEND_DO_FCALL_BY_NAME_SPEC_HANDLER
(execute_data=0x7fffffffcd00) at zend_vm_execute.h:322
#10 0x000000000084ab70 in execute (op_array=0xe1f428) at
zend_vm_execute.h:92
#11 0x0000000000820150 in zend_execute_scripts (type=8, retval=0x0,
file_count=3) at /usr/home/php/php-
5.2.8/Zend/zend.c:1134
#12 0x00000000007c031c in php_execute_script
(primary_file=0x7fffffffe640) at /usr/home/php/php-
5.2.8/main/main.c:2023
#13 0x00000000008acd0d in main (argc=2, argv=0x7fffffffe7d0) at
/usr/home/php/php-5.2.8/sapi/cli/php_cli.c:1133
Reproduce code:
---------------
<?php
$data = array (
'level0' => array(
'level1'
)
);
// If you uncomment the following a blank screen is outputted.
$flattened = Set::flatten($data);
var_dump($flattened);
class Set {
function flatten($data, $separator = '.') {
$result = array();
$path = null;
if (is_array($separator)) {
extract($separator, EXTR_OVERWRITE);
}
if (!is_null($path)) {
$path .= $separator;
}
foreach ($data as $key => $val) {
if (is_array($val)) {
$result += (array)Set::flatten($val, array(
'separator' => $separator,
'path' => $path . $key
));
} else {
$result[$path . $key] = $val;
}
}
return $result;
}
}
Expected result:
----------------
array(1) {
["level0.0"]=>
string(6) "level1"
}
Actual result:
--------------
Bus error: 10 (core dumped)
--
Edit bug report at http://bugs.php.net/?id=46873&edit=1
--
Try a CVS snapshot (PHP 5.2):
http://bugs.php.net/fix.php?id=46873&r=trysnapshot52
Try a CVS snapshot (PHP 5.3):
http://bugs.php.net/fix.php?id=46873&r=trysnapshot53
Try a CVS snapshot (PHP 6.0):
http://bugs.php.net/fix.php?id=46873&r=trysnapshot60
Fixed in CVS:
http://bugs.php.net/fix.php?id=46873&r=fixedcvs
Fixed in CVS and need be documented:
http://bugs.php.net/fix.php?id=46873&r=needdocs
Fixed in release:
http://bugs.php.net/fix.php?id=46873&r=alreadyfixed
Need backtrace:
http://bugs.php.net/fix.php?id=46873&r=needtrace
Need Reproduce Script:
http://bugs.php.net/fix.php?id=46873&r=needscript
Try newer version:
http://bugs.php.net/fix.php?id=46873&r=oldversion
Not developer issue:
http://bugs.php.net/fix.php?id=46873&r=support
Expected behavior:
http://bugs.php.net/fix.php?id=46873&r=notwrong
Not enough info:
http://bugs.php.net/fix.php?id=46873&r=notenoughinfo
Submitted twice:
http://bugs.php.net/fix.php?id=46873&r=submittedtwice
register_globals:
http://bugs.php.net/fix.php?id=46873&r=globals
PHP 4 support discontinued: http://bugs.php.net/fix.php?id=46873&r=php4
Daylight Savings: http://bugs.php.net/fix.php?id=46873&r=dst
IIS Stability:
http://bugs.php.net/fix.php?id=46873&r=isapi
Install GNU Sed:
http://bugs.php.net/fix.php?id=46873&r=gnused
Floating point limitations:
http://bugs.php.net/fix.php?id=46873&r=float
No Zend Extensions:
http://bugs.php.net/fix.php?id=46873&r=nozend
MySQL Configuration Error:
http://bugs.php.net/fix.php?id=46873&r=mysqlcfg