ID:               47870
 Updated by:       mbecc...@php.net
 Reported By:      mbecc...@php.net
 Status:           Open
 Bug Type:         Arrays related
 Operating System: FreeBSD 6.2
 PHP Version:      5.3CVS-2009-04-01 (CVS)
 New Comment:

mat...@phenom-ubuntu:~/OX-trunk/tests$ valgrind --tool=memcheck
--num-callers=30 --log-file=php.log /usr/local/bin/php run.php
--type=unit --level=file --layer=dal --folder=lib/OA/Dal/Maintenance
--file=Priority_getZoneImpressionForecasts.dal.test.php --format=text
--host=test Priority_getZoneImpressionForecasts.dal.test.php
Segmentation fault
mat...@phenom-ubuntu:~/OX-trunk/tests$ cat php.log
==11808== Memcheck, a memory error detector.
==11808== Copyright (C) 2002-2007, and GNU GPL'd, by Julian Seward et
al.
==11808== Using LibVEX rev 1854, a library for dynamic binary
translation.
==11808== Copyright (C) 2004-2007, and GNU GPL'd, by OpenWorks LLP.
==11808== Using valgrind-3.3.1-Debian, a dynamic binary instrumentation
framework.
==11808== Copyright (C) 2000-2007, and GNU GPL'd, by Julian Seward et
al.
==11808== For more details, rerun with: -v
==11808== 
==11808== My PID = 11808, parent PID = 10101.  Prog and args are:
==11808==    /usr/local/bin/php
==11808==    run.php
==11808==    --type=unit
==11808==    --level=file
==11808==    --layer=dal
==11808==    --folder=lib/OA/Dal/Maintenance
==11808==    --file=Priority_getZoneImpressionForecasts.dal.test.php
==11808==    --format=text
==11808==    --host=test
==11808==    Priority_getZoneImpressionForecasts.dal.test.php
==11808== 
==11808== Conditional jump or move depends on uninitialised value(s)
==11808==    at 0x7FF79D: _zval_ptr_dtor (zend_execute_API.c:430)
==11808==    by 0x824537: zend_hash_clean (zend_hash.c:552)
==11808==    by 0x849231: zend_leave_helper_SPEC
(zend_vm_execute.h:208)
==11808==    by 0x8DC019: ZEND_RETURN_SPEC_CV_HANDLER
(zend_vm_execute.h:22098)
==11808==    by 0x848774: execute (zend_vm_execute.h:104)
==11808==    by 0x814198: zend_execute_scripts (zend.c:1188)
==11808==    by 0x768884: php_execute_script (main.c:2157)
==11808==    by 0x9125CE: main (php_cli.c:1159)
==11808== 
==11808== Conditional jump or move depends on uninitialised value(s)
==11808==    at 0x7FF861: _zval_ptr_dtor (zend_execute_API.c:441)
==11808==    by 0x824537: zend_hash_clean (zend_hash.c:552)
==11808==    by 0x849231: zend_leave_helper_SPEC
(zend_vm_execute.h:208)
==11808==    by 0x8DC019: ZEND_RETURN_SPEC_CV_HANDLER
(zend_vm_execute.h:22098)
==11808==    by 0x848774: execute (zend_vm_execute.h:104)
==11808==    by 0x814198: zend_execute_scripts (zend.c:1188)
==11808==    by 0x768884: php_execute_script (main.c:2157)
==11808==    by 0x9125CE: main (php_cli.c:1159)
==11808== 
==11808== Conditional jump or move depends on uninitialised value(s)
==11808==    at 0x881939: zend_assign_to_variable (zend_execute.c:664)
==11808==    by 0x8FCC90: ZEND_ASSIGN_SPEC_CV_VAR_HANDLER
(zend_vm_execute.h:27359)
==11808==    by 0x848774: execute (zend_vm_execute.h:104)
==11808==    by 0x814198: zend_execute_scripts (zend.c:1188)
==11808==    by 0x768884: php_execute_script (main.c:2157)
==11808==    by 0x9125CE: main (php_cli.c:1159)
==11808== 
==11808== Conditional jump or move depends on uninitialised value(s)
==11808==    at 0x881991: zend_assign_to_variable (zend_execute.c:669)
==11808==    by 0x8FCC90: ZEND_ASSIGN_SPEC_CV_VAR_HANDLER
(zend_vm_execute.h:27359)
==11808==    by 0x848774: execute (zend_vm_execute.h:104)
==11808==    by 0x814198: zend_execute_scripts (zend.c:1188)
==11808==    by 0x768884: php_execute_script (main.c:2157)
==11808==    by 0x9125CE: main (php_cli.c:1159)
==11808== 
==11808== Conditional jump or move depends on uninitialised value(s)
==11808==    at 0x881A77: zend_assign_to_variable (zend_execute.c:684)
==11808==    by 0x8FCC90: ZEND_ASSIGN_SPEC_CV_VAR_HANDLER
(zend_vm_execute.h:27359)
==11808==    by 0x848774: execute (zend_vm_execute.h:104)
==11808==    by 0x814198: zend_execute_scripts (zend.c:1188)
==11808==    by 0x768884: php_execute_script (main.c:2157)
==11808==    by 0x9125CE: main (php_cli.c:1159)
==11808== 
==11808== Conditional jump or move depends on uninitialised value(s)
==11808==    at 0x881939: zend_assign_to_variable (zend_execute.c:664)
==11808==    by 0x8EF8A8: ZEND_ASSIGN_SPEC_CV_TMP_HANDLER
(zend_vm_execute.h:25711)
==11808==    by 0x848774: execute (zend_vm_execute.h:104)
==11808==    by 0x814198: zend_execute_scripts (zend.c:1188)
==11808==    by 0x768884: php_execute_script (main.c:2157)
==11808==    by 0x9125CE: main (php_cli.c:1159)
==11808== 
==11808== Conditional jump or move depends on uninitialised value(s)
==11808==    at 0x881991: zend_assign_to_variable (zend_execute.c:669)
==11808==    by 0x8EF8A8: ZEND_ASSIGN_SPEC_CV_TMP_HANDLER
(zend_vm_execute.h:25711)
==11808==    by 0x848774: execute (zend_vm_execute.h:104)
==11808==    by 0x814198: zend_execute_scripts (zend.c:1188)
==11808==    by 0x768884: php_execute_script (main.c:2157)
==11808==    by 0x9125CE: main (php_cli.c:1159)
==11808== 
==11808== Conditional jump or move depends on uninitialised value(s)
==11808==    at 0x881A77: zend_assign_to_variable (zend_execute.c:684)
==11808==    by 0x8EF8A8: ZEND_ASSIGN_SPEC_CV_TMP_HANDLER
(zend_vm_execute.h:25711)
==11808==    by 0x848774: execute (zend_vm_execute.h:104)
==11808==    by 0x814198: zend_execute_scripts (zend.c:1188)
==11808==    by 0x768884: php_execute_script (main.c:2157)
==11808==    by 0x9125CE: main (php_cli.c:1159)
==11808== 
==11808== Conditional jump or move depends on uninitialised value(s)
==11808==    at 0x881939: zend_assign_to_variable (zend_execute.c:664)
==11808==    by 0x8E6422: ZEND_ASSIGN_SPEC_CV_CONST_HANDLER
(zend_vm_execute.h:24065)
==11808==    by 0x848774: execute (zend_vm_execute.h:104)
==11808==    by 0x814198: zend_execute_scripts (zend.c:1188)
==11808==    by 0x768884: php_execute_script (main.c:2157)
==11808==    by 0x9125CE: main (php_cli.c:1159)
==11808== 
==11808== Conditional jump or move depends on uninitialised value(s)
==11808==    at 0x881991: zend_assign_to_variable (zend_execute.c:669)
==11808==    by 0x8E6422: ZEND_ASSIGN_SPEC_CV_CONST_HANDLER
(zend_vm_execute.h:24065)
==11808==    by 0x848774: execute (zend_vm_execute.h:104)
==11808==    by 0x814198: zend_execute_scripts (zend.c:1188)
==11808==    by 0x768884: php_execute_script (main.c:2157)
==11808==    by 0x9125CE: main (php_cli.c:1159)
==11808== 
==11808== Conditional jump or move depends on uninitialised value(s)
==11808==    at 0x881A77: zend_assign_to_variable (zend_execute.c:684)
==11808==    by 0x8E6422: ZEND_ASSIGN_SPEC_CV_CONST_HANDLER
(zend_vm_execute.h:24065)
==11808==    by 0x848774: execute (zend_vm_execute.h:104)
==11808==    by 0x814198: zend_execute_scripts (zend.c:1188)
==11808==    by 0x768884: php_execute_script (main.c:2157)
==11808==    by 0x9125CE: main (php_cli.c:1159)
==11808== 
==11808== Conditional jump or move depends on uninitialised value(s)
==11808==    at 0x7FF79D: _zval_ptr_dtor (zend_execute_API.c:430)
==11808==    by 0x845F0A: zend_assign_to_variable_reference
(zend_execute.c:410)
==11808==    by 0x8FD31A: ZEND_ASSIGN_REF_SPEC_CV_VAR_HANDLER
(zend_vm_execute.h:27405)
==11808==    by 0x848774: execute (zend_vm_execute.h:104)
==11808==    by 0x814198: zend_execute_scripts (zend.c:1188)
==11808==    by 0x768884: php_execute_script (main.c:2157)
==11808==    by 0x9125CE: main (php_cli.c:1159)
==11808== 
==11808== Conditional jump or move depends on uninitialised value(s)
==11808==    at 0x7FF861: _zval_ptr_dtor (zend_execute_API.c:441)
==11808==    by 0x845F0A: zend_assign_to_variable_reference
(zend_execute.c:410)
==11808==    by 0x8FD31A: ZEND_ASSIGN_REF_SPEC_CV_VAR_HANDLER
(zend_vm_execute.h:27405)
==11808==    by 0x848774: execute (zend_vm_execute.h:104)
==11808==    by 0x814198: zend_execute_scripts (zend.c:1188)
==11808==    by 0x768884: php_execute_script (main.c:2157)
==11808==    by 0x9125CE: main (php_cli.c:1159)
==11808== 
==11808== Conditional jump or move depends on uninitialised value(s)
==11808==    at 0x7FF893: _zval_ptr_dtor (zend_gc.h:182)
==11808==    by 0x845F0A: zend_assign_to_variable_reference
(zend_execute.c:410)
==11808==    by 0x8FD31A: ZEND_ASSIGN_REF_SPEC_CV_VAR_HANDLER
(zend_vm_execute.h:27405)
==11808==    by 0x848774: execute (zend_vm_execute.h:104)
==11808==    by 0x814198: zend_execute_scripts (zend.c:1188)
==11808==    by 0x768884: php_execute_script (main.c:2157)
==11808==    by 0x9125CE: main (php_cli.c:1159)
==11808== 
==11808== Conditional jump or move depends on uninitialised value(s)
==11808==    at 0x7FF89F: _zval_ptr_dtor (zend_gc.h:182)
==11808==    by 0x845F0A: zend_assign_to_variable_reference
(zend_execute.c:410)
==11808==    by 0x8FD31A: ZEND_ASSIGN_REF_SPEC_CV_VAR_HANDLER
(zend_vm_execute.h:27405)
==11808==    by 0x848774: execute (zend_vm_execute.h:104)
==11808==    by 0x814198: zend_execute_scripts (zend.c:1188)
==11808==    by 0x768884: php_execute_script (main.c:2157)
==11808==    by 0x9125CE: main (php_cli.c:1159)
==11808== 
==11808== Conditional jump or move depends on uninitialised value(s)
==11808==    at 0x8818D4: zend_assign_to_variable (zend_execute.c:657)
==11808==    by 0x8FCC90: ZEND_ASSIGN_SPEC_CV_VAR_HANDLER
(zend_vm_execute.h:27359)
==11808==    by 0x848774: execute (zend_vm_execute.h:104)
==11808==    by 0x814198: zend_execute_scripts (zend.c:1188)
==11808==    by 0x768884: php_execute_script (main.c:2157)
==11808==    by 0x9125CE: main (php_cli.c:1159)
==11808== 
==11808== Use of uninitialised value of size 8
==11808==    at 0x881933: zend_assign_to_variable (zend_execute.c:664)
==11808==    by 0x8FCC90: ZEND_ASSIGN_SPEC_CV_VAR_HANDLER
(zend_vm_execute.h:27359)
==11808==    by 0x848774: execute (zend_vm_execute.h:104)
==11808==    by 0x814198: zend_execute_scripts (zend.c:1188)
==11808==    by 0x768884: php_execute_script (main.c:2157)
==11808==    by 0x9125CE: main (php_cli.c:1159)
==11808== 
==11808== Process terminating with default action of signal 11
(SIGSEGV)
==11808==  Bad permissions for mapped region at address 0x8000015
==11808==    at 0x881933: zend_assign_to_variable (zend_execute.c:664)
==11808==    by 0x8FCC90: ZEND_ASSIGN_SPEC_CV_VAR_HANDLER
(zend_vm_execute.h:27359)
==11808==    by 0x848774: execute (zend_vm_execute.h:104)
==11808==    by 0x814198: zend_execute_scripts (zend.c:1188)
==11808==    by 0x768884: php_execute_script (main.c:2157)
==11808==    by 0x9125CE: main (php_cli.c:1159)
==11808== 
==11808== ERROR SUMMARY: 42 errors from 17 contexts (suppressed: 18
from 2)
==11808== malloc/free: in use at exit: 29,165,534 bytes in 170,630
blocks.
==11808== malloc/free: 1,826,083 allocs, 1,655,453 frees, 157,087,187
bytes allocated.
==11808== For counts of detected errors, rerun with: -v
==11808== searching for pointers to 170,630 not-freed blocks.
==11808== checked 22,615,176 bytes.
==11808== 
==11808== LEAK SUMMARY:
==11808==    definitely lost: 388 bytes in 14 blocks.
==11808==      possibly lost: 0 bytes in 0 blocks.
==11808==    still reachable: 29,165,146 bytes in 170,616 blocks.
==11808==         suppressed: 0 bytes in 0 blocks.
==11808== Rerun with --leak-check=full to see details of leaked
memory.



Previous Comments:
------------------------------------------------------------------------

[2009-04-01 23:20:38] mbecc...@php.net

Description:
------------
Again, another bug happening in a unit test of OpenX. The problem
always happens in the same test at the same point. What happens is that
a simple array() call is returning NULL on my FreeBSD system. The same
test generates a segmentation fault when run on our Linux based
continuous integration system.

Unfortunately I can't create a self-contained test case, but I can
provide access to the system or more data.

I will also attach a backtrace of the core dump (which might even not
be happening at the same place as the FreeBSD failure).

Reproduce code:
---------------
$ids = array();
echo 'On FreeBSD: ';
var_dump($ids);

Expected result:
----------------
On FreeBSD: Array ()

Actual result:
--------------
On FreeBSD: NULL

Backtrace (Linux):

Program terminated with signal 11, Segmentation fault.
(gdb) bt full
#0  ZEND_ASSIGN_SPEC_CV_VAR_HANDLER (execute_data=0x2aaaaecf02d8) at
/usr/local/src/php-5.3.0RC1/Zend/zend_execute.c:664
        opline = (zend_op *) 0x12eb418
        free_op2 = {var = 0x273c0d0}
        value = (zval *) 0x1
        variable_ptr_ptr = (zval **) 0x2a0e848
#1  0x00000000007242fb in execute (op_array=0x10fdf40) at
/usr/local/src/php-5.3.0RC1/Zend/zend_vm_execute.h:104
        ret = <value optimized out>
        execute_data = (zend_execute_data *) 0x2aaaaecf02d8
        nested = 1 '\001'
        original_in_execution = 0 '\0'
#2  0x0000000000701306 in zend_execute_scripts (type=8, retval=0x0,
file_count=3) at /usr/local/src/php-5.3.0RC1/Zend/zend.c:1188
        files = {{gp_offset = 40, fp_offset = 73, overflow_arg_area =
0x7fffbdf97f10, reg_save_area = 0x7fffbdf97e20}}
        i = 1
        file_handle = (zend_file_handle *) 0x7fffbdf9a3e0
        orig_op_array = (zend_op_array *) 0x0
        orig_retval_ptr_ptr = (zval **) 0x0
#3  0x00000000006ae155 in php_execute_script
(primary_file=0x7fffbdf9a3e0) at
/usr/local/src/php-5.3.0RC1/main/main.c:2157
        __orig_bailout = (jmp_buf *) 0x7fffbdf9a1c0
        __bailout = {{__jmpbuf = {15364672, 903771196811129754, 1, 0,
0, 0, 903771196811177402, 903720367174677233}, __mask_was_saved = 0,
__saved_mask = {__val = {48, 7, 15372768, 9416, 216135044429,
        17634384, 229440404087961, 48, 7403025, 15235744, 0,
206158430215, 140736380641392, 17634352, 17634352, 140736380641392}}}}
        prepend_file_p = (zend_file_handle *) 0x0
        append_file_p = (zend_file_handle *) 0x8
        prepend_file = {type = ZEND_HANDLE_FILENAME, filename = 0x0,
opened_path = 0x0, handle = {fd = 0, fp = 0x0, stream = {handle = 0x0,
isatty = 0, mmap = {len = 0, pos = 0, map = 0x0, buf = 0x0,
        old_handle = 0x0, old_closer = 0}, reader = 0, fsizer = 0,
closer = 0}}, free_filename = 0 '\0'}
        append_file = {type = ZEND_HANDLE_FILENAME, filename = 0x0,
opened_path = 0x0, handle = {fd = 0, fp = 0x0, stream = {handle = 0x0,
isatty = 0, mmap = {len = 0, pos = 0, map = 0x0, buf = 0x0,
        old_handle = 0x0, old_closer = 0}, reader = 0, fsizer = 0,
closer = 0}}, free_filename = 0 '\0'}
        old_cwd = 0x7fffbdf97f20 ""
        retval = 0
#4  0x000000000078bcee in main (argc=10, argv=0x7fffbdf9a658) at
/usr/local/src/php-5.3.0RC1/sapi/cli/php_cli.c:1159
        __bailout = {{__jmpbuf = {216132590528, 903720367176127146, 0,
140736380642896, 110, 0, 903771196811129834, 903720367173477278},
__mask_was_saved = 0, __saved_mask = {__val = {140736380642608,
        140736380642416, 57, 112, 15369344, 15369328, 216135048496,
216138037600, 81, 140736380641952, 216135037715, 47, 96, 50,
216130423719, 15369344}}}}
        exit_status = 0
        c = <value optimized out>
        file_handle = {type = ZEND_HANDLE_MAPPED, filename =
0x7fffbdf9a935 "run.php", opened_path = 0x0, handle = {fd = 17477016, fp
= 0x10aad98, stream = {handle = 0x10aad98, isatty = 0, mmap = {
        len = 5351, pos = 0, map = 0x2aaaaed69000, buf = 0x2aaaaed69000
"", old_handle = 0x10d10b0, old_closer = 0x715dd0
<zend_stream_stdio_closer>}, reader = 0x716390
<zend_stream_stdio_reader>,
      fsizer = 0x7162d0 <zend_stream_stdio_fsizer>, closer = 0x716320
<zend_stream_mmap_closer>}}, free_filename = 0 '\0'}
        behavior = 1
        reflection_what = 0x0
        orig_optind = 1
        orig_optarg = 0x0
        arg_free = 0x7fffbdf9a935 "run.php"
        arg_excp = <value optimized out>
        script_file = 0x7fffbdf9a935 "run.php"
        interactive = 0
        module_started = 1
        request_started = 1
        lineno = 1
        exec_direct = 0x0
        exec_run = 0x0
        exec_begin = 0x0
        exec_end = 0x0
        param_error = <value optimized out>
        hide_argv = 0
        ini_entries_len = <value optimized out>



------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=47870&edit=1

Reply via email to